2021年12月、世界を驚愕させたゼロデイ脆弱性が公開されました。JAVA基盤のロギングライブラリであるLog4で発見されたLog4Shellゼロデイ脆弱性です。CVE-2021-44228で、CVSSの深刻度スコアは10点満点中10点です。
この脆弱性は、最新バージョンにアップデートすることで防御できます。そのためには、log4j使用の有無、どのバージョンをどこで使用しているのかを把握する必要がありますが、これを正確に把握している企業は、ごく一部にすぎませんでした。このイシューは、ソフトウェア部品表(SBOM、Software Bill Of Materials)の必要性を浮き彫りにしました。
SBOMは、最終顧客が使用するソフトウェア、サービス完成のために活用されるすべてのソフトウェア情報が盛り込まれた明細書です。ユーザーが直接インストールして使用する伝統的な概念のパッケージソフトウェア、OS、他のソフトウェア開発のために活用されるフレームワークやライブラリも含まれます。供給されるソフトウェアの構成一覧を表示して、供給者とユーザーがこれを意思決定に活用できる環境を構築することを目標としています。
バイデン政権は、誰でもSW開発段階で使用されるオープンソース、ライセンス、セキュリティ脆弱性を確認できるよう、連邦政府と事業契約を結んだ企業に対して、SBOMの提出を義務化しました。韓国の公共機関や国防企業では、SBOM作成のためのTFチームを構成したり、独自にSBOM標準を制定するなどの取り組みが行われています。また、政府、公共機関、企業が独自のSW供給ネットワークセキュリティ管理力量を確保できるよう、科学技術情報通信部(韓国インターネット振興院)、国家情報院、デジタルプラットフォーム政府委員会が合同で、『SW供給ネットワークセキュリティガイドライン』を発表しました。
米国のNTIA(National Telecommunications and Information Administration)で発表されたSBOMの最低条件は、以下のとおりです。
SBOM作成のために統合構造を定義して、最終ユーザーまたは顧客と共有するための標準として、公式的に認められた2つのSBOM標準をご紹介します。これは、SBOM作成のための具体的かつ統合された構造を定義し、ソフトウェア供給ネットワークの顧客およびユーザーとの共有方法も決定します。
2011年にオープンソースライセンス管理ツールとして開発された、Linux財団が運営するプロジェクトです。現在は、共有・収集のためのソフトウェアパッケージ関連情報に対して、共通データ交換フォーマットを提供しています。ISO認証を取得した唯一のSBOM標準で、ISOが定義した標準化および品質保証条件をすべて満たしています。intel、Microsoft、SONYなどの主な企業がこの標準を採択して使用しています。
この標準は、文書作成情報、パッケージ情報、ファイル情報、スニペット情報、ライセンス情報、関係性情報および注釈などのフィールドとデータで構成されます。
また、XML、RDF、XLSX、JSON、YAMLなどさまざまなファイル形式を使用でき、人が読める情報で、機械も解析できます。分析を自動化できるよう、複数の言語に対応しています。しかし、非常に包括的で多くの情報を受容できるため、初期設定が複雑なのがデメリットです。
SPDXよりもさらにセキュリティ・規定遵守に焦点を当てて設計されました。サイバーセキュリティのためのソフトウェア供給ネットワーク構成要素の分析を容易に行えるSBOMです。ソフトウェアを構成するコンポーネントインベントリ情報、外部サービスとの関係を開示します。ソフトウェアのセキュリティ強化のために設立されたOWASPのオープンソースプロジェクトです。ソフトウェアのセキュリティに注目してつくられたため、相対的に軽くて明確です。
この標準には、ソフトウェア構成要素、バージョン、ライセンス情報、セキュリティ脆弱性、依存性が含まれています。
CDXを使用すると、セキュリティ脆弱性管理とライセンス追跡を容易に行えます。例えば、特定のオープンソースライブラリで新たなセキュリティ脆弱性が発見された場合、このライブラリを含むすべてのソフトウェアのプロジェクトを識別することができます。こうすることで、その脆弱性にさらされたすべてのアプリケーションを即時に把握し、アップデートなど必要なセキュリティ措置を講じることができます。また、すべての構成要素のライセンス情報が提供されるため、特定のライセンス条件を遵守しているかを確認することができます。必要な情報のみを提供するため、ユーザーは簡単に理解して使用することができます。しかし、ISO標準化を取得できていないため、SPDXと比べて提供する情報の範囲が限られている点がデメリットです。
SBOM標準にはメリットとデメリットが明らかに存在するため、特定のニーズに合わせて適した標準を選択することが重要です。技術成熟度、包括性、柔軟性、適用対象、軽量性などさまざまな基準で要求事項を明確に定義し、これに合った標準を選択する必要があります。悪意を持つ攻撃者が攻撃ベクトルをさらに素早く活発に悪用しているため、ソフトウェア供給ネットワークの透明性とセキュリティを管理するSBOMの必要性は日増しに高まっています。