技術用語解説

SBOM(エスボム)とは?メリットや導入の課題・注意点、導入・運用の流れを解説

SBOM(ソフトウェア部品表)とは、コンポーネント・ライセンス・脆弱性情報を可視化したもの。導入メリット、課題、ツール選定ポイントまで、セキュリティリスク管理に必要な知識を解説します。

目次

  1. 1SBOM(エスボム)とは
  2. 2SBOMを導入する6つのメリットと効果
  3. 3SBOM導入時における3つの課題と注意点
  4. 4SBOMの導入・運用ステップ
  5. 5SBOMツールを比較する5つのポイント
  6. 6まとめ

SBOM(エスボム)とは、コンポーネント(部品)やライセンスデータ、コンポーネント同士の依存関係などを可視化したもののことです。ソフトウェアのサプライチェーンにおける既知の脆弱性(CVE)を特定したり、コンプライアンス(ライセンス問題など)をチェックしたりといったセキュリティリスク管理を行うことに使われています。

本記事では、SBOMの概要やツールを導入するメリット・デメリット、導入・運用ステップについて詳しく解説します。SBOMについて知りたい方、導入を検討している方は、ぜひ参考にしてください。

SBOM(エスボム)とは

SBOM(Software Bill of Materials)とは、ソフトウェアを構成するコンポーネントや依存関係、バージョンなどの情報を網羅的にリスト化したもののことです。作成することで、ソフトウェアの透明性を向上させトレーサビリティを確保可能です。脆弱性があるコンポーネントがないかや、あった場合その脆弱性がどの程度に影響を与えるかを迅速に把握する際に役立ちます。

ここからは以下の事項について解説します。

  • SBOMが注目されている理由
  • SBOMに含まれる主な情報
  • 代表的なSBOMのフォーマット

SBOMが注目されている理由

SBOMが注目されている主な理由は以下の3つです。

  • ソフトウェアサプライチェーン攻撃の増加
  • アメリカ大統領令の発令
  • 経済産業省による「ソフトウェア管理に向けたSBOMの導入に関する手引」の発行

順に解説します。

ソフトウェアサプライチェーン攻撃の増加

SBOMが注目されている理由は、ソフトウェアサプライチェーン攻撃が増えているためです。ソフトウェアサプライチェーン攻撃とは、ソフトウェアの開発や製造、提供の工程で侵入して、不正なコード・マルウェアを仕込むサイバー攻撃のことです。
多くのOSS(オープンソースソフトウェア)はサードパーティのコンポーネントやライブラリを活用しており、コード・マルウェアを仕込まれるリスクが向上しています。自社の活用するソフトウェアのコンポーネントを把握・管理しなければ、サイバー攻撃への対策ができません。万が一、保有する個人情報を盗まれれば、企業の信用やブランドイメージが低下するでしょう。最悪の場合、事業の継続が困難になる恐れもあります。

なお、ソフトウェアサプライチェーン攻撃の詳細は以下をご覧ください。
⇒サプライチェーン攻撃とは?攻撃された場合のリスクや被害事例、防止策を解説

アメリカ大統領令の発令

2021年5月12日にアメリカの大統領令が発令されたことも、SBOMが注目されている理由です。全11章から成り立つ「Executive Order on Improving the Nation’s Cybersecurity(国家のサイバーセキュリティの向上に関する大統領令)」の第4章「ソフトウェア・サプライチェーン・セキュリティの強化」で、SBOMの利用が推奨されました。その結果、SBOMの必要性が再認識されています。

経済産業省による「ソフトウェア管理に向けたSBOMの導入に関する手引」の発行

日本では、2023年7月28日に経済産業省が「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を発表して話題になりました。手引には、SBOMの基礎的な情報やメリット、導入方法が具体的に示されており、企業が効率的にSBOMを導入できるようになりました。

SBOMに含まれる主な情報

SBOMに含まれる主な情報は以下の通りです。

  • サプライヤー(提供者)名
  • コンポーネント名やバージョン
  • 適用されるライセンス
  • 他のコンポーネントやライブラリに対する依存関係
  • 各コンポーネントの正当性を保証するハッシュ値
  • 既知の脆弱性やパッチの適用状況
  • SBOMの作成者と作成日時

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

SBOMを作成する際の代表的なフォーマットは以下の3つです。

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

順に紹介します。

SPDX(Software Package Data Exchange)

OSSの発展を促進する非営利団体Linux Foundationが主導しているフォーマットです。ISO/IEC 5962:2021として国際標準規格に認定され、特にOSSのライセンス管理で用いられています。
SPDXの概要は以下の通りです。

  • 対応形式:JSON・YAML・RDF/XML・Tag/Value
  • 主な活用目的:ライセンスコンプライアンスの強化、セキュリティ管理

