以前本ブログでもGitHubの新機能による作成を紹介させて頂いたSBOM(Software Bill of Materials)ですが、今度は我が日本の経済産業省が7月28日「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を発表しました。SBOMは2021年にアメリカのバイデン大統領が署名した大統領令で言及されて以降話題になっていましたが、これを機に日本でも話題に上る事が増えると予想されます。そこで今回は、この手引きをまとめる形でSBOMについて紹介していこうと思います。

SBOMとはソフトウェアやそれらの依存関係も含めたリストの呼び名で、「ソフトウェア部品表」とも呼びます。ソフトウェアが複雑化しOSS(オープンソースソフトウェア)の活用が一般化している昨今ではソフトウェアの脆弱性管理が重要かつ工数を必要としてきており、脅威を防ぎ脆弱性管理をより容易にする為にソフトウェアの構成要素をリスト化したSBOMが注目を集めています。またSBOMは必ずしもソフトウェアに限られたものではなく、ITシステム全体も対象としています。

既にSBOMの効果は衆目の一致するところで、経済産業省が医療機器分野で実証実験を行ったところなんと手動と比べて脆弱性管理の工数を70%も減らす事に成功したとの結果が報告されています。加えてソフトウェアに含まれる構成要素の確認が容易になることで、脆弱性の早期発見や見逃し防止、さらにはライセンス問題の回避にも寄与するとの結果が出ています。特に医療機器分野では非常にSBOMが注目されており、IMDRF(国際医療機器規制当局フォーラム)が公表したガイダンスでも言及されている事から導入する企業が増えています。

もちろんSBOMを導入さえすれば万々歳という物ではなく、SBOMの導入自体に初期コスト(費用、作業その他あらゆる意味で)がかかることは間違いありません。まず対象とするソフトウェアやITシステムを絞り込み、それらの動作環境や構成図などをまとめる必要があります。また実際のソフトウェアに対してSBOMを作成する場合、規模の問題で手動では非常に手間がかかります。更に脆弱性の管理も手動では難しい為、SBOMの作成やSBOMに記述されている構成要素の脆弱性管理を支援するツールが必要になるでしょう。有償無償問わず多くのツールが存在しますが、現状基本的に高額な有償ツールの導入費用、対応しているSBOMのフォーマット(SPDX、CycloneDX、SWIDタグという3つのフォーマットが広く知られています)やファイル形式、作成しているソフトウェアの言語に対応しているか、有償ツールと無償ツールの機能面やサポートの差、導入や習熟にかかる時間などの差を考えて自企業やサプライチェーンに合ったツールを選択する必要があります。またツールが常に完璧なSBOMを作成できる訳ではなく、見逃しや誤検出が発生する可能性もある為作成されたSBOMの確認も必要です。

しかし導入時にこそ工数がかかりますが、今後多くの企業でSBOMが採用されていくことは殆ど確実です。またソフトウェアやITシステムが増加するほど・規模が複雑化するほどSBOM作成に手間がかかる事も間違いないので、なるべく迅速にSBOMの採用についての議論を行った方が良いでしょう。皆様も上記の点を理解した上で、是非SBOMの導入を検討してみてください。