ソフトウェア構成分析 (SCA) とは何ですか?
最新のアプリケーションのほとんどは、サードパーティのコンポーネントと依存関係に依存して機能しています。 このオープンソースコードには利点がありますが、脆弱性、悪意のあるコード、その他のセキュリティリスクをアプリケーションにもたらす可能性もあります。 ソフトウェア・コンポジション解析(SCA)は、これらの外部コードを識別するための DevSecOps ツールです。 SCAは、オープンソース・コンポーネントの追跡、脆弱性の発見、ソフトウェア・ライセンスの管理に使用できます。
ソフトウェア・コンポジション解析ソリューションの仕組み
SCAソリューションは、未知のコードベースを検査し、使用されているオープンソースコンポーネント、その脆弱性、およびその他の情報を文書化するように設計されています。 これは、次の手順で実現できます。
- スキャニング: SCAツールは、コードベースをスキャンして、コードで使用されるライブラリと依存関係を特定することから始めます。 このスキャンに基づいて、ツールは、アプリケーションで使用されるすべてのオープンソースコードを一覧表示するソフトウェア部品表(SBOM)を生成できます。
- ドキュメンテーション: ソフトウェアのバージョン、ライセンス情報、およびアプリケーションによる使用状況はすべて貴重な情報です。 コードベース内のオープンソースコードを識別した後、SCAスキャナーはこのデータを記録します。
- 脆弱性の検出: 既知の脆弱性は、影響を受けるソフトウェアおよびバージョンとともに、共通脆弱性識別子 (CVE) として記録されます。 使用されているオープンソースライブラリとそのバージョン番号に関する知識があれば、SCAツールはアプリケーション内の既知の脆弱性を特定できます。
このプロセスの最後に、SCA ツールは、アプリケーションで使用されるすべてのオープンソース依存関係に関する情報を含むレポートを生成します。 この情報はセキュリティ担当者に報告される場合もあれば、 CI/CD パイプライン内の調査結果や統合レベルによっては、非推奨または安全でないコンポーネントを使用している場合、新しいコミットがコードベースに追加されるのをブロックする場合もあります。
SCAをCI/CDパイプラインに統合することで、開発者チームは セキュリティをシフトレフト し、悪用可能な脆弱性が本番システムに侵入するリスクを軽減できます。
重要である理由
サプライチェーン攻撃 は、アプリケーションセキュリティに対する脅威としてますます高まっています。 多くのアプリケーションは、脆弱なコードを含むオープンソースのコンポーネントに依存しています。 また、サイバー犯罪者は、アプリケーションのセキュリティを損なうために、ライブラリを開発したり、正当なライブラリに悪意のあるコードを挿入したりすることにも積極的に取り組んでいます。
SCAは、アプリケーションが依存するサードパーティーのコードを可視化します。 この可視性は、オープンソースやサードパーティのコードの使用から生じる可能性のある、継承された脆弱性やその他の問題を特定するために不可欠です。
ソフトウェア・コンポジション解析(SCA)のユースケース
SCAは、組織のアプリケーションが使用するオープンソースの依存関係を可視化します。 この可視性は、脆弱性とライセンス管理に不可欠です。
脆弱性管理
オープンソースライブラリには、悪用可能な脆弱性や悪意のあるコードが含まれている可能性があります。 アプリケーションがこれらのライブラリをインポートすると、悪用に対して脆弱になったり、悪意のあるコードが実行されたりする可能性があります。 多くの場合、企業は、使用するサードパーティコードの可視性を維持するのに苦労しています。 これは、1 つのオープンソース コンポーネントが 1 つ以上の他のコンポーネントをインポートする間接的な依存関係に特に当てはまります。 SCAソリューションは、企業が必要とする可視性を獲得し、アプリケーションで使用されるライブラリのバージョンにCVEが存在するかどうかを迅速に判断するのに役立ちます。
ライセンス管理
サードパーティのコードを使用すると、特に潜在的なライセンス要件が多岐にわたるため、組織にライセンスの問題が生じる可能性があります。 極端な例では、著作権によって企業がコンポーネントを使用できなくなったり、ロイヤリティの支払いが必要になったりする場合があります。 一方、コピーレフトライセンスは、特定のコンポーネントを使用するコードも自由に利用可能でオープンソースでなければならないことを義務付けることができます。
アプリケーションで使用されるオープンソースコンポーネントを可視化できなければ、組織はライセンスルールについて何も知らず、法的な危険にさらされる可能性があります。 コードベース内で使用されているすべてのオープンソースコンポーネントに関するライセンス情報を収集することで、企業は潜在的なライセンスと法的問題を可視化できます。
SCAがサプライチェーン攻撃の防止にどのように役立つか
サイバー脅威アクターは、他のアプリケーションで使用されるオープンソースプロジェクトに脆弱性や悪意のあるコードを注入するサプライチェーン攻撃を実行するケースが増えています。 ライブラリをインポートするソフトウェアは、悪意のあるコードを実行したり、悪用される脆弱性を継承したりします。
SCAは、アプリケーションの依存関係の脆弱性を特定することで、サプライチェーン攻撃からの保護に役立ちます。 さらに、アプリケーションで使用される依存関係に関する洞察は、これらの攻撃のためにサイバー犯罪者によって作成または侵害された既知の不正なライブラリを特定するのに役立ちます。
ソフトウェア・コンポジション解析(SCA)の課題
SCAは、組織のソフトウェアサプライチェーンのセキュリティリスクを管理するために不可欠です。 しかし、SCAは次のような課題に直面しています。
- 間接的な依存関係: アプリケーションの依存関係には、独自の依存関係がある場合があります。 これらのチェーンは数レベルの深さまで入り込む可能性があり、完全な可視性を実現することは困難です。
- 依存関係の識別: プログラミング言語やエコシステムが異なれば、依存関係の処理方法も異なります。 SCAソリューションは、オープンソースコードをアプリケーションにインポートする方法をすべて理解する必要があります。
- 脆弱性管理: 毎日新しい脆弱性が発見されており、脆弱性管理のソースが常に最新であるとは限りません。 その結果、SCAは脆弱性を見逃す可能性があり、開発チームはバックログに追いつくのに苦労する可能性があります。
Supply Chain Security with Check Point Spectral
アプリケーションがオープンソースの依存関係の複雑なネットワークに依存するようになると、これらの依存関係の監視と管理はより複雑になります。 SCAの主な利点は、開発チームがSBOMを迅速に生成し、この情報を使用してソフトウェアの潜在的な脆弱性とライセンスの問題を特定できることです。
Check Point Check Point Spectral is a security platform designed to address the main security challenges that developers face. Among other capabilities, Spectral can perform SCA to help identify and remediate vulnerabilities in an organization’s applications. To learn more about Spectral and how it can streamline your organization’s application security practices, sign up for a free code scan today.
