採用情報

お問い合わせ

BLOG

OSS セキュリティ BLOG

OSS セキュリティ BLOG

2024 年 03 月 08 日

SBOM(Software Bill of Materials)とは(前編)~ SBOM の基礎知識から詳しく解説 ~

本記事では、初めて SBOM を勉強する方に向けて、SBOM とは何かを解説します。
過去の MIRACLE LINUX Users Meetup!!「今から始める SBOM 入門」でも SBOM の解説動画が公開されているのでこちらも参考にしてください。

SBOM とは

SBOM とは、作成するソフトウェアとそのソフトウェアで利用する外部のライブラリやソフトウェアの⼀覧とライセンス・コピーライト等のメタ情報で構成されるリストを指します。

SBOM を利用することで、ソフトウェア間の依存関係やライセンス情報を把握することが可能です。このため、組織の間で共通の機械可読なフォーマットとして、ソフトウェア情報を管理・活用することができるというメリットがあります。

以下は、A 社がアプリケーション Z の SBOM を作成する例です。
アプリケーション Z の SBOM には、アプリケーション Z に関するソフトウェアの提供者、ライセンス情報や含まれるコンポーネント名等を記載します。

A 社がアプリケーション Z の SBOM を作成する例

以下は、アプリケーション Z が、B 社のコンポーネント X、OSS コミュニティ C のコンポーネント Y を含んでいる場合の例です。
この場合、A 社が作成するアプリケーション Z の SBOM には、A 社が開発したアプリケーションの情報のほかに、「コンポーネント X が含まれていること」、「コンポーネント Y が含まれていること」を記載します。

 アプリケーション Z が、B 社のコンポーネント X、OSS コミュニティ C のコンポーネント Y を含んでいる場合の例

なぜ SBOM が必要なのか?

SBOM が必要になった背景は、OSS へのサプライチェーン攻撃の増加にあります。サプライチェーン攻撃とは、一般的に製品が製造され、ユーザーに届くまでの物流の一連の流れ(サプライチェーン)を悪用して行われる攻撃のことです。製造過程でマルウェアやバックドアを仕込む攻撃や、ターゲットの仕入先、業務委託先等の関連企業を攻撃し、ターゲットの企業に侵入する攻撃などがあります。

OSS のサプライチェーンは、大きく分けて以下のように構成されます。
開発者には、趣味でオープンソースソフトウェアに貢献している個人や、大きな規模の企業まで様々です。また、ソフトウェアの管理、取得、依存関係等の分析にはリポジトリやパッケージのマネジメントツールが利用されます。そして近年では、ソフトウェアを利用するユーザーはリモートの Git リポジトリ、PyPI、npm などからソフトウェアを入手することが主流です。

OSS のサプライチェーン

このようにオープンソースソフトウェアのサプライチェーンは、多様な開発者、オープンなフレームワークなどによってより複雑なものになっているため、この隙を突いたサプライチェーン攻撃の増加に繋がっているのが現状です。

サプライチェーンに関連する問題には、以下のようなものがあります。

  1. OSS コンプライアンス違反
    a. テレビメーカーの GPLv2 違反警告無視による訴訟問題 (2022 年 )
  2. コミュニティの信頼性
    a. Docker Hub のコンテナイメージに仮想通貨採掘ボットが潜む (2018 年 )
    b. PHP の Git サーバがクラックされ意図的に脆弱性が混入 (2021 年 )
  3. 依存関係にあるコンポーネントの問題
    a. NPM left-pad の依存解決が破壊される問題 (2016 年 )
    b. Apache Log4j の脆弱性問題 (2022 年 )
  4. サプライチェーンを悪用した攻撃
    a. RubyGems rest-client にマルウェア混入 (2019 年 )
    b. SolarWinds サプライチェーン攻撃 (2020 年 )

世界の動き

サプライチェーン攻撃などのサイバー攻撃の増加を受けて、ソフトウェアサプライチェーンセキュリティの改善のために SBOM を活用する様々な動きがありました。以下は、直近の世界の動きをまとめた表です。

2021 年 5 月 バイデン米大統領、「Improving the Nation's Cybersecurity( 国家のサイバーセキュリティの改善に関する大統領令 )」に署名
2021 年 7 月 NTIA「The Minimum Elements For a Software Bill of Materials(SBOM の最小構成 )」を公開
2022 年 1 月 OSS のサプライチェーン対策のための ホワイトハウスサミット を開催 (The Linux Foundation、OpenSSF、GAFA などを招集 )
2022 年 2 月 OpenSSF はサプライチェーン問題を改善し安全性を高めるための「Alpha-Omega Project」の開始を発表
( サイバートラストでは 2021 年 7 月より OpenSSF プロジェクトに参加 )
2023 年 4 月 米 CISA 「Software Bill of Materials (SBOM) Sharing Lifecycle Report」を公開
米 CISA 「Types of Software Bill of Material (SBOM) Documents」を公開

