はじめに

近年の社会全体におけるDX化の進展に伴い、ソフトウェアの脆弱性が我々の生活に直接影響を及ぼす事件が急増しています。2021年には、広く利用されているシステムのログを記録するためのソフトウェアパーツであるOSSに脆弱性が発見されたことをきっかけに、世界中のソフトウェアベンダや利用企業が大混乱に陥った事件がありました。

ソフトウェアの開発において、効率性を重視するためにOSS(オープンソースソフトウェア)の使用や、サードパーティコンポーネントの使用をする場合がありますが、これらのコンポーネントには脆弱性やセキュリティ対策に問題があることがあります。また、この問題の対応を難しくしているのが、ソフトウェアサプライチェーンの大規模化・複雑化です。

昨今のソフトウェア開発は分業化の普及に加え、オープンソースソフトウェア(OSS)や既存のソフトウェア部品を活用する動きが強まっています。その結果、大規模なサプライチェーンにより開発される製品やサービスは、その中身や構成がブラックボックス化してしまい、内在するセキュリティー脆弱性やライセンス違反リスク、EOL(End of Life、サポート終了)や地政学リスクなどを詳しく把握することが困難になってきています。

こうしたOSS活用に伴うセキュリティリスクへの対応として、現在SBOMが注目されています。SBOMは、ソフトウェアに含まれるコンポーネントの情報をデータベース化して管理し、組織を越えて相互運用できるように標準化するツールです。SBOMによりソフトウェアの構成要素と依存関係を把握できれば、脆弱性のあるコンポーネントがどこにあり、その影響範囲がどの程度かを可視化できます。OSSおよび関連するソフトウェアの脆弱性を適切かつ効率的に管理することができるようになれば、対応の早期化や運用の効率化を実現できます。

SBOM注目の背景

SBOMは、2021年5月に米国大統領令において要求されたことを皮切りに、世界的に普及が進みつつあります。欧州サイバーレジリエンス法の他、2022年3月に公開されたクレジットカード業界の情報セキュリティー基準「PCI DSS(Payment Card Industry Data Security Standard)」v4.0 などでも、セキュリティー対策における1つの手段として活用が推奨されています。

以下は、直近の世界の動きを時系列にまとめたものです。

2021 年 5 月   バイデン米大統領、「Improving the Nation’s Cybersecurity( 国家のサイバーセキュリティの改善に関する大統領令 )」に署名

2021 年 7 月   NTIA「The Minimum Elements For a Software Bill of Materials(SBOM の最小構成 )」を公開

2022 年 1 月   OSS のサプライチェーン対策のための ホワイトハウスサミット  を開催 (The Linux Foundation、OpenSSF、GAFA などを招集 )

2022 年 2 月   OpenSSF はサプライチェーン問題を改善し安全性を高めるための「Alpha-Omega Project」の開始を発表 (サイバートラストでは 2021 年 7 月より OpenSSF プロジェクトに参加 )

2023 年 4 月   米 CISA 「Software Bill of Materials (SBOM) Sharing Lifecycle Report」 「Types of Software Bill of Material (SBOM) Documents」を公開

日本では経産省が2023年7月に、「ソフトウェア管理に向けたSBOMの導入に関する手引きVer1.0」を公開しました。SBOMの作成・共有・運用・管理に関する課題を解決するため、SBOMに関する基本的な情報の提要や企業における効率的・効果的なSBOM導入を支援するためのプロセスの提案、ポイントなどをまとめたものです。

以下は、直近の日本の動きを時系列にまとめたものです。

2019 年 9 月   経済産業省「 サイバー・フィジカル・セキュリティ確保に向けたソフトウェア管理手法等検討タスクフォース 」( ソフトウェアタスクフォース ) の設立

2022 年 8 月   Open Source Security Summit Japan を開催

2023 年 1 月   経済産業省米国国土安全保障省とのサイバーセキュリティに関する協力覚書に署名

・運用面での協力  

・制御システムセキュリティの向上

・インド太平洋地域等の能力向上に関する協力

・サイバーセキュリティ関連規制及びスキームの調和のための対話促進 2023 年 7 月   経済産業省「 ソフトウェア管理に向けた SBOM(Software Bill of Materials)の導入に関する手引 」を公開

2023 年 7 月   経済産業省「 ソフトウェア管理に向けた SBOM(Software Bill of Materials)の導入に関する手引 」を公開

