サイバー攻撃
SBOMとは?概要や必要性をわかりやすく解説
Written by 田村 彩乃
目 次
SBOMとは、ソフトウェアを構成する「コンポーネント(=プログラム部品)」や「ライセンス情報」「コンポーネント同士の相互関係」などの情報を、リストに一元化したものです。
リストを出力するツールを「SBOMツール」と言い、今世界的に多くの企業で、ソフトウェアのライセンス・脆弱性管理の要として、SBOMツールの導入が注目されています。
ソフトウェアサプライチェーン攻撃による被害が増加し、オープンソースソフトウェア(OSS)の利用が一般化する中、ソフトウェアにおけるリスク管理やセキュリティ対策は、今やどの組織においても欠かせません。
本記事では、いま理解したい「SBOM」の概要や重要性・導入の流れまでを、わかりやすくご説明します。
-
▼この記事のポイント
- ソフトウェアの脆弱性を狙った悪質なサイバー攻撃が後を絶たず、対策として「SBOM」の導入が注目されている
- SBOMを導入することで、ソフトウェアに使用されたコンポーネント(プログラム部品)を可視化できるため、コンポーネントに含まれる脆弱性を、早期に発見し対策することが可能に
- アメリカ政府が2021年5月12日に発行した「大統領令」でSBOMの知名度が向上
- 2023年7月28日には、経済産業省より「ソフトウェア管理に向けたSBOMの導入に関する手引」が発行された
- SBOMの導入は「SBOMツールの選定・導入」「コンポーネントの解析・SBOMの作成」「実際の運用・管理」の3つのフェーズに分けられる
- SBOMツールを選定する際は、機能・性能・解析可能なコンポーネント・解析方法などに注目する。コストも含め、自社の運用方法・目的とマッチした製品の選定が重要
また
・いきなりSBOM導入はハードルが高い
・しかし、ソフトウェアの脆弱性には対策したい
という企業様のために、弊社ではお客様がご利用中・開発中のソフトウェアにて、プロが脆弱性を洗い出し対策をお伝えする「IoT脆弱性診断」を提供しております。ぜひあわせて、以下の報告書サンプルもご参照ください。

