ソフトウェア・サプライチェーンの脆弱性管理に求められるSBOMの必要性
ソフトウェアの構造の複雑化による脆弱性管理の課題を解決するSBOMの動向や組織が実施すべき取り組みを解説します。
深刻化する脆弱性を悪用した攻撃
近年、ソフトウェアにおける脆弱性の公開数は年々増加しており、アメリカのMITRE社が2021年にCVE(共通脆弱性識別)番号を付与し公表した脆弱性の数は2万件を超えました。これは1999年の公表以来過去最高を記録しています。サイバー犯罪者にとって、そうした脆弱性は、組織を攻撃する際に悪用することでネットワークへの侵入や感染拡大などの活動を実現できる絶好の手段となっています。攻撃者によって既に悪用が確認されており、早急に対策を講じる必要がある脆弱性の一覧として「KNOWN EXPLOITED VULNERABILITIES CATALOG(既知の悪用された脆弱性カタログ)」をCISA(アメリカ合衆国サイバーセキュリティ・社会基盤安全保障庁)では公開しています。
一方で多くの製品にはOSS(オープンソースソフトウェア)が組み込まれており、そのOSSにおいてもさまざまな脆弱性が存在します。2021年12月に公表され、多くの組織のシステム担当者が対応に追われたであろうApache Log4jの脆弱性「Log4Shell(CVE-2021-44228)」もその一つです。Log4jはオープンソースのJavaベースのロギングライブラリであり、さまざまなソフトウェアやアプリケーションに組み込まれていたことから、深刻な脆弱性が公開されたものの、自組織のどのシステムがLog4jを使用しているか把握することが多くの組織における課題となりました。そして、「Trend Micro Deep Security™」のデータによると、2022年1月~6月の間にこの脆弱性を悪用する攻撃通信を約48億検知していたことから、攻撃者が好んで悪用していたことが伺えます。
そのようなLog4jの脆弱性の影響と脆弱性管理における課題を受けて、世界中でOSSおよびソフトウェア・サプライチェーンに対するセキュリティの重要性が改めて語られるようになりました。本稿ではそうしたソフトウェア・サプライチェーンの構造的な課題とその脆弱性管理の解決策の一つとして注目されている「SBOM(Software Bill Of Materials)」について、各組織が把握しておくべき点を解説していきます。
ソフトウェアの脆弱性に対する組織の課題
ソフトウェアを開発する組織にとって、自社の製品に存在する脆弱性の発見と対応の遅延はソフトウェア・サプライチェーンにおいて重要な課題となります。サイバー攻撃の原因となる脆弱性を迅速に特定し対処すること、そして利用者に修正プログラムや緩和策の情報提供を迅速に行うことは信頼できるベンダーとしての評価に繋がります。しかし、全てのソフトウェアがスクラッチで開発されるわけではなく、むしろOSSなど既存のプログラムやパッケージを利用して開発を進めるケースが多くあるため、開発者にとってもソフトウェア・サプライチェーンの細部を全て把握することは難しくなっています。
また、ソフトウェアを利用する組織にとっては、脆弱性を悪用したサイバー攻撃を阻止するためにも、自組織で利用しているソフトウェアに存在する脆弱性とその影響範囲の把握が課題となります。多くの組織は通常、情報システムにおけるソフトウェア資産管理によって、組織内で利用しているソフトウェアの一覧を管理しています。しかし、ソフトウェアは依存関係のある複数のレイヤで構成されており、基本的に資産管理の対象は最上位レイヤのソフトウェアのみが対象となっています。そのため、各ソフトウェアを構成している下位のコンポーネントについては、ソフトウェア資産管理の対象外となっています。このことから、OSSなど製品の下位のコンポーネントとして利用されているソフトウェアにおける脆弱性が公開された場合に、その脆弱性情報と資産管理台帳を照らし合わせるだけでは、潜在的な脆弱性に気づくことができません。
最上位レイヤのソフトウェアベンダーが下位コンポーネントを含めた脆弱性に関するソフトウェアへの影響を確実に公表していれば、利用者側では資産管理台帳と照らし合わせることで、自組織における影響範囲を把握することができます。しかし、トレンドマイクロで前述の脆弱性Log4Shellが公表された際に、影響を受ける可能性のあるエンドポイントとWebアプリケーションを特定するための診断ツールを提供したところ、およそ1ヶ月の間に世界全体で約5,900社(日本では約1,300社)のユーザに利用されました。このことから、OSSにおける脆弱性が公開された際に、多くの組織にとっては現行のソフトウェア資産管理とベンダーから公表される情報だけでは、影響範囲を迅速に把握するのに不十分であるということが考えられます。
脆弱性管理におけるSBOMの活用
そうしたソフトウェア・サプライチェーンに存在する脆弱性特定に関して、ソフトウェアの開発組織と利用組織双方の課題を解決する仕組みの一つとして、SBOMが注目されています。
SBOMとはソフトウェア部品構成表のことで、ソフトウェアを構築する際のコンポーネントの詳細とサプライチェーンの関係性を含む正式な記録になります。SBOMはよく食品の包装に記載されている原材料の一覧と例えられ、ソフトウェア・サプライチェーンのトランスペアレンシー(透明性)とトレーサビリティ(追跡可能性)を確保する有効な手段とされています。
前述のとおり、ソフトウェアの多くはOSSや3rd Party製コンポーネントを利用することで開発されます。そのため、ソフトウェアの開発組織にとっては、SBOMを利用することでソフトウェアを構成している下位レイヤのコンポーネントや現在のバージョンを管理することができます。下位レイヤのコンポーネントに新たな脆弱性が発見された場合にはソフトウェアへの影響を確認して、迅速に修正プログラムの開発などの対応に移ることができるメリットがあります。
また、ソフトウェアを利用する組織にとっては、SBOMを確認することで構成されているコンポーネントを事前に把握し、ソフトウェアに存在する脆弱性リスクを評価することができます。また、ソフトウェアの利用中に新たな脆弱性が発見された際には、潜在的なリスクにさらされているかを迅速且つ容易に確認することができます。
SBOMに関する国内外の主な動向
アメリカではSolarWinds社が受けたサイバー攻撃やColonial Pipeline社へのランサムウェア攻撃など相次ぐサプライチェーンに関連する被害の影響の大きさを鑑みて、2021年5月12日、バイデン大統領がセキュリティ上の脅威に対する国家の備えとして、サイバーセキュリティ強化のための大統領令に署名しました。そのなかで、ソフトウェアサプライチェーンセキュリティの強化について言及されており、SBOMやOSSに関して以下のような点が述べられています。
●各プロダクトのSBOMを購入者へ直接提供することもしくは公開Webサイトへ開示すること
●プロダクトで使用されているOSSの完全性と出所を可能な範囲で保証し、証明すること
そして、この大統領令を受けてSBOMの最小要素を定めた「The Minimum Elements For a Software Bill of Materials (SBOM)」がNTIA(アメリカ合衆国国家電気通信情報管理庁)から公表されるなど、SBOM提供の義務化に向けた動きが進んでいます。
また、日本においては経済産業省で2019年9月から「サイバー・フィジカル・セキュリティ確保に向けたソフトウェア管理手法等検討タスクフォース」が設置されており、これまで数度にわたりソフトウェアの管理手法や脆弱性対応について検討が行われてきました。SBOMについては以前からその必要性が認識されていましたが、課題について議論する枠組みが存在していなかったため、本タスクフォースによって国内でのSBOM活用促進について検討が行われています。本年度は、経済産業省、MRI、実証事業者によって、「SBOMの規制や推奨化が見込まれる分野(医療機器および自動車)」と「SBOMの効果が大きいと思われる分野(ITベンダーとサプライチェーン)」を対象にSBOM実証を行うことが言及されています。また、SBOM活用推進のための以下のノウハウ集やガイダンスの構成案の検討と策定が進められています。
●SBOM導入ノウハウ集
ソフトウェア開発組織を主な対象とした、SBOM導入を促進するためのノウハウ集
●SBOM活用モデル・ガイダンス
法制度や条件等を踏まえた産業分野ごとの標準的なSBOM活用モデル案
●SBOM取引モデル・ガイダンス
責任関係の明確化などSBOMに対応するためのプロセスに関する規定案
SBOM活用を見据えた組織の実施すべき取り組み
深刻化するソフトウェアの脆弱性を悪用したサイバー攻撃への対応策として、アメリカで先行してSBOMの推進が進んでおり、日本でも将来的にSBOMの活用が求められることが考えられます。一方で、ソフトウェアの開発組織及び利用組織にとっては、SBOM作成や管理における新たなコストの発生や知的財産の流出への懸念、活用のためのノウハウの共有など、SBOMの導入にあたってまだ解決すべき課題が多く存在しています。
しかし、経済産業省を中心にSBOM実証など活用促進への取り組みが行われていることからも、SBOMの活用は各組織にとって今後の脆弱性管理の効率化に大きなメリットをもたらすことが期待されています。そのため、将来的にソフトウェアサプライチェーンセキュリティにおいて自組織の優位性を示すためにも、脆弱性管理の一手として現段階でできる取り組みを進めておくことを推奨します。
●現行の脆弱性管理のプロセスについて課題がある場合には、NIST SP 800-40などのガイドラインを参考に見直しと改善を図ること
●経済産業省が発行するOSSのセキュリティ確保の事例集などベストプラクティスやガイドラインを一読しておくこと
●国内外におけるSBOM活用の動向について注視しておくこと
●各組織の立場によってSBOMを活用することを前提としたユースケースを検討しておくこと
●SBOMの作成や管理を効率化/自動化するためのツールについて情報収集すること
Security GO新着記事
エバンジェリスト、ICU高校の生徒と語る ~AIの「悪用」と「活用」~
(2024年10月4日)
プロパガンダとは?意味や事例について解説
(2024年10月3日)
生成AIでランサムウェアを作成した容疑者の摘発事例を考察
(2024年10月2日)