SBOMとは?導入メリットやSPDX・CycloneDXの違いをわかりやすく解説
ソフトウェア部品表(以下、SBOM)とは、製品に含まれるソフトウェアを構成するコンポーネントやそれぞれの依存関係、ライセンス情報などを一覧化したものです。SBOMは、ソフトウェアの透明性を高め、脆弱性管理やライセンスコンプライアンスを効率化するための重要なツールです。
現在のソフトウェアは、様々なオープンソースソフトウェア(以下、OSS)やライブラリ、パッケージが複雑に組み合わされて開発されています。バグや脆弱性の管理も複雑化し、困難になっているのが現状です。これにより、脆弱性を効率的に検出できるSBOMツールが注目を集めています。
本記事では、SBOMが注目される背景や導入のメリット、SBOMツールを選ぶポイントをわかりやすくまとめました。後半ではSBOMツールを導入する流れも解説するので、ぜひ参考にしてください。
SBOMとは?
SBOM(Software Bill of Materials)とは、製品に含まれるソフトウェアを構成するコンポーネントや依存関係、ライセンス情報などを一覧化したものです。日本語で「ソフトウェア部品表」と呼ばれることもあります。
SBOMの主な利用用途は、OSSのライセンスや脆弱性の管理、ソフトウェアサプライチェーンのリスク管理などです。
SBOMが注目される背景
SBOMが注目される背景を解説します。
- ソフトウェアサプライチェーン攻撃の増加
- 2021年5月12日の「大統領令」
- 国内でのSBOM導入の手引の発行
それぞれ解説していきます。
ソフトウェアサプライチェーン攻撃の増加
昨今のビジネスでは、サービス化が加速しています。サービスの付加価値を高めるために欠かせないのが、ソフトウェアです。
とりわけ誰もが利用・改良できるソフトウェアのソースコード、OSS(オープンソースソフトウェア)が普及しています。ソフトウェアの開発が進み、利用者も増える一方で、ソフトウェアの脆弱性が発生する事例が相次ぎ、ソフトウェアサプライチェーン攻撃やセキュリティリスクも増大しています。
このような背景から、企業はセキュリティ対策の一環として、適切にソフトウェアの管理をすることが求められています。
とはいえ、ソフトウェアのコンポーネントや、ソフトウェアのセキュリティの状況をすべて把握することは困難です。
そこで、ソフトウェアを構成するコンポーネントや相互の依存関係、ライセンス情報などを一覧化できるSBOMが注目されるようになりました。加えて、SBOMは複雑化したサプライチェーン全体の構造や動きを可視化させるのにも役立っています。
2021年5月12日の「大統領令」
2021年5月の大統領令により、SBOMは米国連邦政府の取り組みとなりました。
この大統領令に従い、同年7月12日に商務省国家電気通信情報局(NTIA)がSBOMの最小要素を定めた「The Minimum Elements For a Software Bill of Materials(最小要素)」を公開しています。
SBOMの最小要素に含まれるのは、データフィールド、自動化への対応、慣行およびプロセスの3つのカテゴリです。各コンポーネントを一覧化した部品表に含まれる情報のほか、SBOMの利用者が取り組むべき事項も定められています。
SBOMの最小要素
データフィールド |
SBOMには、各コンポーネントに関する詳細情報を含めることが重要です。これには、サプライヤー名、コンポーネント名、バージョン情報、一意の識別子、依存関係などが含まれます。また、SBOMデータ自体のタイムスタンプも記録しておくことで、情報の更新状況を追跡できます。これらの情報を網羅的に記載することで、ソフトウェアの構成要素を正確に把握できます。 |
---|---|
オートメーションサポート |
SBOMの生成と管理をスムーズに行うには、自動化のサポートが不可欠です。SPDX、CycloneDX、SWIDタグなどの標準的なSBOMフォーマットを採用することで、機械読み取り可能な形式でデータを保存し、ソフトウェアエコシステム全体でシームレスに共有できます。自動生成ツールを活用することで、手動での作業を減らし、効率化を図ることができます。 |
プラクティスとプロセス |
SBOMを組織に適切に組み込むには、明確なプラクティスとプロセスを確立する必要があります。これには、SBOMの生成頻度、情報の詳細度、フォーマット、配信方法、アクセス制御、ミスの修正プロセスなどが含まれます。これらのプラクティスとプロセスを定義し、文書化することで、SBOMの管理を体系化し、一貫性を保つことができます。 |
出典:The Minimum Elements For a Software Bill of Materials(SBOM)│米国商務省電気通信情報局(National Telecommunications and Information Administration)に基づきアシュアードが作成
国内でのSBOM導入の手引の発行
日本国内では、2023年7月に経済産業省が「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を策定しました。
この手引書には、SBOMを導入するメリットをはじめ、導入する際に認識・実施すべきポイントが、ソフトウェアサプライヤー向けにまとめられています。
なお、「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引ver2.0(案)」に対する意見公募が実施されました(2024年4月26日〜5月27日)。
今回の改訂は、ver1.0で課題となった点を解決することが目的です。ソフトウェアサプライチェーンの複雑化に対応すべく「脆弱性管理プロセスの具体化」「SBOM対応モデル」「SBOM取引モデル」の改訂内容が盛り込まれました。
近々正式版がリリースされると見込まれます(2024年7月現在)。
SBOMの代表的なフォーマット
SBOMの2大フォーマットを紹介します。
SBOMには様々な形式がありますが、自社で使用する形式は統一することをおすすめします。共通のフォーマットを用いることで、ソフトウェアサプライチェーンによる相互運用性を高められるためです。
SBOMの中でも、広く使われているフォーマットにSPDXとCycloneDXがあります。ここでは、それぞれの特徴を解説します。
SPDX(Software Package Data Exchange)
SPDXは、Linux FoundationのSPDX Workgroupが提供しているフォーマットです。
スニペット、ファイル、パッケージ、コンテナ、OSディストリビューションなど、幅広いソフトウェア部品タイプをサポートしているのが特徴です。コンポーネントのライセンス情報を特定できる識別子のリストが用意されており、ライセンスや著作権情報の管理に向いています。
CycloneDX
CycloneDXは、Open Web Application Security Project(OWASP)Foundationが提供しているフォーマットです。軽量性と柔軟性が高く、特にセキュリティ対策を重視する企業やプロジェクトで広く利用されています。
対象のソフトウェアの情報はもちろん、ソフトウェアに含まれる既知の脆弱性や悪用可能性についても記述できるのが特徴です。
SWID タグ(Software Identification タグ)
Software Identificationタグは、米国立標準技術研究所が開発したタグです。SWIDタグ、またはSWIDと呼びます。ソフトウェア製品の各コンポーネントに付け、構成要素を識別するための標準化されたフォーマット(XLM形式)です。
SPDXやCycloneDXとはやや位置付けが異なり、インストールされたソフトウェアを追跡して、パッチ管理やライセンス管理を行うために使われます。
SBOMを導入するメリット3つ
ここからは、SBOMを導入するメリットを紹介します。SBOMの導入メリットは以下の3つです。
- セキュリティ強化に役立つ
- サプライチェーンのリスク軽減に繋がる
- ライセンス情報を可視化できる
それぞれのメリットを具体的に解説します。
1.セキュリティ強化に役立つ
1つ目のメリットは、セキュリティ強化に役立つことです。
SBOMは、ソフトウェアを構成するコンポーネントを一覧にしたものです。つまり、ソフトウェアコンポーネントの構成情報を整理し、可視化できるようになります。SBOMを導入することで、セキュリティリスクのある脆弱性や、悪影響を受けやすい古いソフトウェアバージョンを特定し、セキュリティ対策を講じやすくなります。
2.サプライチェーンのリスク軽減に繋がる
2つ目のメリットは、サプライチェーンのリスク軽減に繋がることです。
ソフトウェアサプライチェーンとは、ソフトウェアの開発や利用、配布、アップデートなどの一連の流れのことをいいます。
サプライチェーンでは、複数のベンダやパートナーが関与することで、各コンポーネントが脆弱性を抱えているリスクがあります。
例えばソフトウェアを開発する際には、さまざまなオープンソースソフトウェア(OSS)が用いられます。そのため、サプライチェーンとしてより複雑になり、脆弱性の抱え込みのリスクも高まります。
SBOMの導入により、広範囲にわたるソフトウェアのコンポーネントを詳細に把握することが可能です。さらに潜在的なリスクを特定し対策をすることで、システム全体のリスク軽減ができるようになります。
3.ライセンス情報を可視化できる
3つ目のメリットは、ライセンス情報を可視化できることです。
SBOMには、各コンポーネントのライセンスに関わる情報が含まれているのが特徴です。ソフトウェア間での依存関係や法的リスクも把握できます。そのため、自社に影響のあるコンポーネントについて、ライセンス違反の可視化・チェックが網羅的にできるようになります。
SBOMツールを選ぶ4つのポイント
SBOMツールを選ぶ4つのポイントを解説します。
- 自社が必要とする一連の機能が備わっているか
- 検出性能が十分か
- 外部ツールとの親和性があるか
- サポート体制が充実しているか(日本語対応を含む)
SBOMの重要性を理解していても、どのようにSBOMツールを選べばよいかわからない方もいることでしょう。それぞれのポイントを理解し、自社に適切なSBOMツールを選ぶためにお役立てください。
1.自社が必要とする一連の機能が備わっているか
まずは自社が必要とする一連の機能が備わっているかを確認しましょう。例えばセキュリティ対策の強化を目的に導入するのであれば、以下の機能が充実しているツールを選ぶのがおすすめです。
- SBOMの抽出
- 脆弱性等のリスク検出
- トリアージ
- 対応管理等
2.検出性能が十分か
検出性能も重要視すべきポイントです。脆弱性の検出を実施したい場合、検出漏れや誤検出の少ないツールを選ぶようにしましょう。
ツールによっては、OSレイヤーやサードパーティのパッケージの検出に対応していないものや、依存関係を検出できないものもあります。ただし、性能が高くなるにつれて初期費用も高くなりやすいため、費用対効果をベースに検討することをおすすめします。
自社の要件を明確にして、検出性能を満たしたツールを選びましょう。
3.外部ツールとの親和性があるか
自社で導入済みのツールと連携させる場合、外部ツールとの親和性も確認が必要です。導入済みのツールとの親和性が高ければ、検出された課題や検査結果をチーム内で連携しやすくなります。その結果、作業効率を向上させることも可能なため、慎重に検討しましょう。
導入済みツールとの連携が可能か、相性がよいかなどを必ずチェックしてください。
4.サポート体制が充実しているか(日本語対応を含む)
サポート体制が充実しているツールであれば、万が一運用で不具合が生じた場合も安心です。導入前に、ツールのトラブルに関する問い合わせやサポートを受け付けているか確認しておきましょう。
また、SBOMツールには海外製品も多く、日本語でのサポートやマニュアルの有無も確認しておくと良いでしょう。
SBOMツール導入の流れ
最後に、SBOMツール導入の流れを紹介します。
- ツールの選定
- SBOMの作成
- 運用・管理
1つずつ解説していきます。
1.ツールの選定
まずは自社でSBOMを導入する目的を明確にしましょう。そのうえで、自社の環境や予算、求める機能に合わせて、使いやすいSBOMツールを選定します。
SBOMツールには様々なものがあり、それぞれ価格や性能、機能が異なります。どれを選ぶべきかわからない場合は、先に触れた選び方のポイントも参考にしてください。
2.ツール導入、SBOM作成
導入するツールが決まったら、取扱説明書やREADMEなどを参考に導入と設定を進めます。製品によっては、販売代理店が導入を支援してくれます。
導入後はソフトウェアのコンポーネントを解析し、SBOMを作成していきます。
コンポーネントの解析は以下の手順で行います。
- 対象ソフトウェアのスキャン
- コンポーネントの解析
- 解析ログにエラーやトラブルがないか確認
- 検出漏れや誤検出がないか確認
その後、必要項目やフォーマット、出力形式などを決定し、求める要件に沿ったSBOMを作成しましょう。
3.運用・管理
SBOMを作成したら、実際に運用と管理をします。
SBOMツールの検出結果を踏まえて、脆弱性やライセンス違反の深刻度の評価や残存リスクへの対応を行います。
問い合わせに対応できるよう、SBOMの出力結果はしばらく保管しておくと良いでしょう。
SBOMの生成・管理・運用なら「yamory」
本記事ではSBOMの機能や重要性、導入のメリットを紹介しました。
SBOMの導入により、ソフトウェアを構成するコンポーネントやそれぞれの依存関係、ライセンス情報などを一覧化したり、脆弱性を検出したりできるようになります。
OSSやライブラリ、パッケージなどが複雑化する昨今、SBOMツールはセキュリティ対策の一環として必要不可欠な存在です。
高性能なSBOMツールをお探しなら、オールインワン脆弱性対策クラウド「yamory(ヤモリー)」がおすすめです。自社のITシステム情報をyamoryでスキャンすることで、自動的に必要項目を洗い出し、SBOMを効率的かつ網羅的に生成できます。
ソフトウェア名称の表記揺れにも対応しており、SBOM情報と脆弱性情報を精度高くマッチングできるのが特徴です。
ITシステムの脆弱性を断続的に監視することで、セキュリティ対策にかかる工数を削減しましょう。
「SBOMツールは使いやすいものがいい」「継続的なセキュリティ・シフトレフトを実現したい」とお考えの場合は、ぜひご検討ください。