検索
ニュース

急速に注目集める「SBOM」、Microsoftが生成ツールをOSS化 その機能とは?幅広いソフトウェアリポジトリに簡単に統合できる

Microsoftはソフトウェア部品表(SBOM)生成ツールをオープンソースとして公開した。ソフトウェアのサプライチェーンを管理でき、セキュリティ向上にも役立つ。

Share
Tweet
LINE
Hatena

 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を利用できる(提供:Microsoft)

 今回のSBOM生成ツールのオープンソース化は、コミュニティー内でのコラボレーションとイノベーションを促進する重要なステップであり、これにより、より多くの組織がSBOMを生成できるようになり、その開発にも貢献できるようになると、Microsoftは述べている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る