ソフトウェア・コンポジション解析(SCA)は、コードベース内のオープンソース・ソフトウェアを識別する自動化されたプロセスです。この解析は、セキュリティ、ライセンス・コンプライアンス、コード品質を評価するために実行されます。
企業はオープンソースのライセンスの制限と義務を意識する必要がありますが、その義務の追跡を手動で行うことは骨の折れる作業であり、コードやそれに伴う脆弱性が見落とされがちです。自動化ソリューションとして開発されたSCAは、この初期のユースケースから、コードのセキュリティと品質を解析できるように拡張されました。
最近のDevOpsまたはDevSecOps環境では、SCAによって「シフトレフト」パラダイムが活気付きました。SCAを早期段階から継続的に行うことにより、開発チームとセキュリティ・チームはセキュリティと品質を損なうことなく生産性を向上させることができます。
SCAツールはパッケージ・マネージャー、マニフェスト・ファイル、ソースコード、バイナリ・ファイル、コンテナ・イメージなどを検査します。特定されたオープンソースを基に部品表(BOM)が作成され、米国脆弱性データベース(NVD)を含むさまざまなデータベースと比較されます。
これらのデータベースには、既知の脆弱性や一般的な脆弱性に関する情報が保持されています。NVDは米国政府の脆弱性リポジトリです。シノプシスの内部脆弱性データベースであるBlack Duck® KnowledgeBaseは、オープンソースのプロジェクト、ライセンス、セキュリティ情報に関する業界で最も包括的なデータベースです。
SCAツールは、他のデータベース(通常は商用)とBOMを比較して、コードに関連付けられたライセンスを検出し、コード全体の品質(バージョン管理、貢献履歴など)を解析することもできます。BOMとデータベースを比較することで、セキュリティ・チームは重要なセキュリティおよび法的脆弱性を特定し、迅速に対処して修正することができます
SCAの真価はセキュリティ、スピード、信頼性です。オープンソース・コードの手動追跡では、もはや十分ではありません。オープンソースの膨大な量に対応しきれないからです。クラウド・ネイティブ・アプリケーションの普及やアプリケーションの複雑化が進む中、堅牢で信頼性の高いSCAツールが不可欠です。
DevOps手法の採用により開発速度が急激に短縮される状況にあって、組織は開発スピードを維持できるセキュリティ・ソリューションを必要としています。自動化されたSCAツールがそれを実現します。
SCAツールはパッケージ・マネージャー、マニフェスト・ファイル、ソースコード、バイナリ・ファイル、コンテナ・イメージなどを検査します。特定されたオープンソースを基に部品表(BOM)が作成され、米国脆弱性データベース(NVD)を含むさまざまなデータベースと比較されます。
これらのデータベースには、既知の脆弱性や一般的な脆弱性に関する情報が保持されています。NVDは米国政府の脆弱性リポジトリです。シノプシスの内部脆弱性データベースであるBlack Duck® KnowledgeBaseは、オープンソースのプロジェクト、ライセンス、セキュリティ情報に関する業界で最も包括的なデータベースです。
SCAツールは、他のデータベース(通常は商用)とBOMを比較して、コードに関連付けられたライセンスを検出し、コード全体の品質(バージョン管理、貢献履歴など)を解析することもできます。BOMとデータベースを比較することで、セキュリティ・チームは重要なセキュリティおよび法的脆弱性を特定し、迅速に対処して修正することができます
オープンソース・コードの自動解析は、開発とセキュリティの両面でさまざまな利点をもたらします。
シノプシスのBlack Duck® SCAは、アプリケーションやコンテナに含まれるオープン・ソースの使用によって生じるセキュリティ、ライセンス・コンプライアンス、コード品質のリスク管理を行います。Black Duckは、SCAの分野で業界をリードする製品として評価されています。Black Duckは、サードパーティの依存関係を可視化し、ソフトウェア・サプライチェーンのリスクを管理します。
主な機能: