SCAとは?
重要なポイント オープンソースのコンポーネントは、アプリケーションにリスクをもたらします。 このリスクは、プログラミングの見落としや悪意のあるコード、オープンソースのパッケージが依存する他のパッケージから発生します。 ソフトウェア構成分析(SCA)ツールは、アプリケーションに含まれるオープンソースパッケージを検査し、潜在的なリスクを特定します。 バイナリスキャンは、アプリケーションに存在するファイルを検査し、依存関係を特定します。 マニフェストスキャンは、依存関係を識別するためにビルドファイルを検査します。この方法は通常、バイナリスキャンよりも精度が低くなります。 SCAツールを使用すると、自動検出とポリシー適用によって大規模なリスク管理が可能となります。 オープンソースコンポーネントと危険性 近頃、ソフトウェアをゼロから構築することは滅多にありません。開発チームは、サードパーティやオープンソースのコンポーネントを利用し、車輪の再発明をせずにコードを出荷し、より速く革新的な製品を開発しています。このようにオープンソースソフトウェアに依存することで、アプリケーションにおけるファーストパーティコード、つまり開発チームが書いたコードの量は劇的に変化しています。米Sonatype社が発表した「State of the Software Supply Chain Report」によると、アプリケーションのコードの90%はオープンソースソフトウェアであることが一般的だそうです。これらのコンポーネントは依存関係と呼ばれ、それぞれの依存関係はセキュリティの脆弱性、ライセンスの問題、または品質の問題といった形で潜在的なリスクを引き起こします。 多くの依存関係は、他のオープンソースコンポーネントに依存しています。つまり推移的な依存関係であるため、本来のリスクの原因を特定することが困難になっています。このようなサードパーティコンポーネントをアプリケーションで使用することにより、組織は、自分たちのチームが書いていないコードに対する責任を負うことになります。オープンソースソフトウェアによるプロジェクトへのリスクは、ソフトウェア・コンポジション解析(SCA)によって管理および予防することができます。 ソフトウェアコンポジション解析とは? ソフトウェアコンポジション解析(SCA)とは、アプリケーションを構成する特定のオープンソースソフトウェアコンポーネントと、それらのコンポーネントに関連する脆弱性を発見するプロセスです。 つまり、SCAとは、プロジェクトに含まれるすべてのコンポーネントを調べ、それらのコンポーネントから潜在的なリスクを判断することです。ソフトウェアコンポジション解析は、アプリケーションの脆弱性を発見し、特定するためのツールを用いて行われます。これらのツールは自動化することができ、ソフトウェア開発ライフサイクル(SDLC)全体にわたってコンポーネントを監視することができます。 SCAツールはどのように機能するのか?…