IoT脆弱性診断の詳細と
報告書サンプルをご覧いただけます
SBOM導入にハードルの高さを感じている、担当者様におすすめです。サービス詳細と実際にお渡しする「診断報告書」サンプルをご覧いただけます。
SBOM(エスボム)とは
SBOM(Software Bill of Materials、ソフトウェア部品表)とは、「ソフトウェア」を構成する
・コンポーネント(=プログラム部品)
・ライセンスデータ
・コンポーネント同士の相関関係
などを可視化し、リスト化した表のことを指します。
ちなみに「コンポーネント」とは、特定の機能を持ち単体で完結しているものの、単体では使用せず(できず)、他プログラムからの呼び出しや連結によって、使用されるプログラム部品のことをいいます。
ソフトウェアは、この「コンポーネント」を組み合わせて開発するのですが、近年このコンポーネント(=プログラム部品)の一部に脆弱性(=弱点・欠陥)が存在し、その脆弱性を利用したサイバー攻撃が増加しています。
しかし、ソフトウェアを利用する側からすれば「ソフトウェアに含まれるコンポーネントの脆弱性の可否を判断すること」は通常不可能です。そんな悩みを解決するのが、今回テーマとなる「SBOM」です。
SBOMであれば、該当ソフトウェアに「どんなコンポーネントが含まれ」「それぞれに脆弱性のリスクがないか」を、一覧にて可視化し、把握することが可能となります。
仮に、とあるコンポーネントにて脆弱性が明らかになった場合、「自社で使用するソフトウェアに、脆弱性のあるコンポーネントは含まれていないか」「脆弱性の影響範囲はどこまで及ぶか」などを即座に把握し、ソフトウェアの脆弱性対策を行えるようになるのです。
SBOMは「ソフトウェアの一部に含まれる脆弱性を、いかに発生源でキャッチし、迅速に対処するか」において活躍します。
SBOMとは、食品パッケージに記載される「食品表示」のようなもの
SBOMがいまいちピンと来ない、という方は、食品の包装に記載されている食品表示をイメージしていただくと、良いかもしれません。
通常、食品を購入するとき、その外見だけでは「具体的に何の原材料が使われているか」は把握できないでしょう。しかし食品表示には「原材料」が記載されているため、表示を見ることで、アレルギーの食材を回避したり、体調管理を行ったりすることができます。
SBOMもこの「食品表示」と同様、ソフトウェアに含まれる「コンポーネントの情報」をリスト化しており、そのリストを見ることで、脆弱性への対応やリスク管理を効率的に行えるのです。
ただし、SBOMはコンポーネント名だけでなく、そのバージョンや依存関係についても記載されるため、厳密には食品表示と比べ、より複雑なリストとなります。
SBOMはどんな人に役立つ?導入意義とは?
SBOMは、次の2つの職種の方が使用することになります。
1.使用中のソフトウェアの脆弱性対策を行いたい、企業のセキュリティ担当者
2.ソフトウェアの開発をおこなう、開発・設計部門の方
「1.企業のセキュリティ担当者」は、自社の安全なシステム・アプリケーション運用のために、サイバー攻撃の要因となりうる「脆弱性の管理」を行うことがミッションです。
SBOMを活用することで、使用中のソフトウェアがどのようなコンポーネントで構成されているのかを即時に確認できるため、仮にコンポーネント単位で脆弱性が見つかった場合も、自社のソフトウェアに影響がないかを効率的にチェックすることが可能です。
また「2.ソフトウェアの開発を手がける開発・設計部門の担当者」にとっても、SBOMを参照することで、開発の生産性が向上するというメリットがあります。
ソフトウェア開発の初期段階からSBOMを作成すれば、コンポーネントに含まれる既知の脆弱性やライセンスの問題にあらかじめ対応できるため、開発遅延の発生などを防止できます。また社内で過去利用されたコンポーネント情報をSBOMに保存すれば、開発の度にコンポーネントの調査・承認をする工数も削減できるでしょう。
このようにSBOMツールは、ソフトウェアの脆弱性を効率的に対処したい「セキュリティ担当者」にも、ソフトウェアの開発生産性を向上したい「開発者」にも有用なソリューションと言えます。
SBOMが注目される背景とは?
SBOMが注目されている背景には、悪意ある第三者によりサイバー攻撃が深刻化し、ソフトウェアの脆弱性を悪用する「サプライチェーン攻撃」などのサイバー犯罪が、増加していることが挙げられます。
ここでは、昨今SBOMへの注目が集まっている背景・理由についてご説明します。
1.ソフトウェアサプライチェーン攻撃が増加しているため
SBOMの注目が高まる要因の1つ目として、2020年以降に猛威を振るっている「ソフトウェアサプライチェーン攻撃」の影響があります。
そもそもサプライチェーン攻撃とは、ターゲットにしたい大企業や組織を直接狙うのではなく、セキュリティの脆弱な関連組織やベンターを踏み台に、不正アクセスなどの攻撃をしかける手口のことです。
中でも「ソフトウェアサプライチェーン攻撃」は、ソフトウェアの開発されるタイミングでマルウェア等の悪意あるコードをしかけ、そのソフトウェアを使用する大企業や組織に、間接的に攻撃を仕掛ける手法となります。
攻撃が仕掛けられると、企業や組織はシステムへ不正に侵入され、機密情報を盗まれたり、データを改ざん・破壊されたりといった被害リスクがあります。
仮にSBOMを導入すれば、導入中のソフトウェアやサービスにおける脆弱性を把握できるため、ソフトウェアサプライチェーン攻撃が発生するリスクを大きく軽減することが可能となるでしょう。
2.2021年5月12日の「大統領令」にて、SBOMの認知が拡大
SBOMの認知が世界で広まったのは、アメリカ政府が2021年5月12日に発行した「大統領令」がきっかけでした。
この大統領令は「Executive Order on Improving the Nation’s Cybersecurity(国家のサイバーセキュリティの向上に関する大統領令)」と呼ばれるもので、国家のサイバーセキュリティに関連するさまざまな内容が盛り込まれています。
この中の第4章「ソフトウェア・サプライチェーン・セキュリティの強化」において、SBOMによる対策が公開されたことから、SBOMの注目が世界的に高まることとなりました。
元々、この大統領令は深刻化するサイバー攻撃に対抗し、「デジタルインフラの透明性を高める対策」の要求を目的としています。現状、多くのソフトウェアが「どのようなコンポーネントで構成されているか」が不透明という背景から、ソフトウェアのリスク把握を効率化する施策として、SBOMの活用を推進しています。
3.国内でも「ソフトウェア管理に向けたSBOMの導入に関する手引」が発行される
世界的に「SBOM」への注目が高まる中、日本国内でも2023年より活用を推進する流れが生まれています。
2023年7月28日、経済産業省はソフトウェアのセキュリティ確保を目的とした「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を発行しました。
この手引きでは、SBOM導入に関する全体像の提示に加え
・環境構築・体制整備フェーズ
・SBOMの作成・共有フェーズ
・SBOMの運用・管理フェーズ
の3段階に分け、それぞれの実施事項や注意点など、SBOMの導入サポートに関する内容を解説しています。
これらの背景からも、ソフトウェアサプライチェーン攻撃への危機意識と、それに伴うSBOMへのニーズの高まりが伺えるでしょう。
経済産業省の提案する、SBOM導入の主なメリット
経済産業省では、SBOM導入には次の3つの側面においてメリットがあると伝えています。
1.脆弱性管理のメリット
2.ライセンス管理のメリット
3.開発生産性向上のメリット
ここでは3つのメリットについて、簡単に解説します。
1.脆弱性管理のメリット
「脆弱性管理」の観点から見た、SBOMを導入する直接的メリットは、
・脆弱性残留リスクの低減
・脆弱性対応期間の短縮
・脆弱性管理にかかるコストの低減
です。SBOMを活用することでソフトウェアの脆弱性を発見しやすくなり、脆弱性が見落とされるリスクを軽減するとともに、本来対応にかかっていた時間・コストを削減できます。
また間接的メリットとしては、ソフトウェアを導入する企業価値の向上やサイバー衛生の向上が期待できることが挙げられます。
2.ライセンス管理のメリット
ソフトウェアに含まれる「コンポーネントのライセンス管理」における、直接的なメリットとしては
・ライセンス違反リスクの低減
・ライセンス管理にかかるコストの低減
が期待されます。
ソフトウェアに含まれているコンポーネントのライセンス情報を確認でき、コンプライアンス上の過失を防ぐことができるため、ライセンス違反リスクの低減やライセンス管理工数の低減に繋がるためです。
SBOMを使ってコンポーネントのライセンス情報を確認できれば、コンプライアンスの過失を防ぐことが可能となります。またSBOMツールを用いた自動管理により、手動での管理と比較して、運用コストの削減にも貢献します。
3.開発部門の生産性向上のメリット
「開発における生産性向上」のメリットとして、
・開発遅延の阻止
・開発にかかるコストの低減
・開発期間の短縮
の3つが考えられます。
SBOMを活用すれば、「コンポーネントに含まれる既知の脆弱性」や「ライセンスの問題」を事前に把握できるため、早期に問題を特定し対処できるようになります。
結果として、開発遅延の発生を防ぐことができるほか、対応コストを低減したり、開発に要する期間を短縮したりといったメリットに繋がるでしょう。
SBOM導入における課題
SBOMは、企業・組織のセキュリティリスクを減らす上で、非常に重要な役割を果たしますが、国内での普及はいまだ進んでいません。
日本での導入が進んでいない理由として、「そもそもSBOMが何か知らない」という認知度の問題がありますが、ほかにも以下のような課題が導入を妨げていると考えられます。
導入・運用のハードルが高い
SBOMツールは、ほとんどが海外で開発されていることから、「ツール自体が日本語に対応していない」「問い合わせ窓口が英語」という場合が多いです。
使用においてわからない点があったり、不具合があったりしても、スムーズに解決できないことが懸念されます。
こうした導入・運用のハードルを下げるためには、ツール選定時に日本語対応しているものを選定する、SBOMツールの取扱説明書が日本語に翻訳されている企業のツールを探すと良いでしょう。
ツールによって出力フォーマットに差異がある
使用するツールによって、出力フォーマットが変わってしまうことがあります。
というのも、OSSはこのように記載しなければならない、というような記載方針が統一されていないので、ツールによって記載内容や形式が微妙に異なってしまうのです。
その結果、脆弱性のチェックなどに時間がかかってしまう可能性があります。
こうした課題は、使用するSBOMツールを統一することで解決が可能です。
コスト負担に対する明確なルールがない
SBOMを作成する際のコストについては、明確なルールが示されていません。
そのため、契約時にソフトウェアの受発注者間でコスト負担や責任範囲などをしっかり取り決めておかないと思わぬトラブルに発展する可能性があります。
SBOMを導入する大まかな流れ
SBOMの導入は
・SBOMツールの選定・導入
・コンポーネントの解析・SBOMの作成
・実際の運用・管理
の3つのフェーズに分けられます。ここでは、3つのフェーズについて、それぞれ簡単に解説します。
1. SBOMツールの選定・導入のフェーズ
SBOMの導入を決めたら、まずはSBOMツールの選定をおこなう必要があります。
後述する「SBOM ツールを選定するポイント」の観点なども参考に、自社の環境・ニーズに適したSBOMツールを選択します。ツールには有償・無償のものがあり、前者は高額な物が多い一方、無償版に比べ導入がスムーズであったり、使える機能が幅広かったりというメリットがあります。
SBOMツールの選定後は、導入したツールの取扱説明書やREADMEなどを参照して、ツール導入と設定を進めていきます。このとき、有償の製品であれば販売代理店や提供ベンダーにサポートを依頼することで、ツールの使い方を効率よく習得できるでしょう。
2.コンポーネントの解析・SBOMの作成フェーズ
SBOMツールの導入が終わった後は、ソフトウェアのコンポーネント解析とSBOMの作成をおこないます。
SBOMツールは自動的にソフトウェアのコンポーネントを解析し、どのようなコンポーネントで構成されているのかを明らかにしてくれます。
コンポーネントの解析手順としては下記の通りです。
・SBOMツールで対象ソフトウェアをスキャンし、コンポーネント情報を解析
・SBOMツールの解析ログを調査し、エラー発生の有無や解析が正しく実行されたかを確認
・コンポーネントの解析結果について、誤検出や検出漏れがないかを確認
コンポーネントの解析後は、SBOMの作成を行います。項目やフォーマット、出力形式など基本的な要件を決定し、自社の要件と目的に沿ったSBOMを作成しましょう。作成後はソフトウェアの納入先・利用者に対し、必要に応じてSBOMを共有します。
3.実際にSBOMを使い、運用・管理を行うフェーズ
SBOMの作成が完了したら、実際にSBOMの運用を行っていきましょう。
SBOMより出力したコンポーネントの脆弱性やライセンス違反などを踏まえ、深刻度や影響度の評価・残存リスクの確認など、脆弱性対策を行います。
また社外から問合せがあった場合に参照できるよう、作成したSBOMは変更履歴も含め、一定期間保管しましょう。SBOM自体の管理も、社内の品質管理部門およびPSIRTが担当するなど、適切に保管することが求められます。
※PSIRT…自社開発・製造した製品やサービスに関する、インシデント発生時の対応やセキュリティ向上を担う社内組織。ピーサート。
主なSBOMの3つのフォーマット
SBOMの主な3つのフォーマットに、SPDX・CycloneDX・SWIDタグがあります。
SBOMをこれら共通のフォーマットで作成することにより、SBOMを組織内で効率的に管理したり、社外へ共有・相互運用したりが可能となります。
よく使用される「SBOMの3つのフォーマット」について解説します。
1.SPDX(Software Package Data Exchange)
SPDXは、スニペット、ファイル、パッケージ、コンテナ、OSディストリビューションなど、さまざまなソフトウェア部品の形式をサポートしており、またライセンスを個別に特定するための、識別子のリストが用意されているのが特徴です。
SPDXの中から重要項目だけを絞り込んだ「SPDX-Lite」という日本発祥のフォーマットもあり、簡易的なSBOMを作成・運用したい場合に有効です。
2.CycloneDX
CycloneDXは、セキュリティ管理に使用することを想定したフォーマットです。ソフトウェアのコンポーネント解析だけでなく、既知の脆弱性や悪用可能性など、セキュリティを高める上で重要な情報も記述できる点が特徴となっています。
セキュリティ向上を目的としてSBOMの導入を検討しているなら、選定が検討されるフォーマットのひとつです。
3.SWID タグ(Software Identification タグ)
SWIDタグは、組織が管理対象とするデバイスにインストールしたソフトウェアを追跡することを目的として開発されたフォーマットです。
管理対象のソフトウェアに「タグ」と呼ばれる情報を付与し、ソフトウェアに関する情報を管理できます。
SWIDで使用されるタグには、次の4種類があります。
・Corpus Tags(プレインストールソフトウェアを識別するタグ)
・Primary Tags(インストールされたソフトウェアを識別するタグ)
・Patch Tags(適用されたパッチを識別するタグ)
・Supplemental Tags(ライセンスキー・関係者連絡先などの関連情報を識別するタグ)
SWIDタグはソフトウェア識別に関するフォーマットですが、コンポーネントのライセンス情報や、アップデートに関する情報、脆弱性に関する情報といった「セキュリティに関する内容」も記載することが可能です。
SBOMツールを選定するポイント
SBOMツールを選定する主な基準の例として、以下のようなポイントが挙げられます。
・機能内容
・性能の高さ
・解析可能な情報の種類
・解析可能なデータ形式
・導入費用
・対応フォーマット
・コンポーネントの解析方法
・他ツールとの連携可否
・インターフェースの使いやすさ
・サポート体制の手厚さ
ここでは、上記の中でも特に押さえておきたい5つのポイントについて解説します。
1.どういった「機能」を備えているか?
「どういった機能を備えているのか」は、SBOMツールを選定する際に押さえておきたいポイントのひとつです。
ひと口にSBOMツールといってもさまざまな種類があり、備わっている機能も異なります。
例えばソフトウェア開発に使用するのか、セキュリティ向上を目的として使用するのかによって必要な機能は大きく変わってくるため、自社の導入目的を明確にした上で、目的を達成できる機能を備えたSBOMツールを選定しましょう。
2.検出漏れや誤検出の少なさなど「性能」の高さはどうか?
SBOMツールの性能の高さも、選定時に見極めるべき大切なポイントになります。これまでの製品評価やテスト運用などを通じ、なるべく誤検出や検出漏れの少ないツールを選びましょう。
新たな脆弱性が発見された際、ツールに迅速に反映されるかなども重要な視点です。
性能が高くなるほど導入コストは高額となる傾向にあるため、自社の導入目的や適用範囲も考慮し、費用対効果の見合うツールを選定する必要があります。
3.解析可能な情報は、ニーズと合致しているか?
SBOMツールの種類によって、解析可能な情報は異なります。
例えば、多くのツールでコンポーネントの脆弱性情報やライセンス情報を解析できますが、中にはそれぞれに特化し、より詳しい情報を取得できるもの、特定の情報が解析できないものもあります。
自社にとって必要な解析情報・分析範囲・深度を整理した上で、適切なツールを選ぶことが求められます。
4.「コンポーネントの解析方法」は、自社にマッチしているか?
コンポーネントの解析方法には、コードマッチング、依存関係検出、文字列検出の主に3種類があります。
コードマッチングは、OSS(オープンソースソフトウェア)データベースとのマッチングにより、コンポーネントを解析する方式です。依存関係検出は、パッケージマネージャーで取得するOSSを参照するため、誤検出の可能性が低い点が特徴です。
また、文字列検出はソフトウェアのライセンス文字列から、ライセンス情報を検出する方式です。
解析方法には、3つのうち複数の方法を組み合わせるツールもあれば、一部の解析方法にのみ対応するものもあります。SBOM作成にあたり用意できるコードなどをあらかじめ確認し、どの方法が最適かを検討します。
5. 導入目的と合致した「運用方法」か?
導入目的と合致した運用方法かどうかも、SBOMツールを選ぶ際の重要なポイントです。
例えば、開発者がSBOMツールを運用する場合、開発中のソフトウェアと連携し、バックグラウンドで解析を実行してくれるSBOMツールなら、業務負担を大きく軽減できるでしょう。
一方、解析チームがツールを運用するなら、ポリシー機能やライセンス情報が充実したSBOMツールを選ぶのがおすすめです。
SBOM導入が難しいお客様に知ってほしい「IoT脆弱性診断」
ここまで「SBOMツール」の導入メリットや選定方法についてご紹介しました。
ソフトウェア開発者・利用者を問わず、既存のソフトウェアの脆弱性対策として「SBOM」が欠かせないことは前述の通りですが、導入から選定までに多くの工数・費用が発生するため「直近での導入は現実的でない」という企業様もいらっしゃるでしょう。
・いきなりSBOM導入はハードルが高い
・しかし、ソフトウェアの脆弱性には対策したい
そういった方に知ってほしいのが、ご利用中・開発中のソフトウェアにおいて、プロが脆弱性を洗い出し対策をお伝えする、弊社の「IoT脆弱性診断」です。
IoTセキュリティ診断では、8,800サイト以上の診断実績で培った独自のノウハウをもとに、豊富な経験をもつセキュリティ・スペシャリストが、IoTシステム(IoTデバイス、スマートフォンアプリ、Webアプリケーション、ネットワーク)の各レイヤに対し、セキュリティリスクを診断します。
当社のスペシャリストが、ソフトウェアやデバイスのコンポーネントを抽出し、脆弱性の有無を評価するため、自社でSBOMの運用が困難なお客様も、ソフトウェアサプライチェーン攻撃などのサイバー犯罪に対策が可能です。
また、SBOM導入に関するご相談や疑問にも対応可能です。ぜひお問い合わせフォームより、お気軽にご連絡ください。
まとめ
いま注目のセキュリティソリューション「SBOM」について、概要や導入メリット、ツールの選定ポイントなどを解説しました。
-
▼本記事のまとめ
- SBOMとは、ソフトウェアを構成するコンポーネントやライセンスデータ、コンポーネント同士の関連情報などを、リスト化したもの
- SBOMツールにより、上記のデータを出力・可視化し、脆弱性の発見を容易にする
- ソフトウェアに内蔵される「コンポーネント(部品)」の脆弱性に起因した、ソフトウェアサプライチェーン攻撃という、サイバー攻撃の増加によりSBOMが注目される
- SBOMの導入は「SBOMツールの選定・導入」「コンポーネントの解析・SBOMの作成」「実際の運用・管理」の3つのフェーズに分けられる
- SBOMツールを選定する際は、機能・性能・解析可能なコンポーネント・解析方法などに注目する。コストも含め、自社の運用方法・目的とマッチした製品の選定が重要
従来、ソフトウェア導入時にはわからなかった製品の脆弱性やリスクを把握する際、SBOMは組織にとって強力な武器となります。本記事をきっかけに「SBOM」の理解と、自組織への必要性を振り返るきっかけとなれば幸いです。
おすすめ記事