サイバー攻撃

SBOMとは?必要性や導入のメリット、導入方法を解説

Written by 田村 彩乃

SBOMとは?必要性や導入のメリット、導入方法を解説

SBOMとは、ソフトウェアがどのようなコンポーネントで構成されているのか、またどのような依存関係があるのかなどの情報の一覧表です。

ソフトウェアサプライチェーン攻撃による被害が増加し、オープンソースソフトウェア(OSS)の利用が一般化するなか、ソフトウェアにおけるリスク管理やセキュリティ対策は、いまやどの組織においても欠かせません。

本記事では、ソフトウェアのセキュリティ担保や安全な管理・運用に欠かせない「SBOM」の必要性や導入のメリット、導入方法などをわかりやすく解説します。

    ▼本記事でわかること

  • SBOMの概要や注目されている理由
  • SBOMを導入するメリット
  • SBOMを導入する際の流れ
  • SBOMツールを選ぶ際のポイント

また、SBOMの導入前に、まずは自社が利用・開発中のソフトウェアの脆弱性を確認したい方向けに、プロが脆弱性を洗い出し対策をお伝えする「IoT脆弱性診断」をご用意しています。

報告書のサンプルをダウンロードすることができるので、ぜひご確認ください。

IoT脆弱性診断の詳細と
報告書サンプルをご覧いただけます

SBOM導入にハードルの高さを感じている、担当者様におすすめです。サービス詳細と実際にお渡しする「診断報告書」サンプルをご覧いただけます。

資料をダウンロードする

SBOM(エスボム)とは

「SBOM」(Software Bill of Materials、ソフトウェア部品表)とは、ソフトウェアを構成するコンポーネント(部品)やライセンスデータ、コンポーネント同士の依存関係などを可視化した一覧表です。