SBOMを利用する対象者

SBOM を利用する場面について以下にまとめます。

NTIA が公開している Roles and Benefits for SBOM Across the Supply Chain を元に作成しています。

1.ソフトウェアを提供するひと

図は、A 社がエンドユーザーにアプリケーション Z を提供する時の例です。

このとき、A 社が「ソフトウェアを提供する人」に当たります。ここでの SBOM は、A 社が作成したアプリケーション Z の SBOM を指します。SBOM には、アプリケーション Z に含まれるコンポーネントとして、B 社のコンポーネント X、OSS コミュニティ C のコンポーネント Y の情報が記載されます。

アプリケーション Z の SBOM は、主に以下の目的のために A 社によって利用されます。

・脆弱性リスクの把握

・ライセンスマネジメント

・プロジェクト情報の把握

・関連プロジェクトの依存関係、EOL

・顧客へ SBOM を提供

2.ソフトウェアを選定するひと

図は、エンドユーザーが、A 社のアプリケーション Z を選定する時の例です。

このとき、エンドユーザーが「ソフトウェアを選定する人」に当たります。SBOM は、A 社が作成したアプリケーション Z の SBOM を指します。

アプリケーション Z の SBOM は、主に以下の目的でエンドユーザーによって利用されます。

・調達先の把握

・ポリシーや規制の遵守

・導入前の調査

 〇セキュリティの分析

 ・EOL

 ・脆弱性

 〇ライセンスの調査

・ライセンスマネジメント

3.ソフトウェアを運用するひと

図は、エンドユーザーが、A 社のアプリケーション Z を運用する時の例です。

このとき、エンドユーザーが「ソフトウェアを運用する人」に当たります。SBOM は、A 社が作成したアプリケーション Z の SBOM を指します。

アプリケーション Z の SBOM は、主に以下の目的でエンドユーザーによって利用されます。

主に以下の目的で利用されます。

・調達先の把握

・システムのセキュリティ評価

・ソフトウェアの EOL の管理

・ソフトウェア管理の効率化

・影響を最小限に抑えたシステムへの対策

・ライセンスマネジメント

※A 社が SBOM を提供していない場合、ソフトウェア解析ツール等を利用してエンドユーザー自身が SBOM を生成する場合もありますが、精度は SBOM 生成ツールによって様々です。

SBOM の構成要素(最小要素)

SBOM は通常、特定のシステムで使用されるソフトウェアのさまざまなコンポーネント、依存関係、および属性に関する詳細情報で構成されます。2021 年 5 月の米国大統領令「Executive Order on Improving the Nation’s Cybersecurity」を受け、NTIA(National Telecommunications and Information Administration:米国商務省電気通信情報局)は、SBOM を提供する際の基本的な技術とプラクティスを確立するため、SBOM を構成する最小要素を公開しました。現在普及されている SBOM の多くは、この SBOM の最小要素が基本となって作成されます。

SBOM の最小要素は、NTIA が公開した「The Minimum Elements For a Software Bill of Materials」で以下の 3 点と定義されています。

・データフィールド

・自動化サポート

・プラクティスとプロセス

「データフィールド」では、各コンポーネントの情報を明確化することが求められます。「自動化サポート」は、SBOM の自動生成や可読性などをサポートすることが求められ、「プラクティスとプロセス」では、SBOM の要求、生成、利用に関する運用方法が定義されていることが求められます。

以下のデータフィールドが SBOM を構成する最小のデータとなります。

SBOM の代表的なフォーマット

SBOM の代表的なフォーマットには SPDX(System Package Data eXchange) と CycloneDX の二つが挙げられます。以下でこれらを解説します。

・SPDX

SPDX は Software Package Data Exchange の略です。これは、ソフトウェア データ (特にライセンス情報) の収集と共有のための共通形式として機能することを目的として、Linux Foundation によって作成されたオープンソース プロジェクトです。これは主に、開発チームや企業によるオープンソースおよび独自コードの管理におけるコンプライアンスと透明性を確保することを目的として設計されました。SPDX 標準は、もともと 2011 年にオープンソースのライセンス管理ツールとして開発されました。この形式は長年にわたって改良され、重要なセキュリティ関連情報を取得する形式の能力を向上させ、他の標準 SBOM 形式との相互運用性を高める新しいフィールドが追加されました。

2021 年 XNUMX 月、国際標準化機構は SPDX 形式を SBOM 出版の国際的に認められた標準として認めました。

現在バージョン 2.2.2 となっている SPDX 仕様のオリジナル バージョンは、ソフトウェア ライセンス ポリシーへの準拠を容易にするために開発されました。後続のバージョンでは、ソフトウェアの脆弱性の特定など、幅広い使用例に役立つ機能がいくつか追加されています。

SPDX の最新バージョンは、NTIA の「ソフトウェア部品表の最小要素」標準に沿って設計されました。ソフトウェアのコンポーネント、著作権、ライセンス、セキュリティ参照がリストされています。

・CycloneDX

CycloneDX は、OWASP が管理するプロジェクトであり、規格化はされていませんが、多くのユーザーが存在するフォーマットです。ソフトウェアのセキュリティ環境の現状、セキュアなソフトウェア開発を促進する技術やプロセスに関する情報共有と啓発を目的として活動しています。CycloneDXは、そのOWASPコミュニティのコアワーキンググループにて管理と更新がされ続けています。

2017年に開発されたCycloneDXは2011年にリリースされたSPDXと比較すると新しいです。そのため、現代におけるソフトウェア開発ライフサイクル(SDLC)における懸念点を考慮して開発されていると捉えることもできます。

CycloneDXは、米国NTIA(National Telecommunications and Information Administration)によって定義されている最小要件を満たしています。また、自動処理により効率化が図られることから、自動処理可能なフォーマットを使用することが推奨されており、CycloneDXはそれに該当します。 最新のバージョン  ではソフトウェアサプライチェーンセキュリティの強化のため、暗号化に関する情報を含む Cryptographic Bill of Materials(CBOM) や、ハードウェア情報を含む Hardware Bill of Materials(HBOM)、SaaS の情報を含む SaaS Bill of Materials(SaaSBOM) などのさまざまなプラットフォームに対応しています。

SBOM に対応した関連サービス

・SBOM 導入支援サービス

支援サービスメニューとは、SBOM 導入プロセスにおける環境構築・体制整備、SBOM 作成・共有、SBOM 運用・管理を支援するメニューです。

 【こんな方にオススメ】

 ・最終製品メーカー様にてサプライチェーンの可視化のため SBOM 導入の検討が必要になった

 ・部品メーカーから調達するソフトウェアのSBOMを効率的に管理したい(目的にマッチした SBOM の採用、フォーマットの統一など)

 ・最終製品に搭載するソフトウェアの構成管理情報を持っているが、これを SBOM 化して脆弱性管理に使いたい

 ・EO14028 「国家のサイバーセキュリティの向上に関する大統領令」対策

 ・CRA「欧州サイバーレジリエンス法」対策

・SBOM対応の脆弱性管理ツールMIRACLE Vul Hammer

MIRACLE Vul Hammer は、システムを自動で調査し、内在する脆弱性を可視化する脆弱性管理ツールです。脆弱性の検知から対応完了まで、必要なすべての情報を一元管理できます。日々発見される新しい脆弱性への対応に追われるシステム管理者を支援する機能を提供し、システムの運用コストの削減を実現します。

・IoT・組込み Linux 向けSBOM 管理&脆弱性通知・対策サービス

Timesys Vigiles は、SBOM をベースにしたお客様のソフトウェアプラットフォームに合わせセキュリティ通知と対策情報通知を行うサービスです。自動化されたセキュリティ脆弱性監視と対策パッチ通知により、お客さまのIoT・組込み機器のソフトウェアセキュリティの維持にかかる時間とコストを大幅に削減します。

まとめ

SBOMとは、ソフトウェアを構成する要素や依存関係などを可視化したものを指します。ソフトウェアの脆弱性管理が重要視されるなか、有効な手段として注目が集まっています。SBOMの導入によって、ソフトウェアの脆弱性管理やライセンス管理を効率的に行えるようになるため、企業の開発・生産性の向上も期待できるでしょう。

従来、ソフトウェア導入時にはわからなかった製品の脆弱性やリスクを把握する際、SBOMは組織にとって強力な武器となります。本記事をきっかけに「SBOM」の理解と、自組織への必要性を振り返るきっかけとなれば幸いです。

メニュー