2024 年 08 月 06 日
SBOM(Software Bill of Materials)とは(後編) ~SBOMの基礎知識から詳しく解説~
本記事では、 前編 に引き続き、SBOM とは何かを解説します。後編では、SBOM はどのように構成されるのか、2024 年 8 月現在どのような規制・ガイドラインがあるのかを紹介します。
過去の MIRACLE LINUX Users Meetup!!「今から始める SBOM 入門」でも SBOM の解説動画が公開されているのでこちらも参考にしてください。
SBOM はどのように構成されるのか
2021 年 5 月の米国大統領令「Executive Order on Improving the Nation's Cybersecurity」を受け、NTIA(National Telecommunications and Information Administration:米国商務省電気通信情報局)は、SBOM を提供する際の基本的な技術とプラクティスを確立するため、SBOM を構成する最小要素を公開しました。現在普及されている SBOM の多くは、この SBOM の最小要素が基本となって作成されます。本章では、SBOM の定義と SBOM のフォーマットについて解説します。
SBOM の最小要素
SBOM の最小要素は、NTIA が公開した「The Minimum Elements For a Software Bill of Materials」で以下の 3 点と定義されています。
- データフィールド
- 自動化サポート
- プラクティスとプロセス
「データフィールド」では、各コンポーネントの情報を明確化することが求められます。「自動化サポート」は、SBOM の自動生成や可読性などをサポートすることが求められ、「プラクティスとプロセス」では、SBOM の要求、生成、利用に関する運用方法が定義されていることが求められます。
以下のデータフィールドが SBOM を構成する最小のデータとなります。
データフィールド | 説明 |
---|---|
Supplier Name ( サプライヤー名 ) |
コンポーネントの作成、定義、および識別を行うエンティティの名前 |
Component Name ( コンポーネント名 ) |
サプライヤーが定義したソフトウェアの単位に割り当てられた名前 |
Version of the Component ( コンポーネントのバージョン ) |
サプライヤーが、以前に特定されたバージョンからのソフトウェアの変更を指定するために使用する識別子 |
Other Unique Identifiers ( その他の一意な識別子 ) |
その他コンポーネントを識別するために使用される識別子、または関連するデータベースのルックアップキーとして機能する識別子 |
Dependency Relationship ( 依存関係 ) |
上流部品 X がソフトウェア Y に含まれるという関係を特徴づける |
Author of SBOM Data (SBOM 作成者 ) |
このコンポーネントの SBOM データを作成するエンティティの名前 |
Timestamp ( タイムスタンプ ) |
SBOM データ生成時のタイムスタンプ |
SBOM のフォーマット
SBOM の代表的なフォーマットには SPDX(System Package Data eXchange) と CycloneDX の二つが挙げられます。以下でこれらを解説します。
SPDX
SDPX は、The Linux Foundation 傘下のプロジェクトであり、ISO/IEC 5962:2021 で規格化されています。OSS のライセンス管理を目的として開発されたフォーマットであり、SPDX V2.3 では、OpenChain Project の日本コミュニティが提案し、貢献したライセンス管理に特化した SPDX Lite の仕様が公開されました。2024 年 8 月現在は、SPDX V3.0 が最新のバージョンとして公開されています。V3.0 では、セキュリティアシュアランスの観点から、ライセンス管理だけでなくセキュリティに関する情報の管理もできるフォーマットとなっています。
CycloneDX
CycloneDX は、OWASP が管理するプロジェクトであり、規格化はされていませんが、多くのユーザーが存在するフォーマットです。CycloneDX の特徴として、セキュリティや脆弱性管理を目的として作られた背景があります。2024 年 8 月現在は、CycloneDX V1.6 が最新のバージョンとして公開されています。 最新のバージョン ではソフトウェアサプライチェーンセキュリティの強化のため、暗号化に関する情報を含む Cryptographic Bill of Materials(CBOM) や、ハードウェア情報を含む Hardware Bill of Materials(HBOM)、SaaS の情報を含む SaaS Bill of Materials(SaaSBOM) などのさまざまなプラットフォームに対応しています。
SBOM は、NTIA が公開する SBOM の最小要素を基本として、SPDX や CycloneDX などのフォーマットで構成され、SBOM の利用用途に応じて SBOM に含まれるデータフィールドが追加されます。
SBOM に関連する規制やガイドライン
SBOM に関連する国内外の法律や規制を以下にまとめました。近年では、さまざまな業界で SBOM の活用が要件に含まれたり、ツールの一つとして参照されたりすることが増えてきました。以下は、文書の中で「SBOM」が言及されている規制・ガイドラインを掲載しています。
文書 | 説明 |
---|---|
Executive Order on Improving the Nation’s Cybersecurity ( 国家のサイバーセキュリティ向上に関する大統領令 14028 号 ) | 2021 年 5 月、米国大統領は連邦政府関連組織に対してソフトウェアのサプライチェーンセキュリティ強化のための対策(ガイドラインの策定や体制の強化)を求めました。4 章「Enhancing Software Supply Chain Security」の中で SBOM が言及されています。 |
Software Supply Chain Security Guidance | 2022 年 5 月、NIST は Executive Order 14028 を受け、ソフトウェアセキュリティの評価基準、開発者やサプライヤー自身のシステムに対するセキュリティプラクティスの評価基準、ツールや方法に関するガイダンスを提供しました。「Evolving Standards, Tools, and Recommended Practices」( 進化するスタンダード、ツール、推奨プラクティス ) の中で SBOM が言及されています。 |
NIST SP 800-161: Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations | 2022 年 5 月、NIST は Executive Order 14028 を受け、サプライチェーン全体のサイバーセキュリティリスクを管理(特定、評価、緩和)するためのガイダンスを提供しました。3.4.1 章「Foundational Practices」( 基礎的なプラクティス ) や APPENDIX の中で SBOM が言及されています。 |
NIST SP800-218: Secure Software Development Framework (SSDF) Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities | 2022 年 2 月、NIST は Executive Order 14028 を受け、サイバーセキュリティ向上のためのプラクティスを特定し、ソフトウェアサプライチェーンセキュリティを強化するためのフレームワークを提供しました。プラクティスにおけるタスクの例として SBOM が言及されています。 |
The Minimum Elements For a Software Bill of Materials (SBOM) | 2021 年 7 月、NTIA は Executive Order 14028 を受け SBOM の最小要素に関する文書を公開しました。 |
EU Cyber Cyber Resilience Act | 2023 年 11 月、欧州連合理事会(EU 理事会、または閣僚理事会)と欧州議会はデジタル製品のサイバーセキュリティ対応を義務づけるサイバーレジリエンス法案に関して暫定的な政治合意に達したと 発表 しました。「REGULATION OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL」( 欧州議会および欧州理事会規則 ) の中で SBOM の作成が必要であることが言及されています。 |
Principles and Practices for Medical Device Cybersecurity( 医療機器サイバーセキュリティの原則及び実践 ) | 2020 年 4 月、IMDRF は医療機器のサイバーセキュリティに関する国際整合を図るための一般原則とベストプラクティスを公開しました。5.5.2 章「顧客向けセキュリティ文書」の中で顧客向けセキュリティ文書については SBOM を含めることが望ましいことが言及されています。 |
Principles and Practices for Software Bill of Materials for Medical Device Cybersecurity( 医療機器サイバーセキュリティのためのソフトウェア部品表の原則及び実践 ) | 2023 年 4 月、IMDRF は「医療機器サイバーセキュリティの原則及び実践」の 5.5.2 章「顧客向けセキュリティ文書」に記載のソフトウェア部品表についての内容であり、SBOM の概要説明並びに SBOM の生成及び使用に対するベストプラクティスを公開しました。 |
Principles and Practices for the Cybersecurity of Legacy Medical Devices( レガシー医療機器のサイバーセキュリティの原則及び実践 ) | 2023 年 4 月、IMDRF は「医療機器サイバーセキュリティの原則及び実践」の 6.6 章「レガシー医療機器」についての内容であり、セキュリティの基本原則及び医療機器の製品ライフサイクル全体(TPLC)にわたるベストプラクティスを公開しました。4.3 章「共同のリスクマネジメント」や 7.1 章「コミュニケーション」の中で推奨事項として SBOM の活用が言及されています。 |
ソフトウェア管理に向けた SBOM(Software Bill of Materials)の導入に関する手引 | 2023 年 7 月、経済産業省はソフトウェアのセキュリティを確保するための管理手法の一つとしての SBOM の導入のためのメリットの解説や、活用のためのプラクティスを公開しました。 |
政府機関等のサイバーセキュリティ対策のための統一基準群 | 2023 年 7 月、内閣サイバーセキュリティセンターは、国の行政機関等のサイバーセキュリティに関する対策として、政府機関等の情報セキュリティのベースラインや、より高い水準の情報セキュリティを確保するための対策事項を規定しました。2024 年 7 月の改訂版では「4.3 機器等の調達」の中で場合によって調達基準の中に SBOM を含むことが言及されています。 |
政府情報システムにおけるセキュリティ・バイ・デザインガイドライン | 2024 年 1 月、デジタル庁は政府情報システムの開発や運用業務に従事する関係者に対して政府情報システムにおけるセキュリティ・バイ・デザインの解説を行うとともに、セキュリティ・バイ・デザインとしての実施内容、要求事項を示しました。4.2 章「セキュリティ・バイ・デザインの実施内容」の中で、ソフトウェアの構成管理の有用な手段として SBOM が言及されています。 |
まとめ
現在、さまざまな業界においてサプライチェーンの透明性が求められるようになってきました。これを解決するためのツールとして SBOM が普及しています。また、「SBOM」が言及されていないガイドラインでも、脆弱性管理や、ソフトウェアのインベントリ管理が必須の要件になっているガイドラインが多く存在し、SBOM の活用が期待されています。
今回紹介した「SPDX」「CycloneDX」などのフォーマットや、規制・ガイドラインの詳細については、今後の「OSS セキュリティ BLOG」で掘り下げてご紹介していきます!
サイバートラストは、2022 年に The Linux Foundation 傘下の OpenSSF へ参加し、OSS のサプライチェーンの改善に取り組んでおり、SBOM を活用するサービスや製品を提供しています。