急速に注目集める「SBOM」、Microsoftが生成ツールをOSS化 その機能とは?:幅広いソフトウェアリポジトリに簡単に統合できる
Microsoftはソフトウェア部品表(SBOM)生成ツールをオープンソースとして公開した。ソフトウェアのサプライチェーンを管理でき、セキュリティ向上にも役立つ。
Microsoftは2022年7月12日(米国時間)、SBOM(Software Bill of Materials:ソフトウェア部品表)生成ツール「sbom-tool」をオープンソースとして公開した。
SBOMはソフトウェアを構成する全てのコンポーネントのリストのこと。ソフトウェアサプライチェーンにおける透明性や、依存関係のトレーサビリティー(追跡可能性)を確保するための有効な手段として、世界的に普及が進んでいる。例えば、2021年の米国大統領令「国家のサイバーセキュリティの向上」においても、SBOMは重要な要件として挙げられている。
Microsoftによると、今回のSBOM生成ツールは汎用(はんよう)的で、業務に広く利用されてきた実績がある。WindowsやLinux、macOSなどのプラットフォームで動作し、SPDX(Software Package Data Exchange)形式でSBOMを生成する。SPDXはSBOM情報を伝達するための国際オープン標準(ISO/IEC JTC1標準)に準拠している。
今回のツールはさまざまなパッケージ管理システムなどと簡単に統合して、これらの管理システムを自動検出できる。こうした自動検出機能は今後も拡充されていく予定だ。
対応するのは以下のシステム。
Node.jsのパッケージ管理システム「NPM」や.NETのパッケージマネジャー「NuGet」、Pythonのパッケージリポジトリ「PyPI」、Objective-Cライブラリ管理ツール「CocoaPods」、Java用プロジェクト管理ツール「Apache Maven」、Googleの「Golang」、Rust用のレジストリ「Rust Crates」、Rubyのパッケージ管理システム「RubyGems」、コンテナ内のLinuxパッケージ、多言語対応の自動ビルドツール「Gradle」、ライブラリの依存関係の管理ツール「Apache Ivy」、GitHubパブリックリポジトリなど。
Microsoftが公開したツールで生成されるSBOMは、SPDX仕様に基づく4つの主要なセクションを含んでいる。
・(1)ドキュメント作成情報セクション
SBOMドキュメントに関する一般的な情報。例えば、ソフトウェア名やSPDXライセンス、SPDXバージョン、ドキュメント作成者、作成日時などだ。
・(2)ファイルセクション
ソフトウェアを構成するファイルのリスト。各ファイルは内容のハッシュ値(SHA-1、SHA-256)などのプロパティを持つ。
・(3)パッケージセクション
ソフトウェアのビルド時に使用したパッケージのリスト。各パッケージは名前やバージョン、提供元、ハッシュ値(SHA-1、SHA-256)、パッケージURL(purl)ソフトウェア識別子などのプロパティを持つ。
・(4)関係セクション
ファイルやパッケージなど、SBOMのさまざまな要素間の関係を示すリスト。
MicrosoftのSBOM生成ツールは、完全な依存関係ツリーを取得するために、他のSBOMドキュメントを参照できる。これは、SBOMドキュメントに対する依存関係の参照を取り込む上で、つまり、先行ビルドから得られたSBOMドキュメントを、後続のビルドでのSBOMドキュメントの生成に利用する上で重要な機能だ。このような情報はドキュメント生成情報セクションに記録が残る。
今回のSBOM生成ツールのオープンソース化は、コミュニティー内でのコラボレーションとイノベーションを促進する重要なステップであり、これにより、より多くの組織がSBOMを生成できるようになり、その開発にも貢献できるようになると、Microsoftは述べている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 米国では既に標準化の流れ、日本企業も対応を迫られる「SBOM」とは
「SBOM」が大きな注目を浴びている。そもそもSBOMとは何なのだろうか。なぜ米国は大統領令でこれを取り上げたのか。日本企業は対応する必要があるのか。どう対応すればいいか。ここでは、OSSのサプライチェーン管理に関する連載の3回目として、SBOMを解説する。 - 「Kubernetes」の脆弱性をSBOMで特定、Googleが詳細な手法を公開
GoogleがSBOMの活用事例を公開した。オープンソースツールを使って、「Kubernetes」のSBOMを「Open Source Vulnerabilities」データベースと照合し、Kubernetesの構成要素に含まれる脆弱性を特定したプロセスを紹介した。 - セキュリティを高める「SBOM」、なぜ利用が進んでいるのか
The Linux Foundationはソフトウェアの再利用に関する課題について調査したレポート「The State of Software Bill of Materials(SBOM) and Cybersecurity Readiness」(ソフトウェア部品表《SBOM》とサイバーセキュリティへの対応状況)を発表した。SBOMは最近のアプリケーションのおよそ90%がオープンソースソフトウェアを利用しているという状況に沿った解決策だ。