日本発祥でSPDXの重要項目だけを絞り込んだ「SPDX-Lite」と呼ばれるフォーマットも存在します。

CycloneDX

Webアプリケーションのセキュリティ向上を目的に活動する非営利団体OWASP(Open Web Application Security Project)が推進しているフォーマットです。脆弱性管理などで強みを発揮しており、特にセキュリティ分野での用途が増加しています。
CycloneDXの概要は以下の通りです。

  • 対応形式:JSON・XML・Protobuf
  • 主な活用目的:セキュリティリスクの管理、脆弱性対応

SWID タグ(Software Identification タグ)

ISO/IEC 19770-2に基づく標準フォーマットです。デバイスにインストールされたソフトウェアの追跡を目的に開発されました。特に、エンタープライズのソフトウェア資産管理で用いられています。
SWID タグの概要は以下の通りです。

  • 対応形式:XML
  • 主な活用目的:資産管理、コンプライアンスの監査

SBOMを導入する6つのメリットと効果

SBOMを導入する際にはツールを活用するケースが一般的です。ここからは、SBOMツールの導入における以下6つのメリット・効果について解説します。

  • セキュリティの強化
  • サプライチェーンリスクの抑制
  • 脆弱性管理工数・コストの軽減
  • 開発のプロセス改善
  • サイバーレジリエンスの強化
  • ライセンス違反リスクの低減

セキュリティの強化

SBOMツールを用いることにより、セキュリティ強化を図れます。SBOMを作成して、構成情報の整理・可視化を行えばセキュリティリスクを軽減できます。問題の早期発見や迅速な対応が可能になるでしょう。また、影響範囲も特定しやすくなり対処の優先順位付けにも役立ちます。

サプライチェーンリスクの抑制

サプライチェーンリスクの抑制にも、SBOMツールの導入は効果的です。SBOMを作成すれば、各コンポーネントの詳細が明らかになります。通常では確認が疎かになりがちな詳細調査で、脆弱性やリスクを可視化できるでしょう。各コンポーネントにおけるセキュリティ上の問題を解決することにより、システム全体の安全性向上につながります。

脆弱性管理工数・コストの軽減

脆弱性管理工数・コストの軽減にも、SBOMツールは効果的です。ツールを活用することにより、自動で脆弱性を検出できます。セキュリティ担当者が、データベースを確認して情報を収集する必要はありません。
また、見落としのリスクも軽減できるでしょう。レポート作成機能が実装されたツールを用いれば、役員会への報告や意思決定にも役立ちます。

開発のプロセス改善

開発のプロセス改善にも、SBOMツールは有効です。各コンポーネントのバージョン・ライセンスの可視化は、開発の遅延防止や期間短縮に役立ちます。また、開発期間の短縮はコスト削減にもつながります。

サイバーレジリエンスの強化

サイバーレジリエンスの強化も、SBOMツール導入のメリットです。サイバーレジリエンスとは、サイバー攻撃への耐性と迅速な復旧能力のことです。SBOMは、サイバー攻撃を受けた際の影響範囲特定に活用でき、迅速な復旧に役立ちます。また、攻撃されやすいポイントを明確にする際にも有効です。

ライセンス違反リスクの低減

SBOMツールの導入は、ライセンス違反リスクの低減にも効果的です。故意でなくても、ライセンス違反は企業の信用を低下させる原因になります。SBOMとして見える化すれば、ライセンス情報を正確に把握できるようになるため、契約や更新漏れを防げるでしょう。

SBOM導入時における3つの課題と注意点

メリットがあるSBOMツールですが、以下3つの課題と注意点も存在します。

  • 導入・運用に手間とコストがかかる
  • ツールごとに出力フォーマットが異なる
  • 誤検出や検出漏れが発生する

順に解説します。

導入・運用に手間とコストがかかる

SBOMツールの導入・運用には手間とコストがかかります。多くのSBOMツールは海外製で、多くの場合問い合わせが日本語対応していません。疑問や不明点を解消しにくく、導入・運用が進まないケースもあるでしょう。また、近年はシステムのバージョンアップが頻繁に行われており、その都度SBOMの内容を更新しなければなりません。
大規模な組織で導入する場合には、多くのコストがかかります。

ツールごとに出力フォーマットが異なる

ツールごとに出力フォーマットが異なる点も、SBOMツール導入時の課題です。具体的には、対応形式や記載項目が異なります。互換性がない場合、統合管理やデータの一貫性確保が困難で、脆弱性の確認に時間がかかります。

誤検出や検出漏れが発生する

誤検出や検出漏れが発生する恐れもあります。SBOMツールは、以下によりコンポーネントの情報を収集しますが完ぺきではありません。

  • ソースコード解析
  • バイナリ解析
  • 依存関係スキャン

