「氷山の一角」という言葉は、ソフトウェアの脆弱性にも当てはまります。 ソフトウェア開発チームには、氷山の先端部、つまり自分たちが開発したソースコードはよく見えています。 ところが海面下に隠れた、ソフトウェア製品の大部分は見えていません。完全に可視化できるのは、開発チーム内で作成したコードだけです。 一般的なソフトウェア・ビルドには、開発チームが管理するソースコードだけでなく、外部のライブラリやオープンソース・プロジェクト、サードパーティ・ベンダーから提供されたソースコードやオブジェクトも含まれています。ソフトウェア製品開発チームはその多くを正確に把握できていません。
今日の製品は、ソフトウェアの重要度が高くなっているため、ソフトウェアの構成を把握することがこれまで以上に重要になっています。EBOMやMBOMでは、ソフトウェアは単一のコンポーネントとして表現されることが多く、ソフトウェアの構成までは確認できません。ソフトウェア部品表(SBOM)は、ソフトウェアのビルドを構成するすべてのコンポーネントと、ソフトウェアを構築する環境も定義します。ソフトウェア製品を構成するコンポーネントを特定してリスト化したSBOMを使えば、各コンポーネントの重要なメタデータやコンポーネント間の関係も確認できます。
脆弱性のリスクを防ぐには、ソフトウェアの構成要素にすぐにアクセスできるようにすることが重要です。公開されている脆弱性データベースとSBOMを常時比較することにより、ソフトウェア製品に潜む脅威/脆弱性を特定できます。ほぼすべての業界で、ソフトウェア製品の脅威/脆弱性を特定して対応する能力が不可欠となっています。
SBOMの生成は、アプリケーション・ライフサイクル管理(ALM)領域の必須プロセスとして管理される、継続的統合/継続的展開(CI/CD)パイプラインに組み込まれています。ALMプロセスは、ライフサイクル全体を包括的に追跡します。
ソフトウェアの脅威/脆弱性を管理するには、そのリスクを特定して軽減するための要件を定義する必要があります。リスク管理の要件から、SBOMを作成するメタデータ要素へと直接たどれます。このトレーサビリティに、脆弱性データベースとの比較検証を組み合わせることで、ソフトウェアの脅威/脆弱性を管理するクローズド・ループ・ソリューションが実現します。