昨今のソフトウェアサプライチェーンリスクの高まりから、ソフトウェアの構成管理と脆弱性管理が求められてきている中、その手段としてSBOM(Software Bill of Materials)に注目が集まっています。
では、SBOMとはどのようなものなのか、そのフォーマットについて解説していきます。
目次
・SBOMの基本情報
・主要なSBOMフォーマット
・SBOMフォーマットの採用状況
・各フォーマットの比較
・業界動向
SBOMの基本情報
SBOMはソフトウェアに含まれるOSSなどのコンポーネントを適切に管理するためのものです。その役割から、基本情報として以下のような情報を含みます。
ソフトウェア名 | ソフトウェアの名称 |
---|---|
バージョン情報 | ソフトウェアの特定のリリースやビルドを識別するためのバージョン番号 |
ライセンス情報 | ソフトウェアコンポーネントが使用するライセンスの種類 |
ベンダー名 | ソフトウェアの開発ベンダー |
サプライヤー情報 | ソフトウェアコンポーネントの提供元 |
依存関係 | ソフトウェアが依存する他のコンポーネントやライブラリ |
ハッシュ値 | ソフトウェアの完全性を保証するための数値 |
ビルドツールと環境 | ソフトウェアをビルドするために使用されたツールや環境に関する情報 |
脆弱性情報 | ソフトウェアコンポーネントに関連付けられる既知の脆弱性情報 |
主要なSBOMフォーマット
現在広く知られているSBOMのフォーマットとして、SPDX、CycloneDX、およびSWIDタグがあります。これらは米国大統領令に基づきNTIAが公開したSBOMの最小要素を示す資料の中で例示されていることも大きく影響しています。それぞれのフォーマットは独自の特徴と適用分野を持ち、利用者が目的に合わせて選択することができます。
SPDX (Software Package Data Exchange) エスピーディーエックス
SPDXはソフトウェアパッケージのコンポーネント、ライセンス、著作権などの情報を標準化するフォーマットです。
- 特徴: このフォーマットは、ライセンス情報の精確な記述に特化しており、オープンソースソフトウェアのコンプライアンスを管理するのに特に有効です。
- 適用分野: オープンソースプロジェクトやエンタープライズソフトウェアのライセンス管理に広く利用されています。
CycloneDX サイクロンディーエックス
CycloneDXは軽量なSBOMフォーマットで、セキュリティ脆弱性管理やコンポーネントのリスク評価に適しています。
- 特徴: XMLまたはJSON形式で表現され、脆弱性スキャン結果やセキュリティ関連のメタデータを含むことができます。
- 適用分野: セキュリティ重視の開発プロセスや、脆弱性管理プログラムにおいてよく使用されます。
SWIDタグ (Software Identification Tags)
SWIDタグはソフトウェア製品の一意性とそのライフサイクルに関する情報を記述するためのフォーマットです。
- 特徴: インストールされたソフトウェアのインベントリ作成に有用で、ソフトウェアのインストール、アップデート、削除を追跡するのに役立ちます。
- 適用分野: ソフトウェア資産管理(SAM)やライセンスコンプライアンスの確保に適しています。
SBOMフォーマットの採用状況
ここでは、SBOMの各フォーマットがどういった産業やコミュニティ内で利用されているかを見ていきます。
SPDX
- 産業界での採用状況: SPDXはオープンソースソフトウェアコミュニティにおいて広く採用されています。Linux Foundationの支援を受けており、ソフトウェアのライセンスコンプライアンスと著作権情報の管理に関するデファクトスタンダードと見なされています。
- 特に好まれる傾向: オープンソースプロジェクトや、ライセンスコンプライアンスの厳格な管理が求められるエンタープライズ環境で好まれます。また、ソフトウェアサプライチェーンの透明性を高める取り組みにも適しています。
CycloneDX
- 産業界での採用状況: CycloneDXは、特にセキュリティに重点を置く組織やプロジェクトにおいて、その軽量性と柔軟性のために選ばれています。OWASP(Open Web Application Security Project)によってサポートされていることも、その信頼性と採用を後押ししています。
- 特に好まれる傾向: サイバーセキュリティの専門家や、脆弱性管理とセキュリティ評価を重視する開発チームに好まれます。また、DevSecOpsのプラクティスを採用する組織での利用が増えています。
SWIDタグ
- 産業界での採用状況: SWIDタグは、特にソフトウェア資産管理(SAM)とライセンスコンプライアンスの観点から、IT運用と管理にフォーカスした企業で採用されています。ISO/IEC 19770-2:2015として国際標準化されていることも、採用を後押ししています。
- 特に好まれる傾向: IT資産管理者や、ソフトウェアのインベントリとライセンスの監視を厳格に行う必要がある組織で好まれます。また、コンプライアンスと監査の要件が厳しい業界での採用が見られます。
組織は、自身の特定のニーズ、産業界の慣習、および利用可能なリソースを考慮して、最適なSBOMフォーマットを選択する必要があります。たとえば、オープンソースソフトウェアの広範な利用がある場合、SPDXが適しているかもしれません。セキュリティ脆弱性とその対策が主要な関心事であれば、CycloneDXが有効な選択肢になります。一方、ソフトウェア資産管理とライセンスコンプライアンスが最優先事項であれば、SWIDタグの採用が推奨されます。
各フォーマットの比較
ここではSPDX、CycloneDX、およびSWIDタグといった主要なフォーマットの各々の利点と欠点を掘り下げて見ていきます。
強み | 弱み | |
---|---|---|
SPDX | 詳細なライセンス情報の管理Linux Foundationの支援による広範なサポートと採用実績 | セキュリティ関連の情報が限定的大規模プロジェクトでの管理の複雑さ |
CycloneDX | 詳細なセキュリティ情報の管理軽量さ他ツールやシステムとの連携しやすさ | ライセンス情報が少ない採用実績 |
SWID | ソフトウェアの資産管理国際標準規格準拠(ISO/IEC) | セキュリティ関連の情報が限定的要件が複雑で導入障壁が高い |
業界動向
SBOMフォーマットの進化
SPDX、CycloneDX、およびSWIDタグなどの既存フォーマットは、業界のフィードバックと新たなセキュリティ要件に基づいて継続的に更新されています。SPDXの最新バージョンは2.3ですが、現在3.0のRC版仕様が公開されています。CycloneDXの最新バージョンは1.5となっており、1.6へ向けた検討が進んでいます。
一方で、業界主導でフォーマットの活用も進んでいます。トヨタ自動車はOpenChain Project Japan Work Groupの中でSPDX Liteと呼ばれるフォーマットを活用しており、サプライチェーンの各社にSPDX LiteでのSBOM提出を求めています。このように、運用や要件に合わせて新たなSBOMフォーマットが今後も登場してくる可能性があります。
このように、どのフォーマットがデファクトになるのか、現時点では不透明な状況です。グローバルの動向や国内の規制等で事態が急変する可能性もありますが、今は自分達に合ったフォーマットを利用しつつ、他のフォーマットも押さえておくというスタンスが良いのではないかと思います。ツールを利用すれば、作成コストも抑えられますので、ツール選定においてどのフォーマットに対応しているかは重要なポイントとなってきます。
お問い合わせ・関連リンク
弊社、サイエンスパーク株式会社は1994年の創業より、ソフトウェア・ハードウェアのセキュリティ対策をおよそ30年に渡り続けてまいりました。
各種製造・開発におけるセキュリティリスクの診断から対策導入・運用までのお手伝いが可能ですので、ご相談だけでもお気軽にお問い合わせくださいませ。