SBOM(Software Bill of materials)とは?ソフトウェアの成分表がサプライチェーン攻撃対策になる理由を解説!
はじめに
ソフトウェア開発やセキュリティの分野で、近年よく耳にするようになった言葉にSBOM(エスボム)があります。
しかし、
- SBOMって何?
- なぜ今になって注目されているの?
- ソフトウェアの部品表ってどういう意味?
- 開発者以外にも関係あるの?
と疑問に思う方も多いのではないでしょうか。
実はSBOMは、近年増加しているサプライチェーン攻撃への対策として注目されている重要な考え方です。
この記事では、SBOMについて会話形式でわかりやすく解説します。
SBOMって何?

SBOMって最近よく聞くけど、何のこと?

SBOMはSoftware Bill of Materialsの略だよ。

英語だと余計に分からない。

日本語にすると『ソフトウェア部品表』だね

部品表?

そう。ソフトウェアを構成している部品やライブラリを一覧にしたものなんだ。

SBOMも一見よくわからないけど、元に戻したらそのまんまってやつだね。
ソフトウェアにも部品表があるの?

でも、「部品」って言われると製造業って感じがする。
ソフトウェアにも使うの?

実はソフトウェアも部品を組み合わせて作ることが結構あるんだよ。

どういうこと?

例えば自動車を作るときは、エンジンやタイヤ、ブレーキなど、どんな部品が使われているか管理するよね。

うん。それが部品表なのはイメージできるよ。

ソフトウェアも同じ。最近のアプリやシステムは、自分たちで全部作るのではなく、たくさんのライブラリやOSS(オープンソースソフトウェア)を利用しているんだ。

つまりソフトウェアにも「どんな部品を使っているか」を管理する必要があるんだね。
その、OSSとかが部品になるんだ。

そうそう、それをまとめたものがSBOMってわけだね。

なぜSBOMが必要なの?

部品表はなんで作る必要があるの?

一番大きな理由はセキュリティだね。
例えば、あるOSSライブラリに脆弱性が見つかったとする。

ニュースでよく聞くやつだ。

その時、自社システムでそのライブラリを使っているかすぐに分からないと困るよね。

あぁ、部品表を作っておけば、どのシステムに使っているか確認しやすいし、すぐに対応できるんだね。
Log4Shellで注目されたSBOM

SBOMっていつ頃から有名になったの?

特に注目されたのは、2021年のLog4Shell問題だね。

2021年かぁ。どんな問題だったの?

Javaのログ出力ライブラリである『Log4j』に重大な脆弱性が見つかった事件だよ。

Javaなら聞いたことあるな

その時、多くの企業が「自社システムでLog4jを使っているか分からない」という状況になったんだ。

部品管理ができていなかったのか。

そう。そこでSBOMの重要性が改めて認識されたんだ。

SBOMには何が記載されるの?

SBOMには何を書くの?

代表的にはこんな情報だね。
| 項目 | 内容 |
|---|---|
| ソフトウェア名 | 利用している部品名 |
| バージョン | 利用中の版数 |
| 提供元 | 開発元や配布元 |
| ライセンス情報 | OSSライセンスなど |
| 依存関係 | 他の部品との関係 |

意外と細かいんだね。

脆弱性調査やライセンス管理にも使うからね。
SBOMのメリット
脆弱性調査がしやすい

やっぱりセキュリティが一番のメリット?

そうだね。脆弱性情報が公開された時に影響範囲を素早く調査できる。

どのシステムが危ないかすぐ分かるんだね。

サプライチェーンリスク対策になる

他にもサプライチェーン攻撃対策にもなる。

サプライチェーン攻撃ってなんだっけ?

取引先・委託先・利用しているソフトウェアなど、つながりの弱い部分を狙って本命の組織を攻撃する手法だよ。

あぁ、攻撃者が、脆弱性が見つかった部品を使っていることを知っていれば・・・

そう、すぐに攻撃しにいくはずだよね。

でも、SBOMで管理しておけばすぐに対策ができるってことだね。

ライセンス管理に役立つ

OSSにはライセンス条件があることも多い。

勝手に使っていいわけじゃないんだ。

そう。SBOMがあると利用状況を管理しやすい。
詳しい条件はまた今度解説しようね。

SBOMのデメリット
作成・管理の手間がある

次はデメリットも見てみよう。

まぁまず手間だよね。

そう、利用しているライブラリが多ければ多いほど管理が大変になるよ。
常に最新状態を維持する必要がある

ライブラリを更新したらSBOMも更新しなければならない。

古い情報だと意味がなくなるね。結局どちらも面倒が増えるってことか。

そう、それも信頼できる情報じゃないといけないからね。
試験対策としてのポイント
情報処理技術者試験やセキュリティ関連資格では、サプライチェーンリスク対策として出題されることがあります。
覚えておきたいポイントは次の通りです。
| 用語 | 試験対策ポイント |
|---|---|
| SBOM | ソフトウェア部品表 |
| OSS | オープンソースソフトウェア |
| サプライチェーン攻撃 | ソフトウェア供給経路を狙う攻撃 |
| 脆弱性管理 | SBOMの主要用途 |
| Log4Shell | SBOM注目のきっかけとなった事例 |
よくある誤解
SBOMはセキュリティ製品ではない

SBOMを導入すれば安全になるってわけじゃないよね。

そこは誤解されやすいね。
あくまで、SBOMは脆弱性を防ぐ製品ではなく、「何が使われているかを把握するための仕組み」なんだ。

あくまで管理台帳ってことだね。
OSSだけを管理するものではない

OSSが中心になることは多いけど、商用ソフトウェア部品なども含めて管理できるよ。

そりゃあOSS以外にも企業が販売する部品もあるよね。
まとめ
SBOM(Software Bill of Materials)とは、ソフトウェアを構成する部品やライブラリを一覧化したものです。
近年はサプライチェーン攻撃やOSS脆弱性対策の重要性が高まり、企業や官公庁でも注目されています。
最後にポイントを整理します。
| 項目 | 内容 |
|---|---|
| 正式名称 | Software Bill of Materials |
| 日本語 | ソフトウェア部品表 |
| 主な目的 | 利用部品の可視化 |
| 活用場面 | 脆弱性管理、ライセンス管理 |
| 関連キーワード | OSS、サプライチェーン攻撃 |
| 覚え方 | ソフトウェア版の部品表 |

SBOMはソフトウェアに使われている部品の一覧表なんだね。

その通り。『何を使っているか分かるようにする仕組み』と覚えておけば、実務でも試験でも役立つよ。

