← ARTICLE INDEX
NO.073サプライチェーン / SBOM

SBOM(ソフトウェア部品表)とは?― 製造業の「部品表」と同じ発想が、ソフトにも求められる理由

SBOMは、ソフトウェアに含まれる部品(OSSやライブラリ)を一覧にしたものです。脆弱性が公表されたとき「自社製品に影響があるか」を即座に判断するために使われます。SPDXとCycloneDXという形式、経済産業省の手引、EUサイバーレジリエンス法や医療機器での要求、そして製造業のBOMとの共通点を整理します。

公開QUALIKEEP 編集部
サプライチェーンSBOMセキュリティOSS製品安全

この記事の要点SUMMARY

  • SBOMはソフトウェアに含まれる部品(OSS・ライブラリ)の一覧。脆弱性が出たときの影響調査を可能にする
  • EUのサイバーレジリエンス法や医療機器の分野で要求が具体化しており、製品にソフトが入る製造業にも関わってくる
  • 発想は製造業の部品表とまったく同じ。「何が入っているか分からないものは、問題が起きたとき範囲を絞れない」

ある広く使われているソフトウェア部品に重大な脆弱性が見つかった——というニュースが流れたとき、製造業の現場では同じ問いが発生します。「うちの製品に、それは入っているのか」。この問いに数時間で答えられる企業と、数週間かかる企業がいます。差を生むのが SBOM(Software Bill of Materials:ソフトウェア部品表)です。この記事では、製造業の視点からSBOMを整理します。

SBOMとは何か ― 部品表のソフト版

発想は単純で、製造業のBOM(部品表)とまったく同じです。製品にどの部品が、どのメーカーの、どのバージョンで入っているかを一覧にする。それをソフトウェアに対して行うのがSBOMです。

製造業のBOMSBOM
部品にあたるものネジ、基板、樹脂部品OSS、ライブラリ、フレームワーク
メーカーにあたるもの部品の供給元供給者・開発元
型番にあたるもの部品番号コンポーネント名とバージョン
ロットにあたるもの製造ロットハッシュ値(同一性の確認に使う)
入れ子構造部品の中にさらに部品依存関係(あるライブラリが別のライブラリを使う)
付随情報材質、CoAライセンス、生成日

とくに入れ子構造の行が重要です。製造業でも「買った部品の中身までは把握していない」という問題がありますが、ソフトウェアではこれが顕著です。1つのライブラリを使うと、そのライブラリが依存する別のライブラリが自動的に付いてきます。それがさらに別のものを呼び——という連鎖が、数十から数百の階層になることも珍しくありません。

SBOMに書かれている内容

実物のイメージを持っておくと理解が早くなります。形式によって項目名は異なりますが、おおよそ次のような情報が並びます。

項目内容の例何のために要るか
コンポーネント名ライブラリやモジュールの名前何が入っているかの特定
バージョン2.14.1脆弱性は特定の版に紐づく。ここが最重要
供給者開発元、配布元問い合わせ先、信頼性の判断
ライセンスMIT、Apache-2.0、GPL など利用条件の確認。商用製品で使えるかに関わる
依存関係AがBを使い、BがCを使う間接的に入っているものの把握
ハッシュ値ファイルの指紋同一性の確認。すり替えの検出
生成日時いつ時点の構成かどのビルドに対応するSBOMかの特定

ライセンスの行は、セキュリティとは別の理由で重要です。OSSには利用条件があり、条件によっては自社のソースコードの公開を求められる場合もあります。「知らずに使っていた」が後で問題になるのは、脆弱性だけではありません。

「直接使っているもの」は氷山の一角

直接依存(開発者が選んだもの)

数個〜数十個。「このライブラリを使おう」と決めたもの

間接依存(付いてくるもの)

そのライブラリが内部で使っているもの。**数百〜数千に及ぶことがある**

脆弱性はどこにでも出る

**深い階層のものほど、入っていること自体が認識されていない**

開発者が意識して選んだものより、勝手に付いてくるものの方が圧倒的に多い

製造業に置き換えるなら、「購入した完成ユニットの中に、どのメーカーのどのグレードの部品が入っているか」を全階層にわたって把握している状態にあたります。モノの世界では現実的に難しいことが多いのですが、ソフトウェアはツールで機械的に抽出できるため、実現が求められる水準が高くなっています。

なぜ必要になったのか

直接のきっかけは、広く使われているOSSに深刻な脆弱性が見つかる事案が繰り返されたことです。世界中の製品に組み込まれていたため、影響範囲の特定に膨大な時間がかかりました。

脆弱性が公表される

「ライブラリXのバージョン1.2以前に問題がある」

SBOMがある場合

一覧を検索すれば、影響する製品と版がすぐ分かる → 対応に着手できる

SBOMがない場合

製品ごとにソースを調べる、開発担当に聞く、外注先へ問い合わせる → **数週間かかることも**

SBOMがあるかどうかで、初動の速さが決まる

「調べれば分かる」と「一覧を見れば分かる」の差です。これは製造業で、リコール時に「材料ロットがどの製品に入ったか」を追えるかどうかの差と、構造的にまったく同じです(「トレーサビリティとは」)。

形式 ― SPDXとCycloneDX

SBOMは自由な様式では意味が薄れます。受け取る側が機械的に処理できる必要があるため、標準の形式が使われます。代表的なものが2つあります。

SPDXCycloneDX
成り立ちLinux Foundation由来。ライセンス管理の文脈から発展OWASP由来。セキュリティの文脈から発展
得意な用途ライセンスの適合確認、法務的な整理脆弱性管理、サプライチェーンのリスク把握
国際規格ISO/IEC 5962として標準化されているECMA標準として整備
実務での扱いどちらも広く使われており、取引先の指定に従うのが基本同左

経済産業省も「ソフトウェア管理に向けたSBOMの導入に関する手引」を公開しており、この2つの形式の採用を前提とした整理をしています。国内で検討を始めるなら、まずこの手引が実務的な出発点になります。

どこで求められるのか

領域状況
EU サイバーレジリエンス法(CRA)デジタル要素を持つ製品が対象。SBOMが要求の中心的な要素として位置づけられている
医療機器米国FDAは、市販前申請にSBOMが含まれない場合に受理しない扱いができるとしている
政府調達米国では大統領令を契機に、政府に納入するソフトへの要求が進んだ
自動車車載ソフトのセキュリティ要求の中で、部品の把握が求められる
産業機器全般取引先からの要求として降りてくるケースが増えている

「うちはソフト会社ではない」は理由になりません

対象になるのは、ソフトウェアを製品として売る企業だけではありません。制御基板が入った産業機器、通信機能を持つ計測器、アプリと連携する家電——ソフトウェアが組み込まれた製品を作っているなら、その製品にSBOMが求められる可能性があります。「ソフトは外注しているから」という場合は、外注先から受け取る必要が出てきます。

実務上の難所

  • 外注ソフトの中身が分からない:委託先が何を使っているか、契約に含めていないと開示されません。新規の委託契約から順に条項を入れるのが現実的な進め方です
  • 組み込み機器の古いソフト:10年前に作られたファームウェアの構成が、資料としても人の記憶としても残っていない
  • バージョンの粒度:「Xを使っている」では足りず、どの版かまで必要
  • 更新の追随:SBOMは一度作って終わりではなく、ソフトを更新するたびに作り直すもの
  • 受け取ったSBOMの検証:内容が正しいかを確認する手段が限られる

2番目は、製造業の現場感覚に近い問題です。長く売り続けている製品ほど、中身の記録が残っていない。設備の図面が行方不明になるのと同じ現象が、ソフトウェアでも起きています。

製造業のBOM管理との共通点

ここまで読んで、既視感を覚えた方も多いはずです。SBOMが解こうとしている問題は、製造業がずっと向き合ってきた問題と同じ形をしています。

問題の型製造業(モノ)ソフトウェア
中身が分からない購入部品の下位構成が不明依存ライブラリが把握できていない
問題発生時の範囲特定どの製品にどの材料ロットが入ったかどの製品にどの版のライブラリが入ったか
供給元への遡及二次・三次サプライヤーへの調査外注先・OSSコミュニティへの確認
更新の追随材料の切替、仕様変更ライブラリのバージョンアップ
長寿命製品10年前の部品の記録がない10年前のファームの構成が不明