特に、コードベースが複雑な場合やOSSと独自コードが混在する場合は、誤りが発生しやすくなります。確認や修正の手間が発生するでしょう。

SBOMの導入・運用ステップ

SBOMの導入・運用ステップは以下の通りです。

  1. 適用範囲の明確化とツール導入
  2. コンポーネントの解析とSBOMの作成
  3. SBOM情報の管理と運用

ここからは、上記各ステップについて解説します。

1.適用範囲の明確化とツール導入

まずは、SBOMの適用範囲を明確にします。全てを対象にするか、一部にするかを決定しましょう。また、導入ツールの選定も行います。SBOMの作成は手動でも可能ですが、手間と時間がかかるためツールを使うケースが一般的です。なお、ツールを比較するポイントは後ほど解説します。

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

ツールを導入したら、コンポーネントの解析とSBOMの作成を行います。「SBOM導入時における3つの課題と注意点」の章で解説した通り、誤検出や検出漏れが発生するケースもあるため、解析後内容に誤りがないか確認しましょう。具体的な手順は以下の通りです。

  1. 対象ソフトウェアのスキャンとコンポーネント情報の解析
  2. エラーなどが発生していないかのチェック
  3. 誤検出や検出漏れがないかの確認
  4. SBOMの作成

3.SBOM情報の管理と運用

SBOMが作成できたら管理と運用を開始します。脆弱性やライセンス違反がないかを確認しましょう。また、存在する脆弱性の深刻度や影響度が大きい場合には、対策を実施します。
ソフトウェアのバージョンアップがあれば、SBOMの内容更新も行います。

SBOMツールを比較する5つのポイント

SBOMツールは複数存在するため、自社に合うものを導入することが重要です。最後に、SBOMツールを比較する以下5つのポイントについて解説します。

  • 機能
  • 検出対象範囲や性能
  • 解析可能範囲と方法
  • 管理・運用方法
  • サポート体制

機能

必要な機能があるか確認しましょう。SBOMツールは複数あり、それぞれ実装されている機能が異なります。自社の目的やニーズ、活用シーンに応じて、必要な機能を明確にすることが重要です。例えば、開発で活用する場合にはコンポーネントの管理や依存関係の可視化を、セキュリティ対策なら脆弱性の検出やライセンス管理を重視すると良いでしょう。

検出対象範囲や性能

検出対象範囲や性能の確認も欠かせません。自社が設定した適用範囲を満たすかのチェックが重要です。また、性能が低い場合、チェックや修正に多くの手間がかかります。テストやトライアル期間を上手く利用して、性能を確認しましょう。

解析可能範囲と方法

解析可能範囲と方法の比較も重要です。ツールごとに、解析できる情報が異なります。自社で必要な情報を解析できるか、導入前に確認しておくと良いでしょう。
また、コンポーネントの解析方法は主に以下の3種類が存在します。

  • コードマッチング:OSSデータベースとのマッチングでコンポーネントを解析する
  • 依存関係検出:パッケージマネージャーで取得するOSSを参照する
  • 文字列検出:ソフトウェアのライセンス文字列からデータを抽出する

上記を単体で利用して解析を行うツールもあれば、組み合わせているものも存在します。

管理・運用方法

管理・運用方法の確認も重要です。現場の担当者も使用感を試して、問題ないものを選定しましょう。SBOMは定期的な更新が必要なため、管理・運用が複雑なツールを導入すると担当者に過度な負担がかかります。

サポート体制

サポート体制のチェックも欠かせません。ツールの導入時や運用時には、不明点が発生する可能性が高いでしょう。サポート体制が充実していれば、安心して利用できます。また、マニュアルやFAQの有無も確認すると良いでしょう。日本語のドキュメントが存在するものであれば、問い合わせの手間を軽減できます。

まとめ

SBOMとは、ソフトウェアを構成するコンポーネントや依存関係、バージョンなどの情報を網羅的にリスト化したもののことです。ソフトウェアサプライチェーン攻撃の増加やアメリカ大統領令の発令など複数の要因で、注目を集めています。ツールを導入してSBOMを作成すれば、セキュリティの強化やサプライチェーンリスクの抑制、脆弱性管理工数・コストの軽減などの効果を得られるでしょう。
ただ、SBOMツールは完ぺきではなく誤検出や検出漏れが発生するリスクがあります。SBOM作成後には、セキュリティ担当者による内容のチェックが重要です。

ただ、セキュリティ担当者が脆弱性に関する情報を収集していなければ、検出漏れなどを見逃す恐れがあるでしょう。弊社SMSデータテックが運営する「セキュリティNOW!」を利用すれば、毎日更新されるニュースやコラムでセキュリティに関する情報を集められます。