バックオフィスのトレンド情報をまとめて解説!

SBOM(Software Bill of Materials)とは?導入によるメリットや手順を詳しく解説!

監修 松浦絢子 弁護士

SBOM(Software Bill of Materials)とは?導入によるメリットや手順を詳しく解説!

SBOMはソフトウェアのコンポーネントや、コンポーネントの依存関係などの情報を可視化した一覧です。本記事では、SBOMの概要導入のメリットを解説します。

近年では、あらゆる産業でハードウェアやソフトウェアは必要不可欠な存在です。しかしソフトウェア部品の脆弱性を狙ったサイバー攻撃なども生じており、企業でのセキュリティ管理が課題となっています。

記事後半ではSBOMの導入方法も解説しているので、ぜひ最後までご覧ください。

目次

スモールビジネスを、世界の主役に。

freeeは会計・人事労務ソフトなどのサービスを開発・提供し、バックオフィス業務の煩雑さからの解放を目指します。経営に関するお悩みは、ぜひfreeeにご相談ください!

SBOM(Software Bill of Materials)とは?

SBOMとは、ソフトウェアのコンポーネントや、コンポーネントの依存関係などの情報を可視化した一覧です。「ソフトウェア部品表」とも呼ばれています。

コンポーネントとは、ソフトウェアを構成する部品や要素です。下図のように、SBOMは食品に含まれる原材料を記載した「食品表示」と類似しています。

SBOM(Software Bill of Materials)とは?

出典:経済産業省「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引Ver.1.0」

ソフトウェア(食品)に含まれるコンポーネント情報(原材料)が確認できれば、脆弱性への対応やリスク管理を行いやすくなります。

脆弱性とは、情報セキュリティ上の欠陥です。脆弱性が残っている場合、不正アクセスやウイルス感染といったリスクが生じます。そのためコンポーメントの情報や依存関係を可視化し、脆弱性を見落とさないように管理することが重要です。

3つの構成要素

米国商務省の電気通信情報局(NTIA)が定義した、SBOMの最小要素は下表の通りです。

カテゴリー概要具体的な定義
1 Data Fields
(データフィールド)
各コンポーネントの基本情報を明確化することサプライヤー名・コンポーネント名・コンポーネントのバージョンなど、各コンポーネントに関する基本情報をSBOMに含める
2 Automation Support
(自動化サポート)
SBOMの自動生成や可読性などの自動化をサポートすることSBOMデータを、機械判読および相互運用が可能なフォーマットを使用して作成する
3 Practices and Processes
(プラクティスとプロセス)
SBOMの要求・生成・利用に関する運用方法を定義することSBOMを利活用する組織は、SBOMの作成頻度・共有・アクセス管理などの項目に関して、運用方法を定義する


SBOMの最小要素には、3つのカテゴリーがあります。SBOMのデータに含むべき項目だけでなく、SBOMの利用者が実施するべき事項も定められています。

SBOM(Software Bill of Materials)を導入するメリット

SBOM(Software Bill of Materials)を導入するメリットは、次の通りです。

SBOMのメリット

● 脆弱性を管理しやすくなる
● ライセンスを管理できる
● 開発・生産性が向上する
主なメリットについて、詳しく見てみましょう。

脆弱性を管理しやすくなる

近年、コンポーネントの階層構造や依存関係が複雑化しており、セキュリティの管理が一段と難しくなっています。SBOMの導入により、コンポーネント管理にかかる手間やリスクの低減が期待できます。

SBOMは、各コンポーネントの脆弱性データベースを照らしあわせるため、既知の脆弱性に関して、影響の有無などを効率的に確認することが可能です。

新たな脆弱性をリアルタイムで検出するため、何か生じた際に即座に対応できるうえ、手動で管理するよりコストを抑えられるでしょう。

ライセンスを管理できる

ライセンスとは、ソフトウェアの使用権です。ソフトウェアを利用する際、購入者以外の使用や複製の禁止など、定められたルールを守らなければなりません。

ソフトウェアのライセンス利用規約に違反すると、ソフトウェアの利用停止や回収に追い込まれるおそれがあるほか、損害賠償を支払わなければならない場合があります。

また企業での違反行為が明るみになれば、社会的信用を失い、ブランドイメージの低下にもつながるリスクもあります。

OSS(オープンソースソフトウェア)の特定漏れで生じる「ライセンス違反の防止」が図れるのも、SBOMのメリットです。また脆弱性管理と同様に、手動よりも自動で管理したほうが、手間やコストがかかりません。

開発・生産性が向上する

SBOMによって、ソフトウェアに生じた問題を早期に特定できます。早い段階で対応すれば、開発遅延を防ぎ、対応に必要なコストを抑えられるでしょう。

また社内で利用承認されたコンポーネント情報を記録できるため、開発のたびにコンポーネントを調査・承認しなくて済みます。開発工数を減らせるので、生産性の向上が期待できます。

SBOM(Software Bill of Materials)の重要性が高まった背景

SBOMは、2018年7月から始まったNTIAによる実証を通じて、注目を集めました。その背景には、産業機械や自動車などの制御にソフトウェアの導入が進み、企業におけるソフトウェアの重要性が高まっていることが挙げられます。

多くの企業は、パソコンなどのハードウェア・システムを構築し、そのうえで多様な機能をもつソフトウェアを利活用しています。近年では、OSS(自由に利用できる公開されたプログラム)の利用が一般的です。

一方、ソフトウェアサプライチェーンの複雑化によりコンポーネントの把握が難しくなっていることは、企業にとって大きな課題です。ソフトウェアの脆弱性を見逃すことは、セキュリティの脅威につながり、企業経営に大きな影響を及ぼす可能性があります。

そこで、ソフトウェアの脆弱性管理に有効な手法として、SBOMを導入する組織が増えています。

SBOM(Software Bill of Materials)のフォーマット

SBOMの最小要素のひとつに、「Automation Support(自動化サポート)」があります。Automation Support では、「SBOMデータは、機械判読可能かつ相互運用可能なフォーマットによって作成され、共有されること」が定められています。

主なフォーマットの例は、下表の通りです。

フォーマット名特徴
SPDX
(Software Package Data Exchange)
● ISO/IEC5962:2021として国際標準化されている
● 幅広いソフトウェア部品タイプをサポートしている
● 日本発のフォーマット「SPDX-Lite」がある
CycloneDX● セキュリティ管理に重点を置いたフォーマットである
● 既知の脆弱性だけでなく、その脆弱性の悪用可能性も記述できる
SWIDタグ
(Software Identificationタグ)
● ソフトウェアのライフサイクルに沿ってSBOMを管理できる
● ソフトウェアの識別だけでなく、コンポーネントのライセンスやアップデートの情報、脆弱性・脅威に関する情報を含むことが可能


各フォーマットの特徴は異なるため、SBOM導入の目的や適用範囲などを考慮したうえで、SBOMツールを選定するのが望ましいでしょう。

SBOM(Software Bill of Materials)の導入方法

ここでは、SBOMを導入する際の手順を各フェーズごとに説明します。

SBOMの導入方法

● 環境構築・体制整備フェーズ
● SBOM作成・共有フェーズ
● SBOM運用・管理フェーズ

環境構築・体制整備フェーズ

下記の通り、SBOM導入の第一段階として、4つのポイントを押さえておきましょう。

環境構築・体制整備におけるポイント具体的な内容
適用範囲の明確化● SBOMの対象となるソフトウェアに関する情報(開発言語・コンポーネントの形態・開発環境ツールなど)を整理する
● 5W1Hの観点(作成主体・タイミング・対象とするコンポーネントの範囲・作成手段・活用範囲・フォーマットなど)から、SBOMの適用範囲を明確化する
SBOMツールの選定● SBOMツールは主に有償・無償の2つに分類される
● ツールが有する機能・性能・解析可能な情報といった観点から、SBOMツールの評価および選定を行う
SBOMツールの導入および設定● 選んだツールの導入要件を確認し、環境を整える
● 有償のSBOMツールなどで、初期設定のサポートサービスがある場合は、活用する
SBOMツールに関する学習● 取扱説明書やREADMEファイルを確認して、ツールの使い方を習得する
● ツールの使用方法に関するノウハウや機能の概要を記録し、組織内で共有する


導入にあたって、まずはSBOMに関する環境と体制を整える必要があります。

SBOM作成・共有フェーズ

SBOMを使用する準備ができれば、いよいよ実際にSBOMを作成し、共有する段階に入ります。SBOMの作成・共有フェーズで実施すべき事項や認識すべきポイントは、次の通りです。

SBOM作成・共有におけるポイント具体的な内容
コンポーネントの解析● 対象ソフトウェアのスキャンを行い、コンポーネントの誤検出や検出漏れの有無を確認する
● 誤検出や検出漏れに関しては、ツールの解析方式を考慮する
SBOMの作成● 作成前に、SBOMに含める項目・フォーマット・出力ファイル形式などを決めておく
● 作成日時は明確に記録する
● SBOM利用者が活用しやすい情報であるか検討する
SBOMの共有● 必要に応じて、ソフトウェアの利用者や納入先に対して作成したSBOMを共有する


なお誤検出・検出漏れの確認は、基本的に人手で実施するため、コンポーネントが膨大なソフトウェアの場合は網羅的な確認が難しいケースがあります。

SBOM運用・管理フェーズ

SBOMの運用・管理に関して、実施すべき事項や認識すべきポイントは2点あります。

SBOM運用・管理におけるポイント具体的な内容
SBOMに基づく脆弱性管理・ライセンス管理の実施● SBOMツールの出力結果を踏まえ、脆弱性の有無の確認やライセンス管理を行う
● 脆弱性を発見した場合、箇所の特定・影響範囲の分析・深刻度の評価など、脆弱性対応を実施する
● 遵守不可能(または困難)なライセンス条件を発見した場合、利用コンポーネントや利用方法などを変更する
SBOM情報の管理● 作成したSBOMは、変更履歴も含めて一定期間保管する


SBOMのメリットを享受するには、上記のように適切な管理を実施することが重要です。

スモールビジネスを、世界の主役に。

ビジネスには立ち上げから運営までさまざまなアクションが伴います。

freeeは「統合型経営プラットフォーム」を開発・提供し、ビジネスをより円滑にするためのサポートを行います。

自動化によるプロセスの最適化や管理体制の改善がもたらすのは、業務効率の向上だけではありません。ルーティンワークや非効率な作業に手を取られることがなくなれば、よりクリエイティブな活動に時間を充てられます。

多様なアイデアが生まれ、だれもが自分らしく自然体で働ける環境をつくるために。既存の枠組みにとらわれない働き方を実現し、あらゆる業務の煩雑さからの解放を目指します。

経営に関するお悩みは、ぜひ一度freeeにご相談ください。

まとめ

SBOMとは、ソフトウェアを構成する要素や依存関係などを可視化したものを指します。ソフトウェアの脆弱性管理が重要視されるなか、有効な手段として注目が集まっています。

SBOMの導入によって、ソフトウェアの脆弱性管理やライセンス管理を効率的に行えるようになるため、企業の開発・生産性の向上も期待できるでしょう。

よくある質問

SBOM(Software Bill of Materials)とは?

ソフトウェアのコンポーネントや、その依存関係などを可視化した一覧であり、「ソフトウェア部品表」とも呼ばれます。

詳しく知りたい方は、「SBOM(Software Bill of Materials)とは?」をご覧ください。

SBOM(Software Bill of Materials)の重要性が高まった背景とは?

SBOMの重要性が高まった理由として、企業活動におけるソフトウェアの重要性の高まりがあります。またソフトウェアのサプライチェーンが複雑化しているなか、脆弱性の管理などの難しさが課題となっています。

詳しく知りたい方は、「SBOM(Software Bill of Materials)の重要性が高まった背景」をご覧ください。

監修 松浦絢子(まつうら あやこ) 弁護士

松浦綜合法律事務所代表。京都大学法学部、一橋大学法学研究科法務専攻卒業。東京弁護士会所属(登録番号49705)。法律事務所や大手不動産会社、大手不動産投資顧問会社を経て独立。IT、不動産、相続、金融取引など幅広い相談に対応している。さまざまなメディアにおいて多数の執筆実績がある。

監修者 松浦絢子