目次

  1. SBOM(エスボム)とは
  2. 経産省がSBOM導入の手引を公表
  3. SBOM導入のメリット
    1. 脆弱性管理の効率化
    2. ライセンス管理の効率化
    3. 開発生産性向上
  4. SBOM導入のデメリット
  5. SBOM導入に3つのフェーズ
    1. 環境構築・体制整備フェーズ
    2. SBOM作成・共有フェーズ
    3. SBOM運用・管理フェーズ
  6. SBOM導入に向けた実施事項チェックリスト

 経産省の公式サイトによると、SBOM(エスボム)とは、ソフトウェアに含まれるコンポーネントの名称やバージョン情報、コンポーネントの開発者の情報などが含んでいる部品構成表のことです。脆弱性情報の即時に特定するときに役立つことを期待されています。

 イメージとしては、食品の包装に記載されている食品表示で、食品に含まれる原材料を可視化した食品表示を見ることで、アレルギー事故などを防ぐのに役立ちます。

 最近、日本の中小企業も含めて、ソフトウェアの脆弱性を狙ったサイバー攻撃が増えている一方、脆弱性の情報収集や管理がますます複雑になっています。

IoT機器に対するセキュリティ対策の必要性
IoT機器に対するセキュリティ対策の必要性(デジタル庁の公式サイトから https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/9f54b1fb-1a9f-4531-85cb-7659f0458a9b/c22fd9a6/20230911_meeting_technology_based_regulatory_reform_outline_04.pdf)

 たとえば、2021年には、Webサーバーなどのログの管理などに広く使われ、「世界中のWebサーバーの約3分の1が使用している」とも言われる「Apache Log4j(アパッチ ログフォージェイ)」に脆弱性「Log4Shell」が見つかり、世界各地でサイバー攻撃が観測されました。

 「Apache Log4j」のように、様々なWebツールの中に組み込まれているプログラムに脆弱性が見つかった場合、企業ではどのツールに使われているのか、すぐに見つけるのが難しい場合があります。しかし、SBOMをもとにソフトウェアの構成と依存関係が分かれば、対応までの時間を短縮できる可能性があります。

 こうしたなか、経産省は、「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引ver2.0」を公表しました。

 ソフトウェアを供給する企業と調達する企業の双方を想定読者としていると説明していますが、ある程度の専門知識がないと読み進めるのが難しいため、セキュリティ対策を検討している経営者は、自社のセキュリティ担当や、ソフトウェアサプライヤー、専門家と話し合いながら検討するのがよいでしょう。

 SBOM導入により、ソフトウェア管理において以下の3つのメリットがあります。

 SBOM導入のメリットのうち、最も注目されているのが脆弱性管理です。ソフトウェアに含まれるコンポーネントの脆弱性が発見された際、優先度付けを行った上で修正・軽減することができます。

 さらに、脆弱性を見逃すリスクの低減や自動管理でコスト低減につながります。経済産業省が実施した医療機器分野を対象とした実証では、SBOMを活用した脆弱性管理をすると、手動での管理と比較して、管理工数が70%程度抑えることができた結果が出ています。

 SBOMを導入し、オープンソースのライセンス情報も含めて管理することで、ライセンス違反リスクを低減できます。自動管理により、手動での管理と比較して、管理コストを低減できます。

 コンポーネントに関する問題を早期に特定することで、開発遅延の発生を防ぐことができるというメリットもあります。

 経産省の手引は「SBOM導入のメリットがあるものの、国内におけるSBOMの普及率は高いとは言えない。この理由として、SBOM導入にかかるコストの課題、技術的な課題、人材に関する課題等の様々な課題が考えられるが、このほかにもSBOMの効果や位置づけが適切に認知されていない課題も存在する」と指摘しています。

 具体的には「SBOMは攻撃者を支援する」(実際は攻撃者からの防御のメリットの方が大きい)、「SBOMは知的財産や企業秘密を露呈する」(実際はソフトウェアに含まれているコンポーネントの一覧リストであり、特許やアルゴリズムは含まれていない)など誤解も多いのが現状です。

 また、脆弱性を自動検出できるとはいえ、可能性が低くても誤検出や検出漏れの可能性もあるので、人の目できちんと出力結果を確認する必要があることにも注意が必要です。

 手引によると、SBOMを導入するうえでは、おもに以下の3つのフェーズに分けられます。

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

 順を追って簡単に説明します。

 このフェーズでは、SBOM導入の範囲を明確化し、SBOM作成に必要な環境や体制をつくりましょう。

 具体的には、まず、どのようなソフトウェアを対象とするのか、自社開発、委託開発、OSSなど、どの範囲までSBOMを適用するのかを決定します。つぎに、SBOMを作成・管理するためのツールを選定します。有償・無償、機能・性能、サポート体制などを考慮して、自社に最適なツールを選びましょう。

 そして、SBOM作成・管理の責任者を決め、SBOMに関する運用ルールをつくります。

 このフェーズでは、実際にSBOMを作成し、必要に応じて共有します。

 まず、選定したツールを用いて、ソフトウェアの構成部品を解析します。つぎに、適切なフォーマットでSBOMを作成します。そして、必要に応じて、取引先や顧客にSBOMを提供します。

 事前に、誤検出や検出漏れへの対策を検討しておくとよいでしょう。

 SBOMは作成するだけでなく、継続的に管理していく必要があります。ソフトウェアの内容は更新されていくため、SBOMの情報も定期的に更新する必要があります。このフェーズでは、SBOMの情報に基づいて脆弱性管理やライセンス管理を行い、SBOM自体を適切に管理します。

 そのため、SBOM情報の管理体制を構築し、SBOM情報を適切に管理する責任者を明確にしておきましょう。

 経産省は、SBOM導入に向け、環境構築・体制整備フェーズ、SBOM作成・共有フェーズ、SBOM運用・管理フェーズのそれぞれのフェーズにおける実施事項をチェックリスト(エクセル形式:14KB)としてまとめました。

 SBOM導入するときに、実施事項を確認するのに役立ちます。