ソフトウェア・サプライチェーン(英語:Software Supply Chain)は、ソフトウェアの成果物を開発、構築、公開するために使用されるコンポーネント、ライブラリ、ツール、プロセスで構成される。近年では、オープンソースソフトウェア(OSS)やソフトウェア開発キット(SDK)、商用ソフトウェア、クラウドサービス、API等、自社以外が開発した製品やITサービスをソフトウェア部品として調達し、組み込むことが増えており、ソフトウェアサプライチェーンも多層化・複雑化が進んでいる。ソフトウェア・サプライチェーンを適切に管理するための手法として、ソフトウェア部品表(英: Software Bill of Materials、略称:SBOM)を作成する方法がある。
ソフトウェア部品表(SBOM)は、ソフトウェアに含まれるすべてのコンポーネント、ライブラリ、モジュール、およびそれらの依存関係を網羅的にリスト化した一覧である。製造業におけるサプライチェーン・マネジメントにおいて、部品表(BOM)を用意するという概念を、ソフトウェア開発に適用したものである。アレルギーを引き起こす可能性のある食品を避けるためにラベルを参照するように、SBOMは、組織または個人に害を及ぼす可能性のあるソフトウェアの使用を避けるのに役立てることができる。
SBOMは、ソフトウェア製品の構築者(製造者)と購入者(顧客)の両方にとって有用である。SBOMにより、構築者は、それらのコンポーネントが最新であることを確認し、新しい脆弱性に迅速に対応することができる。購入者は、SBOMを利用して脆弱性 や利用許諾の分析を行うことができ、どちらも製品のリスク評価に使える。
多くの企業が一般的な部品表管理にスプレッドシートを使用しているが、スプレッドシートに書き込まれたSBOMにはさらなるリスクと問題がある。SBOMは、他のオートメーションシステムの一部となり、他のアプリケーションから簡単に照会できるリポジトリにまとめて保存されると、より大きな価値を得る。自動化されたSBOM処理のためのこのニーズは、Software Package Data Exchange (SPDX) オープンスタンダードにより処理される。
ソフトウェアのサプライチェーンを理解し、SBOMを入手し、これを用いて既知の脆弱性を分析することは、リスクマネージメントにおいて極めて重要である。
2014年のサイバー・サプライ・チェーン管理および透明性法 は、政府機関が新たに購入するすべての製品についてSBOMの取得を義務付けることを提案した米国の法律である。 また、「米国政府によって使用されているあらゆるソフトウェア、ファームウェア、製品」についてもSBOMの取得を義務付けるものであった。 最終的には通過しなかったが、この法律は政府に認識をもたらし、2017年のIoTサイバーセキュリティ改善法のような後の法律に拍車をかけた。
2021年5月12日の米国サイバーセキュリティ改善に関する大統領令は、NISTに対し、”ソフトウェアのサプライチェーンのセキュリティを強化する”ために、”購入者に各製品のソフトウェア部品表(SBOM)を提供する”など、いくつかのテーマについて「基準、手順、または基準を含む」ガイダンスを90日以内に発行するよう命じた。また、NTIA が60日以内に "SBOMの最小要素を公表する "ことも義務付けた。
NTIAの最小要素は2021年7月12日に公表され、"ソフトウェアのサプライチェーンにおける透明性を高めるためのSBOMの使用事例を説明するとともに、将来の進化のための選択肢を示している"。 最小要素は、データフィールド(各ソフトウェアコンポーネントに関するベースライン情報)、自動化サポート(機械および人間が読み取り可能な形式でSBOMを生成する能力)、およびプラクティスとプロセス(組織がSBOMを生成する方法とタイミング)の3つの大まかなカテゴリで構成されている。”自動化サポート”要件は、”自動生成”の必要性を規定しており、これは ソフトウェア構成分析 (SCA) ソリューションを使用することで可能となる。