LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

SBOMとは?必要性・導入メリットを解説

ソフトウェアサプライチェーンの弱点を狙う攻撃が増加する中、新たなセキュリティ対策として注目されているのがSBOMです。

この記事では、SBOMの概要や必要性、導入メリット、課題を解説します。

SBOMとは

SBOMはソフトウェアサプライチェーンが複雑化する中で、近年注目されている管理手法の1つです。SBOMの概要、役割と必要性、仕組みについて解説します。

SBOMとは

SBOM(Software Bill of Materials)とは

SBOMはSoftware Bill of Materialsの頭文字をとった用語で、ソフトウェアを構成する部品を一覧で管理する手法です。SBOMには、ソフトウェアを構成する各部品のサプライヤー名、コンポーネント名、依存関係、タイムスタンプなどの詳細情報が含まれます。

ソフトウェアの透明性やトレーサビリティ(追跡可能性)向上、セキュリティリスクの管理やライセンスコンプライアンスの確認が容易になるなど、様々なメリットがあります。現在、SBOMの普及に向けた取り組みが世界的に進められており、特にサイバーセキュリティの観点から重要視されています。

SBOMの役割や必要性とは

近年、ソフトウェアの運用・管理が複雑化していることから、SBOMの活用が求められています。SBOMは、ソフトウェアを構成する各部品の情報を詳細にリスト化し、ソフトウェアの可視化を実現する役割があります。

ソフトウェアの開発からリリースまでのサプライチェーンでは、コスト削減のためにOSS(オープンソースソフトウェア)やサードパーティコンポーネントが活用されてきました。

しかし、これらのコンポーネントには脆弱性が潜んでいることがあり、各部品の管理方法に課題がありました。SBOMを利用することで、ソフトウェアのどの部分でどのOSSが使用されているか、どのサードパーティコンポーネントが含まれているかなどの情報を明確化できます。

SBOMの仕組み

1つの製品を作りあげるためには、様々な会社によって開発される複数のコンポーネントを組み合わせなければなりません。SBOMの仕組みでは、コンポーネントごとにSBOMを作成し、それぞれのSBOMを組み合わせて最終製品としてのSBOMを作成します。

SBOMが組織を越えて共有されることで、各コンポーネントの起源、サプライヤー、依存関係、脆弱性情報などが可視化され、製品全体の透明性が向上します。

経済産業省では、SBOMの仕組みを説明する際に、食品の包装に記載されている食品表示を例に挙げています。食品表示では、各原材料の成分を基に食品としての成分表示が記載され、これによって消費者は食品の詳細を把握できます。

同様に、SBOMは各ソフトウェアコンポーネントの情報を持ち寄り、最終製品としての全体像を明確にします。

SBOMが注目される背景

近年、なぜSBOMが注目されるようになってきたのか、その背景には複雑化したソフトウェアサプライチェーン攻撃への対応と、SBOMの認知が拡大してきたことがあります。

それぞれの内容を詳しく見ていきましょう。

ソフトウェアサプライチェーン攻撃の増加に対応することが目的

SBOMが注目される背景には、ソフトウェアサプライチェーン攻撃の増加があります。以前、サイバー攻撃の主要な対象は、機密情報を大量に保有する大企業でした。

しかし、大企業のセキュリティ対策が強固になるにつれ、攻撃者はサプライチェーンの弱点を狙うようになってきています。たとえば、セキュリティ対策が十分に進んでいない取引先企業や海外の関係会社などの脆弱性を悪用し、そこから侵入して大企業へサイバー攻撃を行うケースです。

IPA(情報処理推進機構)の「情報セキュリティ10大脅威 2024」※1では、サプライチェーンの弱点を悪用した攻撃が2位にランクインしています。

SBOMの認知が拡大中

SBOMの認知が拡大していることを示す事実として、米国で大統領令が発行されたことと、国内では経済産業省が手引きを示したことが挙げられます。

米国、国内それぞれで起きている出来事を解説します。

米国で大統領令が発行される

2021年、米国では国家のサイバーセキュリティ向上を目的とした大統領令が発行されました。※2大統領令は、全11章から成り、第4章でソフトウェア・サプライチェーン・セキュリティの強化が重要視されています。

第4章では、ソフトウェアサプライチェーンに対するセキュリティ対策の一環として、SBOMの利用が言及されました。

具体的には、ソフトウェアサプライチェーンの透明化を図る必要があることが記載されており、SBOMを活用することが推奨されています。この大統領令により、SBOMの重要性が再認識され、ソフトウェア開発企業に対してSBOMの導入と管理が強く推奨されることとなりました。

国内でも、経済産業省より「ソフトウェア管理に向けたSBOMの導⼊に関する⼿引」が発行される

国内でも、経済産業省より「ソフトウェア管理に向けたSBOMの導入に関する手引」※3が発行されました。この手引きは、経済産業省が設置した産業サイバーセキュリティ研究会のワーキンググループ1(制度・技術・標準化)によって作成されています。

この手引きは、主にソフトウェアサプライヤー向けに、ソフトウェア管理に向けたSBOMの導入方法を具体的に示したものです。ソフトウェアサプライヤーがSBOMを適切に作成・管理するためのガイドラインが提供されています。

また、2024年4月には改定案になる「ver 2.0(案)」※4が公表され、内容に意見募集がかけられています。

経済産業省によって発行されたことで、今後は国内でもSBOMの導入が積極的に推進され、ソフトウェア納入に際してSBOMの提供が求められることが予想されるでしょう。

SBOM導入のメリットや効果、課題

SBOMを導入した場合の具体的なメリットを解説します。また、どのような効果が得られるのか、導入するにあたっての具体的な課題も合わせて見ていきましょう。

SBOM導入のメリットや効果、課題

メリット

経済産業省の手引きによると、SBOMの導入には次の3つのメリットがあることが示されています。

  • 脆弱性管理に掛かる期間・コストが低減される
  • ライセンスの違反リスク・管理工数が低減される
  • 開発生産性が向上する

それぞれの内容を見ていきましょう。

脆弱性管理に掛かる期間・コストが低減される

SBOMを導入することで、ソフトウェアのコンポーネントが細部まで透明化されます。各コンポーネントが一覧化され、どの部分にどのような脆弱性が存在するかを容易に把握できるでしょう。

たとえば、OSSに新たな脆弱性が発見された場合、SBOMを活用すれば、その脆弱性がどのコンポーネントに影響を及ぼすかを迅速に特定できます。脆弱性へ素早く対処できるため、修正作業の期間とコストが削減されます。

SBOMの導入は、ソフトウェアの安全性と信頼性を高めるだけでなく、効率的な運用管理を可能にします。

ライセンスの違反リスク・管理工数が低減される

SBOMを導入することで、ソフトウェアのコンポーネントが一覧化され、各コンポーネントのライセンス情報を可視化できます。そのため、ソフトウェア開発者や管理者は各コンポーネントのライセンス状況を瞬時に確認でき、ライセンス違反があるかどうかのチェックが容易になります。

ライセンス違反のリスクを事前に把握できるため、適切な対応を迅速に行えます。また、SBOMツールを用いることでライセンス情報を自動で管理でき、手作業による管理工数の大幅な削減が可能です。自動管理により、ヒューマンエラーも防げるため、ライセンス管理の精度が向上します。

開発生産性が向上する

SBOMを導入することで、ソフトウェアの情報が可視化され、問題を早期に発見しやすくなります。問題を早期に発見することで、開発遅延を防ぎ、修正の影響も最小限に抑えられるでしょう。そのため、開発コストが削減され、生産性が向上します。

さらに、社内で利用されたコンポーネントの情報が蓄積されるため、同じコンポーネントを再利用する際に情報を調査・承認する手間も不要です。SBOMを利用した効率化により、開発者は新たな機能開発や品質向上に集中でき、開発プロセス全体がスムーズに進行します。

効果

SBOMを活用する効果として、透明性の確保とトレーサビリティの向上が挙げられます。それぞれの内容を詳しく見ていきましょう。

透明性の確保

経済産業省の手引きでは、SBOMの効果として、ソフトウェアの透明性確保が挙げられています。近年のソフトウェアの課題は、多くのOSSを組み込んで構成されており、これらのコンポーネントの管理が複雑化していることです。

SBOMは、これら外部情報を一元的に把握するための接着剤のような役割を果たします。

具体的には、SBOMを利用することで、コンポーネントごとのバージョンやライセンス情報、SBOM作成者、タイムスタンプなどの詳細な情報を可視化できます。そのため、ソフトウェア開発者や管理者は、各コンポーネントの出所や状態を明確に把握でき、ソフトウェア全体の透明性を確保できるでしょう。

追跡可能性(トレーサビリティ)の向上

SBOMは、ソフトウェアの追跡可能性(トレーサビリティ)を向上させる効果があります。コンポーネントに不具合や脆弱性が発見された場合、SBOMによって各コンポーネントの依存関係が可視化されているため、サプライチェーン全体への影響を迅速に確認できます。

たとえば、アプリケーションの一部で不具合が発見された場合、SBOMのトレーサビリティを活用することで関連するコンポーネントを容易に追跡できます。また、同じ問題がほかの部分にも影響を及ぼしていないかを確認でき、さらなる不具合の発生も未然に防げるでしょう。

SBOMを導入する際の課題

SBOM導入にあたっては注意しなければならないポイントがいくつかあります。ツールによって出力フォーマットに差があること、標準化が不足していること、コストが増加することなどに気を付けなければなりません。

それぞれの課題の内容を解説します。

対応ツールの出力フォーマットに差がある

SBOMの記載方針が統一されていないため、使用するツールによって出力されるフォーマットが異なることがあります。たとえば、同じOSSであっても、ツールごとに異なる名前で出力されるケースを考慮しなければなりません。

製品としてのSBOMを作成する場合、製品に関連するソフトウェアで使用するツールを統一する必要があります。異なるツールを使用すると、SBOMの形式や記載内容にばらつきが生じるため、チェックや統合に手間が掛かるでしょう。

さらに、出力されるフォーマットが自社のニーズやシステムに適しているかどうかを確認する必要があります。

記載項目の標準化が不足している

現在、SBOMの記載項目標準化は、NTIAが定める要件に沿う方向で進められています。NTIAでは、SBOMに関してデータフィールドやプロセスの標準化が進められてきました。※5

しかし、ライセンス情報の扱いなど一部の項目では、まだ統一化が進んでいないのが現状です。そのため、異なる組織やツール間でのSBOMの互換性や一貫性が確保されにくく、SBOMの導入と運用に支障をきたす可能性があります。

SBOMを導入する際には、関連企業との間で記載内容の意識合わせが必要です。

対応コストが増加する懸念がある

SBOMの導入には、費用や作業工数など、あらゆる面で初期コストが必要です。SBOM対応ツールには有償と無償のものがありますが、自社の状況や人材のスキルなど様々な観点から最適なツールを選ぶ必要があるでしょう。

さらに、選定したツールをすぐに使いこなすことは難しいため、ツールの使用方法を学ぶための勉強コストや、ツールに慣れるまでの作業コストも考慮しなければなりません。

SBOMの作成・管理に必要な作業工数も増える可能性があります。たとえば、各ソフトウェアコンポーネントの情報を収集・更新するための時間や、SBOMの精度を維持するための継続的な管理作業が必要です。

SBOMを導入するまでの流れ

SBOM導入には次の3つのステップが必要です。

  1. 社内での体制構築とツールの選定と導入
  2. 情報の解析とSBOMの作成
  3. SBOMを活用した運用管理を実施

それぞれのポイントを解説します。

1. 社内での体制構築とツールの選定と導入

SBOMの導入にあたって、まずは適用範囲を明確にしましょう。自社のソフトウェアのどの部分をSBOMで管理するのか、関連企業の意見も踏まえて決定することが重要です。

次に、SBOMツールの選定では、各ツールの特徴を把握し、自社の適性に合わせて選定しなければなりません。たとえば、ツールの機能、コスト、使いやすさ、サポート体制などを評価し、自社のニーズに最適なツールを選びます。

SBOM導入後は、ツールに関するノウハウや操作手順を記した資料を作成し、社内で共有することが重要です。さらに、定期的な操作トレーニングや情報共有の場を設けることで、SBOM運用の効率化と精度向上を図ります。

2. 情報の解析とSBOMの作成

SBOMツールを用いてソフトウェアコンポーネントの解析を行いましょう。解析結果の信頼性を高めるためには、コンポーネントの誤検出や検出漏れのチェックが必要です。

自動解析ツールが提供するデータをレビューし、誤りがないか確認します。特に、OSSなどの外部コンポーネントに関しては、誤検出や漏れが発生しやすいため、注意が必要です。

SBOMで抽出する要件はあらかじめ決めておきましょう。事前に決めておくことで、SBOM作成の一貫性が保たれ、必要な情報が確実に提供されます。

また、SBOMは企業間で共有されることが多いため、データの改ざんが行われないような仕組み作りも重要です。

3. SBOMを活用した運用管理を実施

SBOM出力結果を基に、リスクの確認や脆弱性対策を行いましょう。SBOMには各コンポーネントの詳細情報が含まれているため、脆弱性が発見された場合でも迅速に対応できます。

また、社外からの問い合わせに対応できるように、SBOMは変更履歴を含めて一定期間保管しなければなりません。保管期間は、自社のポリシーや業界の標準にしたがって設定することが推奨されます。

さらに、SBOMの保管と管理は各部署に任せるのではなく、品質管理部門などで一元管理するほうが望ましいでしょう。一元管理により、情報の一貫性と整合性が保たれ、SBOMの利用効率が向上します。

