2020年、SolarWindsのサプライチェーン攻撃は、連邦政府のインフラの奥深く、最も大きく、最も技術に精通した組織のいくつかに侵入しました。この攻撃により、攻撃者は世界で最も保護されたデータにかつてないほどアクセスすることができました。この事件により、組織の規模や資金力に関係なく、サイバー攻撃は組織を攻撃できるということが浮き彫りになったのです。
組織は、業務を遂行するためにデジタル接続されたシステムに依存していますが、プロバイダーがオープンに開示しているもの以外のリスクについては、ほとんど可視化されていないのが現状です。ソフトウェアのリスクを完全に理解するために、企業はソフトウェアの構成について可視化する必要があります。ソフトウェア部品表(SBOM)は、この透明性を提供し、顧客がソフトウェアのセキュリティを管理できるようにします。
本記事はCybellum社執筆のブログ記事を日本語訳したものです。
https://cybellum.com/ja/blog/the-defenitive-guide-to-software-bill-of-materials-sbom-2/
万が一内容に相違がある場合は原文が優先されます。
CONTENTS
SBOMについて
この攻撃は、日々活用され、ビジネスプロセスの基盤を構成している「信頼できる」ソフトウェアについて、どれだけのことが知られているかを正確に問うものでした。これを受けてバイデン大統領は、国家のセキュリティ向上に関する大統領令(EO 14028)を発布したのです。これは、組織や連邦機関が協力してサイバーセキュリティを向上させることを呼びかけたものです。
その一環として、ソフトウェア開発者は顧客に対してSBOMを提供するよう推奨されました。この部品表には、アプリケーションで使用されるライブラリ、アドオン、カスタムソースコードに関する情報が含まれています。
SBOMは当初、米国食品医薬品局(FDA)が2018年に「Premarket Submissions for Management of Cybersecurity in Medical Devices」の一部として提案し、製品セキュリティの重要性を強調してCBOM(Cybersecurity Bill of Materials)と呼ばれました。
SBOMは、医療機器において、食品に求められるのと同じレベルの説明責任を果たすために作られたものです。その目的は、機器を構成するすべてのソフトウェアとハードウェアの構成要素を一覧できるようにすることでした。これにより、組織は効果的に資産を管理し、利用されているソフトウェアのリスクを完全に理解することができます。
SBOMのリスク
SBOMの利点を考える前に、それに伴うかもしれないリスクについても考えることが重要です。
SBOMは、製品またはデバイス内のソフトウェアまたはファームウェアの構成に関する詳細な情報を含んでいます。これは、ソフトウェアの消費者にとっても、攻撃者にとっても同様に貴重な情報です。
SBOMを活用して脆弱性を迅速に特定し、是正する組織は、攻撃者が使えるのと全く同じものを、自身の身を守るために使えることになります。
つまり、攻撃側は有効な攻撃手段を失い、消費者はリスクを大きく上回る優位性を得ることができます。
なぜSBOMが必要なのか?
SolarWindsは、攻撃者によって挿入された悪意のあるコードを含む製品アップデートを無意識のうちに出荷していました。このコードは、サイバー犯罪者が顧客のシステムに侵入するための侵入口を作り出していたのです。SolarWindsは信頼できるプロバイダーであるため、多くの企業や連邦機関が綿密なチェックを行うことなく自動的にパッチをインストールしてしまいました。
今回のようなサプライチェーンへの攻撃は、ソフトウェアが開発者によって作成されたコードだけで構成されているわけではないため、発生する可能性があります。ソフトウェアには、オープンソースと商用を問わず、サードパーティのライブラリが複雑に絡み合っています。しかし、顧客にとってソースやライブラリの情報は視認できないブラックボックスであり、安全性が低く、古くなったコンポーネントが含まれている可能性があります。
もし、顧客がSolarWindsのパッチをもっと可視化できていれば、誰かがもっと早くこの攻撃を特定できたかもしれません。
SBOMの使用例
開発されたすべてのソフトウェアに義務付けられているわけではありませんが、SBOMはソフトウェアやデジタル製品のメーカーが使用すべきベストプラクティスです。SBOMの価値をご理解いただける使用事例をいくつかご紹介します。
● 連邦政府の要求事項への対応 – バイデン大統領の大統領令により、連邦政府にソフトウェアを提供する企業は、使用されているコンポーネントとバージョン間の変更の詳細を示すSBOMを提供することが必要になりました。
● ソフトウェア消費者のリスク低減 – SBOMはソフトウェア構成の可視性を提供し、組織はソフトウェアがコンプライアンス標準とセキュリティ要件を満たしていることを検証し、リスクを評価することができます。これは、ヘルスケア、重要インフラプロバイダー/公共事業、自動車、金融などの規制が厳しい業界にとって特に重要です。
● 製造リスクの効率的な管理 – デバイスメーカーは、製品に対して高い標準を維持する必要があり、多くの場合、製造後の変更に対応する能力が制限されています。SBOM は、上流ソフトウェアの変更を追跡し、新たな脆弱性を、より容易でコストのかからない生産開始の早い段階で特定し、是正することを可能にします。
● M&Aの支援 – 新規企業を買収する際、企業は買収前に投資先を調査するデューデリジェンスを実施する必要があります。このプロセスの一部には、購入のリスクを徹底的に評価することが含まれます。SBOMは、その企業が実行しているソフトウェアの可視性を提供し、より正確な評価を可能にします。
SBOMの利点
SBOMは製品セキュリティの重要な要素であり、企業はソフトウェアのセキュリティ状況を確認し、製品ライフサイクルのあらゆる段階で脆弱性を積極的に発見し排除することができます。
これにより、組織はサプライチェーンのリスクを最小化することもできます。SBOMは脆弱性を防止するものではなく、脆弱性管理プロセスの促進役であるということに十分留意しなければなりません。SBOMは潜在的な問題の早期発見と除去につながる変更の影響を特定するために使用することができるのです。
SBOMの利点は、セキュリティだけでなく、コスト削減にもつながります。開発者が手作業でコードを解析して脆弱性を特定するのではなく、この情報を一元化し、基盤となるライブラリの透明性を提供します。これにより、特定プロセスの効率化が図られ、時間とコストの削減が可能になります。
また、基礎となる情報を一箇所にまとめることで、ライセンス紛争の緩和を合理化することもできます。ライブラリには、「コピーレフト」のような好ましくないライセンスのコンポーネントが含まれていることがあり、それを使用する製品もパブリックドメインに置かざるを得なくなる可能性があります。SBOMからこのデータを導き出すことで、企業はこのような課題を事前に特定し、生産に入る前に製品から取り除くことができます。
SBOMを使う
SBOMを組織で活用することは、可視化を実現する上で大きな意味を持ちます。しかし、残念ながら、SBOMの導入は一律ではありません。SBOMをワークフローに組み込むには、ビジネスニーズに合わせてカスタマイズされたプロセスを作成する必要があります。また、さまざまなフォーマットに対応し、将来の脆弱性を含む可能性のある変更を見逃さないよう、一貫した更新を行う必要があります(「生きたSBOM」を維持するのです)。
米国商務省および米国電気通信情報局(NTIA)は、「ソフトウェア部品表のための最小要素」を発表し、これが急速にSBOMの事実上のスタンダードとなりつつあります。
複数のフォーマット
残念ながら、SBOMのフォーマットは1つではなく、CycloneDX、SPDX、SWID-tagsの3つのフォーマットがかなり一般的になってきています。上流のプロバイダーからデータを取り込むことは、SBOM利用者にとって課題となっています。このため、データを正規化し、1つの場所に統合するために、各フォーマットに固有のプロセスを作成する必要があります。
プロバイダーにとって、フォーマットは一貫性を提供するために不可欠です。一度フォーマットを選択したら、ゆくゆくは更新が消費者にとって負担となるため、そのフォーマットを守らなければならないのです。また、更新に対応するために、取り込みプロセスを変更しなければならないかもしれません。
自動化が鍵
SBOMは機械が読み取ることを前提に設計されており、それに合わせてフォーマットされています。
また、手動でデータを管理するのは複雑で時間がかかります。
SBOMを取り込む、あるいは作成する人にとって、自動化はプロセスを効率的に管理するために非常に重要なのです。自動化は、すべての新しい変更がリリースされたときに確実に組み込まれるようにするための一貫性を提供します。これは、プロバイダーが公開する情報にも、開発者がソフトウェアのアップデートを作成する場合にも当てはまります。
また、SBOMから得られる豊富なデータを管理するためにも、自動化は不可欠です。たとえ組織が自社製品の脆弱性を特定するための情報を持っていたとしても、この情報を迅速に手作業で配置することは合理的ではありません。その代わりに、組織は、使用しているコンポーネントについて新たに公表された脆弱性を定期的にチェックし、発見された場合にはアラートを生成する自動化ツールを必要としています。これによって、組織は脆弱性を特定し、迅速に軽減することができます。
SBOMの先にあるもの
SBOMは製品の構造を理解する上で重要な要素ですが、それは出発点に過ぎません。コンテキストベースの解析やVEXなどの技術により、脆弱性が悪用可能かどうかを判断することで、より深くリスクを理解することができます。悪用可能性をより深く理解することで、組織は、脆弱性への対処に優先順位をつけることができます。
コンテキストベース解析
コンテキストベース解析は、デジタルシステムの脆弱性を特定し、優先順位をつけるためのシステムです。高度なコンテキストベース解析を用いて、基盤となるハードウェアアーキテクチャ、OSの構成、暗号化機構、鍵、ハードニング機構、完全な制御フロー、APIコールを取り込み、サプライチェーンのリスクをさらに低減させます。製品の配備と運用のコンテキストは、SBOMをはるかに超えています。
SBOMがデバイス内での構成要素にリストを与えるのに対して、コンテキストはそのリストに意味を付け加えるのです。この情報により、リスクの重大性と優先度をより正確に判断することができます。これにより、問題でないものを改善するための無駄な時間を削減し、本当に優先すべき問題に集中することができます。
脆弱性診断システム(VEX)
VEXは、SBOMの付属アーティファクトです。これにより、デバイスメーカーは、SBOMに記載されているソフトウェアコンポーネントの1つで発見された脆弱性の悪用可能性を知らせることができます。この結果、組織は、SBOMに記載された製品の脆弱性が自分たちに影響するかどうかを判断するために、逆算する必要性を回避することができます。
VEXは、コンテキストベースの分析ほど深い評価を提供しないかもしれませんが、サプライチェーン・アタックに対する防御においてSBOMを土台にしています。VEXは、コンテキストベース解析と同様に、脆弱性の真の悪用可能性に関する情報を伝達し、修復プロセスを合理化するのに役立ちます。
Cybellum(サイベラム)の役割
コンテキスト解析の第一人者であるCybellumは、ソフトウェア・サプライチェーンに光を当て、あなたの顧客とビジネスを守るサポートをします。当社の製品セキュリティ・プラットフォームは、複数のフォーマットでSBOMを生成し、お客様の製品に潜む脆弱性を明らかにします。
すべてのソフトウェア資産を把握し、それぞれの脆弱性がもたらす真の影響を理解し、被害が発生する前にセキュリティリスクを軽減する方法をご紹介しています。今すぐご相談ください!