SBOMに記載すべき情報の最小要件は以下の通りです。

  • サプライヤー名
  • コンポーネント名
  • コンポーネントのバージョン
  • そのほかの一意の識別子
  • 依存関係
  • SBOM作成者
  • SBOM作成日時
  • コンポーネントとは、特定の機能をもちつつも、単体では使用せず、ほかプログラムからの呼び出しや連結によって使用されるプログラム部品です。

    ソフトウェアは、この「コンポーネント」を組み合わせて開発しますが、近年、このコンポーネントの脆弱性(弱点・欠陥)を利用したサイバー攻撃が増加しています。

    ソフトウェアを構成するコンポーネントの脆弱性可否を判断し、対策することは通常不可能とされ、問題視されていましたが、この脆弱性対策として注目を集めているのが「SBOM」です。

    SBOMは、ソフトウェアを構成するコンポーネントやライセンス、それぞれの依存関係を一覧化したものです。

    コンポーネントの一覧を可視化することで、仮にとあるコンポーネントの脆弱性が明らかになった場合も、「自社で使用するソフトウェアに脆弱性のあるコンポーネントは含まれていないか」「脆弱性の影響範囲はどこまで及ぶか」などを即座に把握し、対策することが可能になります。

    SBOMは「ソフトウェアの一部に含まれる脆弱性を、いかに発生源でキャッチし、迅速に対処するか」において活躍します。

    SBOMのわかりやすい例え

    SBOMは、食品の包装に記載されている食品表示をイメージしていただくとわかりやすいでしょう。

    食品を購入する際、見た目を見ただけでは、具体的にどのような原材料が使われているのかをすべて把握することは難しいです。

    しかし、原材料を把握できないと、アレルギーを持っている人や食べられないものがある人は、自由に食品を選ぶことができなくなってしまいます。

    このような事態を防ぐためにも食品には食品表示が義務付けられており、表示を見ることで、どのような材料が含まれているのかを把握できるようになっています。

    SBOMも食品表示と同様に、ソフトウェアに含まれる「コンポーネントの情報」をリスト化することで、脆弱性への対応やリスク管理の効率化を実現します。

    ただし、SBOMはコンポーネント名だけでなく、バージョンや依存関係などについても記載する必要があるため、厳密には食品表示よりも複雑なリストといえます。

    SBOMが注目される背景

    SBOMが注目を集める背景として、悪意ある第三者によるサイバー攻撃が深刻化し、ソフトウェアの脆弱性を悪用するサプライチェーン攻撃などのサイバー犯罪が増加していることが挙げられます。

    SBOMが注目を集める理由について、詳しく確認していきましょう。

    1.ソフトウェアサプライチェーン攻撃が増加しているため

    SBOMへの注目が集まる要因の一つとして、2020年以降猛威を振るっているソフトウェアサプライチェーン攻撃の影響が挙げられます。

    そもそもサプライチェーン攻撃とは、ターゲットとする企業や組織を直接狙うのではなく、セキュリティが脆弱な関連組織やベンダーを踏み台に、不正アクセスなどの攻撃をしかける手口のことです。

    なかでも「ソフトウェアサプライチェーン攻撃」は、ソフトウェアが開発されるタイミングでマルウェア等の悪意あるコードをしかけ、そのソフトウェアを使用する企業や組織に間接的に攻撃を仕掛ける手法です。

    攻撃が仕掛けられると、企業や組織のシステムに不正に侵入されてしまい、機密情報を盗まれたり、データを改ざん・破壊されたりといった被害が想定されます。

    SBOMを導入することで、企業や組織が導入しているソフトウェアやサービスにおける脆弱性を把握できるようになるため、ソフトウェアサプライチェーン攻撃が発生するリスクを軽減することが可能となります。

    SBOMは、昨今増加傾向にあるマルウェア等のサイバー攻撃への対策として有効であることから、注目を集めています。

    関連ページ

    マルウェアとは?今すぐ知るべき基礎知識・手口・対策を解説

    2.「大統領令」にてSBOMの認知が拡大したため

    アメリカ政府が2021年5月12日に発行した大統領令をきっかけとして、SBOMは広く知られるようになりました。

    この大統領令は「Executive Order on Improving the Nation’s Cybersecurity(国家のサイバーセキュリティの向上に関する大統領令)」と呼ばれるもので、国家のサイバーセキュリティに関連するさまざまな内容が記載されています。

    この大統領令の第4章「ソフトウェア・サプライチェーン・セキュリティの強化」において、SBOMを活用した対策が公開されたことで、SBOMは世界的に注目を集めるようになりました。

    この大統領令は、深刻化するサイバー攻撃に対抗し、「デジタルインフラの透明性を高める対策」の要求を目的としています。

    現状、多くのソフトウェアが「どのようなコンポーネントで構成されているか」が不透明であったり、サイバー攻撃に対する考慮が十分でなかったりするとして問題視されています。

    このような背景から、ソフトウェアのリスク把握を効率化する方法として「SBOMの活用」が推進されたことで、注目を集めるようになりました。

    3.「ソフトウェア管理に向けたSBOMの導入に関する手引」が発行されたため

    経済産業省は、急激に脅威が増しているソフトウェアのセキュリティ確保を目的として、2023年7月28日に「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を策定しました。

    この手引きでは、SBOMの基本的な情報や導入のメリットなどに加えて、SBOMを導入するにあたって認識・実施すべきポイントを3つのフェーズにわけて解説しています。

  • 環境構築・体制整備フェーズ
  • SBOM作成・共有フェーズ
  • SBOM運用・管理フェーズ
  • この手引きの普及によって、企業が効率的・効果的にSBOM導入を進められるようになると、ソフトウェアの脆弱性への対策・管理コストが低減するだけでなく、企業における開発生産性の向上や、国内におけるサイバーセキュリティ能力が向上するとされています。

    出典:METI/経済産業省「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を策定しました

    SBOM導入のメリット・効果

    経済産業省が策定した「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」によると、SBOMを導入することで3つのメリットが期待できるとされています。

  • 1.脆弱性管理のメリット
  • 2.ライセンス管理のメリット
  • 3.開発生産性向上のメリット
  • 3つのメリットは、それぞれ直接的なメリットに加えて、製品価値や企業価値等が向上するなど、間接的なメリットも期待できます。

    3つのメリットについて詳しく確認していきましょう。

    1.脆弱性管理のメリット

    SBOMを導入することで、脆弱性管理に対して3つの直接的メリットが期待できます。

  • 脆弱性残留リスクの低減
  • 脆弱性対応期間の短縮
  • 脆弱性管理にかかるコストの低減
  • SBOMを活用することで、ソフトウェアの脆弱性を発見しやすくなるため、脆弱性を見落とすリスクが軽減されることに加え、脆弱性対応にかかっていた時間・コストも削減できるようになります。

    また、脆弱性の低減や対応の迅速化が図れるようになるため、製品やサービス、企業価値などの向上といった間接的なメリットも期待できます。

    脆弱性の少ない製品が増えると、増加傾向にあるソフトウェアサプライチェーン攻撃の入口となりやすい取引先や関連企業経由の間接攻撃のリスク低減することもできるでしょう。

    2.ライセンス管理のメリット

    次にソフトウェアを構成するコンポーネントの「ライセンス管理」における直接的なメリットを2つ解説します。

  • ライセンス違反リストの低減
  • ライセンス管理にかかるコストの低減
  • SBOMを導入し、ソフトウェアを構成するコンポーネントのライセンス情報を正確に把握できるようになると、OSSの特定漏れによるライセンス違反のリスクを低減できたり、ライセンス管理の工数を低減できるようになったりなど、コンプライアンス上で過失になりやすい問題を防げるようになります。

    また、コンプライアンスの遵守による、企業価値の向上も期待できます。

    3.開発生産性向上のメリット

    SBOMを導入し、コンポーネントのバージョンやライセンスなどの情報を可視化することで、開発生産性の向上も期待することができます。

  • 開発遅延の阻止
  • 開発にかかるコストの低減
  • 開発期間の短縮
  • たとえば、SBOMを活用してソフトウェアを構成するコンポーネントに関する問題を早期に特定できると、開発遅延の防止や対応コストの削減が可能になります。

    また、コンポーネントを選定する際に過去のSBOMを参照すれば、選定に関する工数を削減でき、ソフトウェア開発の期間を短縮することができるようになるでしょう。

    SBOMの導入は、脆弱性対策に効果的なことに加えて、ソフトウェア開発の工数削減にも効果を発揮します。

    SBOM導入における課題

    SBOMは、企業・組織のセキュリティリスクを減らすうえで、非常に重要な役割を果たしますが、国内での普及はいまだ十分ではありません。

    国内での導入が進んでいない理由として、「そもそもSBOMがなにか知らない」という認知度の問題もありますが、ほかにも以下のような課題が導入を妨げていると考えられます。

  • 導入・運用のハードルが高い
  • ツールによって出力フォーマットに差異がある
  • コスト負担に対する明確なルールがない
  • SBOMの導入を妨げている課題について詳しく確認していきましょう。

    導入・運用のハードルが高い

    SBOMツールの多くは国内ではなく海外で開発されているため、ツール自体が日本語に対応していなかったり、問い合わせ対応が英語のみだったりする場合が多いです。

    そのため、使用において不明点や不具合があってもスムーズに解決することが難しいケースが多く、導入のハードルが高くなってしまいやすいでしょう。

    ツールの運用や管理をスムーズに実施するためには、ツール選定時に日本語に対応しているか、取扱説明書が日本語に翻訳されているかなどを確認し、自社が使いこなせるツールを選ぶ必要があります。

    ツールによって出力フォーマットに差異がある

    ツールを用いてSBOMを作成する場合、使用するツールによって出力フォーマットが変わってしまうことも、SBOMの導入を妨げている要因の一つです。

    使用するツールによって出力される内容が異なると、脆弱性のチェックなどに時間がかかってしまいやすいです。

    コスト負担に対する明確なルールがない

    SBOMを作成する際のコストについては、明確なルールが示されていません。

    そのため、契約時にソフトウェアの受発注者間でコスト負担や責任範囲などをしっかり取り決めておかないと思わぬトラブルに発展する可能性があります。

    SBOMを導入・運用する際の流れ

    SBOMを導入し、運用する際の流れを3つのフェーズにわけて解説します。

  • 1. SBOMツールの選定・導入
  • 2. コンポーネントの解析・SBOMの作成
  • 3. SBOMの管理・運用
  • 3つのフェーズについて、それぞれ簡単に解説します。

    1. SBOMツールの選定・導入

    まずは、SBOMツールの選定をおこなう必要があります。

    後述する SBOM ツールを選定するポイントの観点もあわせて確認し、自社の環境やニーズに適したツールを選定しましょう。

    出力内容やフォーマットが異なることはもちろん、有償・無償など、ツールによって必要なコストも異なります。コストをかけることで、導入がスムーズになったり、サポートを受けられたり、使える機能が幅広かったりなど、さまざまなメリットが期待できます。

    どのような目的でSBOMを導入するのかを明確にし、自社に最適なツールを選定するようにしましょう。

    また、SBOMツールの選定後は、取扱説明書などを参照して、設定を進めていく必要があります。

    有償ツールの場合は、販売代理店やベンダーにサポートを依頼できる可能性もあるため、使いはじめる際は確認しましょう。

    2.コンポーネントの解析・SBOMの作成

    SBOMツールを導入した後は、ソフトウェアを構成するコンポーネントの解析とSBOMの作成を進めましょう。

    SBOMツールは、コンポーネントを自動で解析することができます。コンポーネント解析の手順は下記の通りです。

  • SBOMツールで対象ソフトウェアをスキャンし、コンポーネント情報を解析する
  • SBOMツールの解析ログを調査し、エラー発生の有無や解析が正しく実行されたかを確認する
  • コンポーネントの解析結果について、誤検出や検出漏れがないかを確認する
  • コンポーネントが解析できたら、SBOMの作成を進めましょう。項目やフォーマット、出力形式など、基本的な要件を決定し、自社の要件や目的に沿ったSBOMを作成します。

    SBOMの作成後は、必要に応じてソフトウェアの納入先や利用者に共有しましょう。

    3.SBOMの管理・運用

    SBOMが作成できたら、運用を開始しましょう。

    作成したSBOMを活用し、コンポーネントの脆弱性やライセンス違反などを確認し、深刻度や影響度の評価、残存リスクの確認など、脆弱性対策を実施します。

    またSBOMは、問い合わせなどがあった際に参照できるように、変更履歴も含めて一定期間保管することが好ましいです。

    SBOM自体の管理は、社内の品質管理部門や社内でインシデントが発生した際に迅速に対応するための専門的なチームであるPSIRTが担当するなど、適切に保管する必要があります。

    関連ページ

    PSIRTとは?役割やCSIRTとの違いをわかりやすく解説

    SBOMツールを選定する際のポイント

    SBOMツールを選定する際に確認したいポイントの例は以下の通りです。

  • 機能内容
  • 性能の高さ
  • 解析可能な情報の種類
  • 解析可能なデータ形式
  • 導入費用
  • 対応フォーマット
  • コンポーネントの解析方法
  • ほかツールとの連携可否
  • インターフェースの使いやすさ
  • サポート体制の手厚さ
  • 本記事では、前述したポイントのなかから、とくに押さえておきたい5つのポイントを解説します。

    SBOMツールの導入を検討している企業の方は、ぜひ参考にしてみてください。

    1.機能内容

    どのような機能が搭載されているのかは、SBOMツールに限らず、さまざまなツールを選定する際に確認しておくべきポイントです。

    ひとくちに「SBOMツール」といってもさまざまな種類があり、搭載されている機能も異なります。

    たとえばソフトウェア開発に使用するのか、セキュリティ向上を目的として使用するのかによっても必要な機能は異なります。ツールを導入する際は、自社の導入目的を明確にしたうえで、目的を達成できる機能を備えたツールを選定しましょう。

    2.性能の高さ

    SBOMツールを選定する際は、性能の高さも重要な選定ポイントです。

    テスト運用やトライアルなどを活用し、誤検出や検出漏れなどが少ないツールを選びましょう。

    また、新たな脆弱性が発見された際に、ツールに迅速に反映されるかどうかも重要なポイントです。

    性能が高くなるほど導入コストは高額になる傾向があるため、性能や機能だけでなく、導入目的や適用範囲なども考慮し、費用対効果が見合うツールを選定しましょう。

    3.解析可能な情報の種類

    SBOMツールは、ツールによって解析可能な情報が異なります。

    たとえば、多くのツールでコンポーネントの脆弱性情報やライセンス情報を解析できますが、なかには特定の情報に特化し、より詳しい情報を取得できるものや、特定の情報が解析できないものもあります。

    SBOMツールを導入する際は、自社にとって必要な解析情報や分析範囲、深度などをあらかじめ整理し、適切なツールを選定するようにしましょう。

    4.コンポーネントの解析方法

    コンポーネントの解析方法は、主に以下の3種類です。

  • コードマッチング
  • 依存関係検出
  • 文字列検出
  • コンポーネントのコードマッチングは、OSS(オープンソースソフトウェア)データベースとのマッチングにより、コンポーネントを解析する方式です。依存関係検出は、パッケージマネージャーで取得するOSSを参照するため、誤検出の可能性が低い点が特徴の解析方法です。

    また、文字列検出はソフトウェアのライセンス文字列から、ライセンス情報を検出する方法です。

    SBOMツールの解析方法は、3種類のうち複数の方法を組み合わせるものもあれば、一部の解析方法のみ対応するものもあります。

    ツールを導入する際は、SBOM作成にあたり用意できるコードなどをあらかじめ確認し、最適なツールを選定するようにしましょう。

    5.運用方法

    導入目的と合致した運用ができるかどうかも、SBOMツールを選ぶ際の重要なポイントです。

    たとえば、開発者がSBOMツールを運用する場合、開発中のソフトウェアと連携し、バックグラウンドで解析を実行してくれるSBOMツールを選んだ方が、業務負担の軽減につながります。

    一方で、解析チームがツールを運用する場合は、ポリシー機能やライセンス情報が充実したSBOMツールを選ぶ方が、効率的に脆弱性対策を実施できるでしょう。

    SBOMの3つのフォーマット例

    SBOMのフォーマット例として、以下の3つのフォーマットが挙げられます。

    • SPDX(Software Package Data Exchange)
    • CycloneDX
    • SWID タグ(Software Identification タグ)

    この3つのフォーマットを利用し、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タグはソフトウェア識別に関するフォーマットですが、コンポーネントのライセンス情報や、アップデートに関する情報、脆弱性に関する情報といった「セキュリティに関する内容」も記載することが可能です。

    SBOM導入前に実施したい「IoT脆弱性診断」のご紹介

    ここまで「SBOMツール」の導入メリットや選定方法についてご紹介しました。

    ソフトウェア開発者・利用者を問わず、既存のソフトウェアの脆弱性対策として「SBOM」が欠かせないことは前述の通りですが、導入から選定までに多くの工数・費用が発生するため「直近での導入は現実的でない」という企業様もいらっしゃるでしょう。

    「いきなりのSBOM導入はハードルが高いが、ソフトウェアの脆弱性対策は実施したい」といった方に知ってほしいのが、ご利用中・開発中のソフトウェアにおいて、プロが脆弱性を洗い出し対策をお伝えする「IoT脆弱性診断」です。

    「IoT脆弱性診断」では、8,800サイト以上の診断実績で培った独自のノウハウをもとに、豊富な経験をもつセキュリティ・スペシャリストが、IoTシステム(IoTデバイス、スマートフォンアプリ、Webアプリケーション、ネットワーク)の各レイヤに対し、セキュリティリスクを診断します。

    セキュリティ・スペシャリストが、ソフトウェアやデバイスのコンポーネントを抽出し、脆弱性の有無を評価するため、自社でSBOMの導入や運用が困難な企業・組織の方でも、ソフトウェアサプライチェーン攻撃などのサイバー犯罪への対策が可能です。

    ソフトウェアの脆弱性対策を実施したい方は、ぜひ「IoT脆弱性診断」実施をご検討ください。

    関連ページ

    IoT脆弱性診断の詳細について│LANSCOPE プロフェッショナルサービス

    また、SBOM導入に関するご相談や疑問にも対応可能です。ぜひお問い合わせフォームより、お気軽にご連絡ください。

    まとめ

    本記事では、セキュリティ対策の一つとして注目を集めている「SBOM」について、導入のメリットや運用のポイント、ツールの選定ポイントなどを解説しました。

    「ソフトウェアサプライチェーン攻撃」をはじめとするサイバー攻撃への対策を実施したい場合は、SBOMの導入に加えて、「IoT脆弱性診断」の実施をぜひご検討ください。

      ▼本記事のまとめ

    • 「SBOM」とは、ソフトウェアを構成するコンポーネントやライセンスデータ、コンポーネント同士の関連情報などをリスト化したもの
    • ツールを活用してSBOMを作成することで、脆弱性の発見やセキュリティ対策が効率的に実施できる
    • SBOMを導入する際は、「SBOMツールの選定・導入」「コンポーネントの解析・SBOMの作成」「実際の運用・管理」の3つのフェーズで実施する
    • SBOMツールを選定する際は、機能・性能・解析可能なコンポーネント・解析方法、費用対効果などの観点を考慮する

    「SBOM」は、ソフトウェア導入時にはわからなかった製品の脆弱性やリスク把握を可能にします。

    ぜひ本記事をきっかけとして、企業・組織のセキュリティ体制の見直しやセキュリティ意識の向上を目指してみてください。

    IoT脆弱性診断の詳細と
    報告書サンプルをご覧いただけます

    SBOM導入にハードルの高さを感じている、担当者様におすすめです。サービス詳細と実際にお渡しする「診断報告書」サンプルをご覧いただけます。

    資料をダウンロードする