主なSBOMの3つのフォーマット

主なSBOMのフォーマットは次の3つです。

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

それぞれの特徴を解説します。

SPDX(Software Package Data Exchange)

SPDXは、SBOMを共通の仕様で作成し、企業間での情報のやりとりを円滑に進めるために統一の規格を作成することを目的としたLinux Foundation主導のプロジェクトです。SPDXプロジェクトによって、SPDXフォーマットが規格化されました。

SPDXは、ソフトウェアで読み書きできることをコンセプトにしており、機械可読な形でソフトウェアパッケージの情報を記録・共有できます。

SPDXの特徴の1つは、OSやディストリビューションまで拡張できることです。SBOMの適用範囲が広がり、詳細な構成情報を管理できるでしょう。また、ハッシュ値を使用してデータの改ざんを防ぐ仕組みが組み込まれており、信頼性の高い情報の提供が可能です。

詳細な内容は、Linux FoundationのWebサイトに公開されております。

CycloneDX

CycloneDXは、セキュリティに特化したSBOMのフォーマットで、多くのSBOMツールがSPDXと共にサポートしています。CycloneDXは完全に自動化でき、ソフトウェアの脆弱性管理やリスク評価に役立つ詳細な情報の提供が可能です。

CycloneDXは、OWASPコミュニティのプロジェクトによって開発されました。OWASPは、Webアプリケーションのセキュリティ向上を目的とした非営利団体であり、CycloneDXもその一環として提供されています。

詳細な仕様は、OWASPのWebサイト上に公開されており、だれでもアクセスして利用可能です。

SWIDタグ(Software Identificationタグ)

SWIDタグは、インストールされたソフトウェアの解析を目的に開発された技術です。デバイスにソフトウェアがインストールされると、そのソフトウェアにSWIDタグが付与されます。

SWIDタグは、ソフトウェアのアンインストール時には自動的に削除される仕組みとなっており、インストールされているソフトウェアを正確な状態で維持できます。

SWIDタグには、ソフトウェアを識別するための基本情報だけでなく、適用されたパッチを識別するための情報も含まれています。SWIDタグは、SBOMの情報としても活用できます。

SBOM管理ツールを選ぶ際のポイント

経済産業省の手引きでは、ツール選定のポイントとして様々な要素が紹介されています。ここでは、その中から主要な次の要素を解説します。

SBOM管理ツールを選ぶ際のポイント
  • 自社に必要な機能が備わっているか
  • 脆弱性の検出性能は十分か
  • 自社に合った解析可能範囲・解析方法であるか
  • 既存のツールと連携できるか
  • 管理・運用がしやすいか
  • サポート体制は十分か

それぞれのポイントを詳しく見ていきましょう。

自社に必要な機能が備わっているか

SBOMツールには様々な種類があり、それぞれ異なる特徴をもっています。そのため、選定の際には、自社の具体的なニーズとツールの機能を慎重に照らし合わせることが重要です。

まず、SBOMツールをソフトウェア開発に使用するのか、あるいはセキュリティ対策に使用するのかなど自社の要件を明確にしなければなりません。開発用途であれば、コンポーネントの管理や依存関係の可視化が重視される一方、セキュリティ対策用途であれば、脆弱性の検出やライセンス管理機能が重要となるでしょう。

自社の導入目的を明確化することが、適切なツール選定の鍵となります。

脆弱性の検出性能は十分か

脆弱性の検出性能を評価するには、実際の製品による評価結果を参照する方法や、テスト運用を行う方法があります。事前に評価することにより、自社システムに対してツールがどの程度正確に脆弱性を検出できるかを把握できるでしょう。

まず、自社の環境で実際にテスト運用を行い、検出漏れや誤検出がないかを事前に確認することが推奨されます。また、新たな脆弱性が発見された場合に、その情報がツールに迅速に反映されるかどうかも重要なポイントです。

自社に合った解析可能範囲・解析方法であるか

SBOMツールは、ツールによって解析可能な情報が異なります。たとえば、コンポーネントの脆弱性情報やライセンス情報など、様々な要素を解析できますが、ツールによっては特定の情報に特化していることもあるため注意が必要です。

自社の要件を明確にし、どのような情報を解析したいのかを把握しておきましょう。ソフトウェア開発では特定の脆弱性情報の把握が重要な場合もあれば、ライセンスコンプライアンスの確保が主眼の場合もあります。

また、解析する方法やその手法も異なるため、自社の運用やセキュリティポリシーに合致するツールを選定しなければなりません。

既存のツールと連携できるか

ビルドツール、ソフトウェアバージョン管理ツール、コミュニケーションツールなど、ソフトウェア開発で使用される既存のツールとのシームレスな連携が可能かどうかも重要です。

SBOMツールとほかのツールとの連携が円滑に行われることで、ソフトウェア開発全体の効率化が図れます。たとえば、ビルドツールから生成されたバイナリやコンポーネントの情報を自動的にSBOMに反映させることで、開発プロセスの透明性や品質管理が向上するでしょう。

また、既存のバージョン管理システムとの統合により、SBOMを含むソフトウェアのバージョン管理が一元化され、誤ったバージョンの利用やセキュリティリスクの軽減にも役立ちます。

管理・運用がしやすいか

ツールの使い勝手や、出力されるSBOMのフォーマットの扱いやすさも選定のポイントです。特に、実際にツールを使用する現場のニーズをヒアリングすることが重要です。

現場で使いにくいツールは、従業員の受け入れが悪くなり、効果的な導入が難しくなる可能性があるでしょう。また、SBOMは一度作成して完了ではなく、継続した更新が必要になります。そのため、管理・運用が複雑であったり使い勝手が悪かったりするツールは、作業効率にも悪影響を及ぼすことがあります。

そのため、事前にツールの操作性やユーザインターフェース、運用に掛かる時間などを評価し、現場での実際の使用感に基づいて検討することが重要です。

サポート体制は十分か

有償ツールの場合、運用方法や導入方法に関して専門的なサポートを受けられることが一般的です。さらに、オプションとしてOSS管理に関する様々な相談が可能なツールもあります。

一方、無償ツールでもコミュニティやドキュメントを通じてサポートを提供しているものがあるため事前の確認が必要です。

自社としてどの程度のサポートが必要かを事前に把握し、ツール選定の際に確認しましょう。

SBOMの展望

日本でのSBOMの展望に関しては、政府や標準化機関によって記載方針が統一化される動きがあります。そのため、SBOMの提出要求が多くの企業で採用される可能性が高いでしょう。

政府調達や重要インフラ分野から始まり、さらにほかの広い業界にもSBOMの採用が加速することが期待されます。

また、SBOMの生成、管理、分析を自動化するツールの開発も進められており、ツールの導入によって企業の負担も軽減可能です。標準化とツール開発の双方が進むことで、SBOMの作成や共有が容易になり、より多くの企業にSBOMが広まっていくでしょう。

SBOMが普及することにより、日本国内のソフトウェア開発や運用でのセキュリティ強化が期待され、国際競争力の向上にもつながる可能性があります。

セキュリティ強化のためにもSBOM導入を進めよう

今回の記事では、SBOMの必要性や導入するメリットを解説しました。SBOMはSoftware Bill of Materialsの頭文字を取った用語で、ソフトウェアを構成する部品を一覧で管理する手法です。

ソフトウェアサプライチェーン攻撃への対策や、国際的に推進されている背景から、今後はSBOMの提出を求められることが多くなるでしょう。

SBOMを導入することで、脆弱性管理に掛かる期間・コストが低減されるメリットやライセンスの違反を防ぐメリットなど様々な効果があります。ただし、導入やツール選定にはSBOMに関する専門的な知識やスキルが欠かせません。

SBOM対応やSBOM導入、ツール選定に関心をお持ちの方は、ぜひお気軽にお問い合わせください。

より詳しく知るにはこちら

より詳しく知るにはこちら

開発プロジェクトでのカスタムコード、オープンソースソフトウェア、コンテナ、IaCの脆弱性を開発プロセスの上流で解決する、ソフトウェア開発者向けのセキュリティ対策ソリューションです。

参考情報

※1 情報セキュリティ10大脅威 2024 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構

※2 Executive Order on Improving the Nation's Cybersecurity | The White House

※3 ソフトウェア管理に向けた SBOM(Software Bill of Materials)の導入に関する 手引 Ver. 1.0|経済産業省 商務情報政策局 サイバーセキュリティ課 令和5年7月28日

※4 ソフトウェア管理に向けた SBOM(Software Bill of Materials)の導入に関する 手引 ver 2.0 (案)|経済産業省 商務情報政策局 サイバーセキュリティ課 令和6年4月26日

※5 The Minimum Elements For a Software Bill of Materials (SBOM)|NTIA

関連サービス
Snyk(スニーク)

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • Snykの新しいSBOM機能で、ソフトウェアサプライチェーンのセキュリティリスクに対処する

  • IoTセキュリティの歴史的背景と国内の現状~購入者が安心して手に取れる安全な機器を目指して~

  • Snykによるシフトレフトで実現するセキュアなアプリケーション開発

関連サービス
Snyk(スニーク)