共通するのは、「入っているものを一覧にしておかないと、問題が起きたときに範囲を絞れない」という一点です。含有化学物質調査(「chemSHERPAとは」)も、デジタル製品パスポート(「DPPとは」)も、根っこは同じ発想です。

よくある誤解

  • 「SBOMを作れば安全になる」:SBOMは一覧であって対策ではありません。脆弱性が見つかったときに素早く動けるようになる、という道具です
  • 「一度作れば終わり」:ソフトを更新するたびに作り直すものです
  • 「ソフト会社の話」:製品にソフトが組み込まれていれば、製造業でも対象になりえます
  • 「外注しているから自社には関係ない」:外注先から受け取る責任が生じます。契約に含める必要があります
  • 「形式はどれでもよい」:受け取る側が処理できる形式である必要があります。取引先の指定に従うのが基本です

まとめ

  • SBOMはソフトウェアに含まれる部品の一覧。製造業のBOMとまったく同じ発想
  • 脆弱性公表時に「自社製品に影響があるか」を即座に判断するために使われる
  • 形式はSPDXとCycloneDXが主流。経済産業省も導入の手引を公開している
  • EUのCRAや医療機器の分野で要求が具体化しており、ソフトが組み込まれた製品を作る製造業にも及ぶ
  • 難所は外注ソフトの中身の把握と、古い製品の構成記録。長寿命製品ほど厳しい

この記事とQUALIKEEPの関係について

率直にお伝えします。このテーマに関して、QUALIKEEP にできることはありません。SBOMの生成、ソフトウェア構成の解析、脆弱性の照合——いずれも対象外で、QUALIKEEP は原材料や副資材といった物理的なモノの受入・期限・ロットを記録するサービスです。ソフトウェア資産の管理機能は持っていません。

この記事を書いたのは、発想が共通しているからです。「入っているものを一覧にし、問題が起きたときに範囲を絞れるようにする」という考え方は、モノでもソフトでも変わりません。もし読者の会社で、モノの側でも同じ問題——「どの製品にどの材料ロットが入ったか、すぐには分からない」——が起きているのであれば、そちらは QUALIKEEP が扱える領域です。

領域扱えるか補足
SBOMの生成・管理できませんソフトウェア構成の解析、SPDX/CycloneDXの出力、脆弱性データベースとの照合はいずれも対象外です
統合BOM/PLMできません機械部品・電気部品・ソフトを横断して構成を管理するシステムではありません。製品構成表の管理はPLM/基幹システムの領域です
CRA・FDA等への適合保証しませんサイバーセキュリティ関連法規への適合を判断・保証するものではありません。本記事での言及は、考え方の共通性を示すための例示です
原材料・副資材のロット記録扱えます受入・開封・使用・廃棄をQRスキャンで記録し、日付やロットから検索できます

モノの側の「部品表」は、いま辿れる状態になっていますか。

QUALIKEEP の機能や料金を詳しく見る →

ご注意

本記事は公開情報をもとにした一般的な解説です。SBOMに関する各国の要求内容・適用時期・対象範囲は変更されます。実際の対応にあたっては、経済産業省の手引、IPAの情報、および各国当局・取引先の最新要求をご確認ください。

参考・出典

  1. 経済産業省「ソフトウェア管理に向けたSBOMの導入に関する手引」
  2. IPA(情報処理推進機構)

※ 外部サイトの内容・URL は変更される場合があります。最新の情報は各機関の公式ページをご確認ください。

FEEDBACK

この記事について、ご質問・ご意見をお寄せください

いただいた内容がそのままサイトに公開されることはありません運営が読んで、記事の加筆や次に書くテーマの参考にします。返信をご希望の場合はメールアドレスをご記入ください (内容により、お返事に時間をいただくことがあります)。

送信いただいた内容の取り扱いはプライバシーポリシーをご覧ください

ABOUT QUALIKEEP

開封期限の管理を、現場のスマホで仕組みに。

QR スキャンで開封日時を自動記録。気温・湿度に応じて期限を自動補正し、期限前に通知します。記録は「いつ・誰が・どの材料を」までサーバ側に残ります。