日本の動き

日本でもサプライチェーンセキュリティの改善に向けて、SBOM に関連する動きがありました。
以下は、直近の日本の動きをまとめた表です。

2019 年 9 月 経済産業省「 サイバー・フィジカル・セキュリティ確保に向けたソフトウェア管理手法等検討タスクフォース 」( ソフトウェアタスクフォース ) の設立
2022 年 8 月 Open Source Security Summit Japan を開催
2023 年 1 月

経済産業省米国国土安全保障省とのサイバーセキュリティに関する協力覚書に署名

  • 運用面での協力  
  • 制御システムセキュリティの向上
  • インド太平洋地域等の能力向上に関する協力
  • サイバーセキュリティ関連規制及びスキームの調和のための対話促進
2023 年 7 月 経済産業省「 ソフトウェア管理に向けた SBOM(Software Bill of Materials)の導入に関する手引 」を公開

誰が SBOM を使うのか?

SBOM を利用する場面について以下にまとめます。
NTIA が公開している Roles and Benefits for SBOM Across the Supply Chain を元に作成しています。

(1) ソフトウェアを提供する人

図は、A 社がエンドユーザーにアプリケーション Z を提供する時の例です。
このとき、A 社が「ソフトウェアを提供する人」に当たります。ここでの SBOM は、A 社が作成したアプリケーション Z の SBOM を指します。SBOM には、アプリケーション Z に含まれるコンポーネントとして、B 社のコンポーネント X、OSS コミュニティ C のコンポーネント Y の情報が記載されます。

A 社がエンドユーザーにアプリケーション Z を提供する時の例

アプリケーション Z の SBOM は、主に以下の目的のために A 社によって利用されます。

  • 脆弱性リスクの把握
  • ライセンスマネジメント
  • プロジェクト情報の把握
  • 関連プロジェクトの依存関係、EOL
  • 顧客へ SBOM を提供

(2) ソフトウェアを選定する人

図は、エンドユーザーが、A 社のアプリケーション Z を選定する時の例です。
このとき、エンドユーザーが「ソフトウェアを選定する人」に当たります。SBOM は、A 社が作成したアプリケーション Z の SBOM を指します。※

 エンドユーザーが、A 社のアプリケーション Z を選定する時の例

アプリケーション Z の SBOM は、主に以下の目的でエンドユーザーによって利用されます。

  • 調達先の把握
  • ポリシーや規制の遵守
  • 導入前の調査
    • セキュリティの分析
      • EOL
      • 脆弱性
    • ライセンスの調査
  • ライセンスマネジメント

(3) ソフトウェアを運用する人

図は、エンドユーザーが、A 社のアプリケーション Z を運用する時の例です。
このとき、エンドユーザーが「ソフトウェアを運用する人」に当たります。SBOM は、A 社が作成したアプリケーション Z の SBOM を指します。※

 エンドユーザーが、A 社のアプリケーション Z を運用する時の例

アプリケーション Z の SBOM は、主に以下の目的でエンドユーザーによって利用されます。

主に以下の目的で利用されます。

  • 調達先の把握
  • システムのセキュリティ評価
  • ソフトウェアの EOL の管理
  • ソフトウェア管理の効率化
  • 影響を最小限に抑えたシステムへの対策
  • ライセンスマネジメント

※A 社が SBOM を提供していない場合、ソフトウェア解析ツール等を利用してエンドユーザー自身が SBOM を生成する場合もありますが、精度は SBOM 生成ツールによって様々です。

まとめ

OSS が普及している一方で、ライセンスや利用している OSS の依存関係を管理できていないことが原因で、OSS のサプライチェーンを悪用した攻撃が増加しています。このため、OSS に限らず、ソフトウェアサプライチェーンの透明性を確保するために作られたのが SBOM です。

サイバートラストは、2022 年に The Linux Foundation 参加の OpenSSF へ参加し、OSS のサプライチェーンの改善に取り組んでいます。

日本でも、経産省から「ソフトウェア管理に向けた SBOM の導入に関する手引」が公開されており、各業界での SBOM の活用が期待されます。
後編では、SBOM にはどのような種類があるのか、現在どのような法律、規制があるのかを紹介します。

関連する記事
関連する製品・サービス
CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime