ソフトウェア・コンポジション解析

ソフトウェア・コンポジション解析とは

ソフトウェア・コンポジション解析(SCA)は、コードベース内のオープンソース・ソフトウェアを識別する自動化されたプロセスです。この解析は、セキュリティ、ライセンス・コンプライアンス、コード品質を評価するために実行されます。

企業はオープンソースのライセンスの制限と義務を意識する必要がありますが、その義務の追跡を手動で行うことは骨の折れる作業であり、コードやそれに伴う脆弱性が見落とされがちです。自動化ソリューションとして開発されたSCAは、この初期のユースケースから、コードのセキュリティと品質を解析できるように拡張されました。

最近のDevOpsまたはDevSecOps環境では、SCAによって「シフトレフト」パラダイムが活気付きました。SCAを早期段階から継続的に行うことにより、開発チームとセキュリティ・チームはセキュリティと品質を損なうことなく生産性を向上させることができます。

SCAのしくみ

SCAツールはパッケージ・マネージャー、マニフェスト・ファイル、ソースコード、バイナリ・ファイル、コンテナ・イメージなどを検査します。特定されたオープンソースを基に部品表(BOM)が作成され、米国脆弱性データベース(NVD)を含むさまざまなデータベースと比較されます。

これらのデータベースには、既知の脆弱性や一般的な脆弱性に関する情報が保持されています。NVDは米国政府の脆弱性リポジトリです。シノプシスの内部脆弱性データベースであるBlack Duck® KnowledgeBaseは、オープンソースのプロジェクト、ライセンス、セキュリティ情報に関する業界で最も包括的なデータベースです。

SCAツールは、他のデータベース(通常は商用)とBOMを比較して、コードに関連付けられたライセンスを検出し、コード全体の品質(バージョン管理、貢献履歴など)を解析することもできます。BOMとデータベースを比較することで、セキュリティ・チームは重要なセキュリティおよび法的脆弱性を特定し、迅速に対処して修正することができます。

SCAが重要な理由

SCAの真価はセキュリティ、スピード、信頼性です。オープンソース・コードの手動追跡では、もはや十分ではありません。オープンソースの膨大な量に対応しきれないからです。クラウド・ネイティブ・アプリケーションの普及やアプリケーションの複雑化が進む中、堅牢で信頼性の高いSCAツールが不可欠です。

DevOps手法の採用により開発速度が急激に短縮される状況にあって、組織は開発スピードを維持できるセキュリティ・ソリューションを必要としています。自動化されたSCAツールがそれを実現します。

SCAの利点

オープンソース・コードの自動解析は、開発とセキュリティの両面でさまざまな利点をもたらします。

  • コードベースとアプリケーション内のオープンソースを完全に可視化
  • セキュリティ・リスクの全体像を提示
  • コンプライアンス・リスクの全体像を提示
  • セキュリティとコンプライアンスをソフトウェア開発ライフサイクル(SDLC)に組み込んで効率化
アプリケーション内部のセキュリティ上の問題をスキャンして検出するソフトウェア・コンポジション解析ツール | シノプシス

シノプシスの支援方法

シノプシスのBlack Duck SCAは、アプリケーションやコンテナに含まれるオープン・ソースの使用によって生じるセキュリティ、ライセンス・コンプライアンス、コード品質のリスク管理を行います。Black Duckは、SCAの分野で業界をリードする製品として評価されています。Black Duckを利用することにより、サードパーティーのコードに対する優れた可視性を実現し、ソフトウェア・サプライチェーンおよびアプリケーション・ライフサイクル全体を通じてサードパーティー・コードを管理できます。

主な機能:

  • マルチファクター・スキャン:依存関係、バイナリ、スニペット、シグネチャのスキャンにより、Black Duckは市場で唯一、多面的なスキャン手法を提供し、依存関係を対象とする競合他社の単一製品では特定できないオープンソースを特定することができます。
  • Black Duck KnowledgeBase:Black Duck独自のKnowledgeBaseは、業界で最も包括的なオープンソース、ライセンス、セキュリティ情報のリポジトリであり、NVDなどの無料フィードで見つかる標準的な情報をはるかに凌駕しています。シノプシスのCybersecurity Research Center(CyRC)の専門家によって管理されているBlack Duck KnowledgeBaseは、2,650件以上の独自のオープンソースライセンス、132,000件の独自の脆弱性情報、および390万件以上のオープンソース・プロジェクトを網羅しています。
  • Black Duck Security Advisories:これらの勧告は、NVDより最大3週間早く、収集され、優先順位付けされたセキュリティ通知を提供します。Black DuckはNVDに記載されていない何千もの排他的な脆弱性についてセキュリティ体制の包括的なスナップショットを提供します。CyRCの専門家によって収集・整理されたBlack Duck Security Advisoriesは、セキュリティ情報の信頼できる情報源です。タイムリーで詳細な説明、重大度スコアリング、高度な修正ガイダンスにより、正確で実践的な情報を提供します。独自の優先順位付けにより、Black Duck Security Advisoriesは最大限の深度とパーソナライゼーション機能を提供します。
  • ライセンスの識別:Black Duckは、2,650を超えるオープンソース・ライセンスを追跡することにより、高額の訴訟に発展する可能性があるライセンス違反や重要な知的財産の侵害を防ぐことが可能です。
  • ポリシーの設定:Black Duckではポリシー設定をきめ細かくカスタマイズできるため、セキュリティ・アクティビティを効率化できます。
  • 摩擦のない統合:Black Duckは、既存のSDLCとCI/CDツールチェーンにシームレスに統合することで、摩擦を軽減して開発速度の維持をサポートします。
  • ユースケース:Black Duckはセキュリティチームに役立つだけではありません。DevOpsエンジニア、開発、法務の各チームは、貴重なデータと情報を使用して、組織全体のセキュリティ、コード品質、法的リスクの体制を強化できます。