サプライチェーンセキュリティとは何か?

SHARE:

サプライチェーンセキュリティとは、企業のソフトウェアサプライチェーン内で発生するセキュリティリスクを検知し、是正するプロセスのことです。

今の業務は、サードパーティーのアプリケーションやデジタルサービスを使って遂行することが日常的になっています。ソフトウェアサプライチェーンと呼ばれるこれらの外部リソースによって、企業は従業員の生産性を高めるために必要なツールやアプリケーションを入手することができます。また、サードパーティーのソフトウェアは、外部で開発されたソリューションを借りることができるため、企業の開発者がゼロからソフトウェアを構築する労力を削減することができます。

一方、サードパーティソフトウェアから成るサプライチェーンは、企業のビジネスを危険にさらす可能性もあります。サードパーティ製アプリケーションにセキュリティ上の欠陥がある場合、あるいはサードパーティ製リソースが安全でない方法で企業環境に統合されている場合、脆弱性が生じ、機密データが漏洩し、脅威者が不正に利用できるバックドアが作られる可能性があります。

これらの理由から、ソフトウェアのサプライチェーンセキュリティを保証することは、サードパーティのアプリケーションやサービスを使用するすべてのビジネスにとって優先事項でなければなりません。この記事では、サプライチェーンのセキュリティとは何か、なぜ重要なのかを説明し、サプライチェーンの攻撃を防ぐためのベストプラクティスを提供します。

サプライチェーンセキュリティとは何か?

ソフトウェアサプライチェーンとは、企業が使用するサードパーティのアプリケーションやサービスの集合体のことです。例えば、以下のものはすべて、企業が導入する可能性のあるサードパーティ製ソフトウェアリソースの一般的な例になります:

  • 企業がIT資産内の他のアプリケーションやサービスのアイデンティティとアクセスを管理するために使用するアイデンティティと認証プラットフォームやサービス
  • 企業の会計士が財務データを管理するために使用するSaaS型会計アプリケーション
  • サードパーティーのサイトにホストされているオープンソースコードで、企業の開発者が、ゼロから自分で構築する時間がない機能を追加するために、自社のアプリケーションに取り込むもの

これらのサードパーティ製ソフトウェア・リソースにセキュリティ上の問題がある場合、そのソフトウェアを使用している組織に影響を及ぼす可能性があります。例えば、CRM(Customer Relationship Management)プラットフォームにセキュリティの脆弱性があり、攻撃者がCRMシステムにマルウェアを仕込むことができる場合、マルウェアはCRMソフトウェアを使用している企業のネットワークに広がる可能性があります。また、SaaS型会計プラットフォームの場合、プラットフォームに保存されている機密性の高い財務情報に対するデータの暗号化が行われていないため、そのソフトウェアを使用する組織のデータが流出する可能性があります。オープンソースコードの場合、そのコードに存在する脆弱性は、そのコードに基づいて部分的に構築されたアプリケーションにも存在することになります。

サプライチェーンのリスクはオンプレミスのソフトウェアに限らない

重要なことは、サプライチェーンのセキュリティ・リスクの対象となるために、安全でないサードパーティ製ソフトウェアを自分でインストールし、実行する必要はないということです。SaaSやPaaSアーキテクチャで提供されるホスティングされたフルマネージド・アプリケーションを使用している場合でも、自社のアプリケーションやデータにアクセスすることができれば、セキュリティリスクを環境にもたらす可能性があります。

サプライチェーンのリスクは脆弱性だけではない

サプライチェーンのセキュリティリスクは、サードパーティ製アプリケーション自体の脆弱性に限定されるものではないことに留意することが重要です。脆弱性とは、攻撃者が何らかの方法でアプリケーションを悪用することを可能にするセキュリティ上の欠陥を意味し、ソフトウェアのサプライチェーンセキュリティリスクの一種ですが、それだけに限りません。

サードパーティーのアプリケーションと自社のITリソースの間での安全でない統合は、リスクを生む可能性もあります。例えば、サードパーティのCRMプラットフォームと自社の顧客データベースを接続する場合を考えてみましょう。その際、CRMプラットフォームが顧客データにアクセスできるように、プラグインを使用するとよいでしょう。しかし、見落としや認識不足により、顧客データを含むデータベースだけでなく、社内のすべてのデータベースにアクセスできるようにプラグインを設定した場合、過剰な権限と不必要なリスクが発生することになります。

さらに、プラグイン、コネクタ、および拡張機能には、接続先のサードパーティアプリがそうでなくても、生来のセキュリティ脆弱性がある場合があります。これも、統合がサプライチェーンのセキュリティリスクをIT資産にもたらす可能性があることを示しています。

ソフトウェアサプライチェーンセキュリティの重要性

ソフトウェア・サプライチェーンのリスクから保護することは重要です。なぜなら、企業がサードパーティのソフトウェアが強力なセキュリティ基準に従って開発されていることを確認する術がない場合が多いためです。企業は、サードパーティのコーダーの開発手法を監督することができません。多くは、企業はサードパーティのソースコードにアクセスすることさえできず、入手できるのはバイナリだけです。

その結果、社内で開発されたソフトウェアのセキュリティ確保に有効な方法論の多くが、ソフトウェアのサプライチェーンに適用できません。例えば、サードパーティーのアプリケーションのソースコードにアクセスできないため、その脆弱性をスキャンすることはできません。また、サードパーティーの開発者のCI/CDパイプライン内のアクセス制御設定を監査して、ベストプラクティスに準拠していることを確認することもできません。

その代わりにできることは、使用しているサードパーティのアプリケーションと統合を認識し、潜在的なセキュリティ問題がないかどうかを監視することです。サードパーティーのソフトウェア資産の包括的なインベントリーがあれば、既知のセキュリティ脆弱性や勧告の対象になっているかどうかを判断することができます。また、プラグインやコネクタの設定を検証し、最小特権の原則に従うなどのベストプラクティスを遵守していることを確認することができます。

さらに、特定のケースでは、事業者の顧客から、事業者がサプライチェーンセキュリティのベストプラクティスを遵守していることを証明するよう求められる場合があります。例えば、米国の連邦政府機関にソフトウェアを供給する企業は、その企業が依存するサードパーティのソフトウェアリソースをリストアップしたソフトウェア部品表(SBOM)の提供を求められる場合があります。連邦政府との取引を希望する場合、要求に応じてSBOMを作成できるように、サプライチェーンのインベントリーが必要になる可能性が高くなります。

サプライチェーンへの攻撃は、脅威者が企業に危害を加える方法としてますます一般化され、サプライチェーンセキュリティの重要性はより一層高まっています。攻撃者の立場からすると、サプライチェーンの侵害は素晴らしいことです。なぜなら、単一のツールやプラットフォームを侵害することで、そのツールやプラットフォームを使用している何千もの企業のIT資産にアクセスすることができるからです。これは、脅威を与える側にとって、1社の社内開発アプリを攻撃するよりもはるかに有利なことなのです。

このような理由もあり、また、企業が毎年10万を超えるサードパーティ製アプリを導入しているため、攻撃者が悪用する潜在的なサプライチェーンリスクが増加していることもあり、近年、サプライチェーンへの攻撃が急増しており、その勢いが衰える兆しはありません。

サプライチェーンリスクと攻撃タイプ

ソフトウェア・サプライチェーンのセキュリティ戦略を立案する際、IT部門とセキュリティ部門は、以下のような特定のタイプのリスクと攻撃に備える必要があります。

  • 脆弱性: サードパーティ製アプリケーションのソースコードに、データ検証の欠如バッファオーバーフロー攻撃などの欠陥があると、攻撃者がそれを利用して企業のリソースに不正にアクセスしたり、アプリケーションやサーバーを制御したりする可能性があります。
  • 安全でないデータ管理: データを安全に管理できないサードパーティソフトウェアは、企業の機密情報を危険にさらす可能性があります。例えば、アップロードしたデータを暗号化しないプラットフォームでは、権限のない人が簡単に個人データを見ることができるようになります。
  • アクセスコントロールの設定ミス: 自社のアプリケーションやデータに接続するサードパーティソフトウェアのアクセスコントロールが弱いと、攻撃者にIT資産へのバックドアを与えてしまう可能性があります。例えば、すべてのユーザーに管理者レベルの権限を与えるように設定されたプラットフォームは、システムの悪用につながる可能性があります。
  • データガバナンスとセキュリティの問題: サードパーティ製ソフトウェアが、貴社に適用されるコンプライアンスやガバナンスのルールに違反する方法でデータを保存または管理する場合があります。例えば、政府が定めたコンプライアンスポリシーによって、特定の地域にデータを保存することが求められる場合があります。サードパーティ製ソフトウェアがデータを別の場所に保存した場合、コンプライアンス違反にさらされる可能性があります。

サプライチェーンへの攻撃例

サプライチェーンセキュリティにさらなる背景を加えるために、実際に起こったサプライチェーン攻撃の例をいくつか見てみましょう。

SolarWinds社の不正侵入

これまでで最も悪名高いソフトウェアサプライチェーン攻撃は、SolarWindsのプラットフォームへの侵入でした。この攻撃は、2020年後半に発見されるまで数ヶ月間発見されませんでしたが、SolarWindsが開発した監視ツールのソースコードにマルウェアが注入されたことに起因しています。このマルウェアにより、攻撃者は同ソフトウェアを使用する企業のITシステムにバックドアで侵入することができました。数万社の企業がこの方法で危険にさらされた。

Codecovの攻撃

2021年、Codecov社は、開発者がソフトウェアのテストに使用するCodecovプラットフォームのコンポーネントを攻撃者が修正したことを報告しました。この修正により、攻撃者はCodecovユーザーのCI/CD環境内に保存されているデータにアクセスできるようになり、機密性の高い開発情報が危険にさらされることになりました。SolarWinds社と同様に、Codecov社の攻撃は数ヶ月間発見されなかったため、攻撃者はその間、被害者のIT環境に自由にアクセスすることができました。

サプライチェーンセキュリティのベストプラクティス

このような攻撃は、責任感の強い大手ソフトウェア企業が開発した管理体制の整ったプラットフォームでさえ、サプライチェーン攻撃のために侵入される可能性があることを示すものです。そして、これらのプラットフォームの顧客が、攻撃の根本的な原因を防ぐためにできることはほとんどありません。

幸いなことに、サプライチェーン攻撃の被害に遭うリスクを最小限に抑えるために、企業が従うべきベストプラクティスがあります:

  • 可視性を確立する: まず、自社のサプライチェーンを可視化する必要があります。そのためには、自社がどのサードパーティーのソフトウェアやサービスを利用しているか、また、サードパーティーが自社のIT資産の中でどのリソースにアクセスできるかを特定します。
  • リスクを特定する: 利用しているサードパーティリソースが、公表されているセキュリティリスクの対象になっているかどうかを確認することができます。
  • サプライヤーを検証する: サプライチェーン・セキュリティ戦略では、既知のセキュリティリスクを公開データベースで確認するだけでなく、ソフトウェア・ベンダーに対する評価も行うことが多い。例えば、サプライチェーンに脆弱性を持ち込むリスクを軽減するために、ベンダーに対して特定のコンプライアンスフレームワークを遵守するよう要求することがあります。
  • 信頼できるサプライヤーを採用する: サプライチェーンへの攻撃は、有名なソフトウェア会社にも影響を与える可能性があり、実際にそうなっています。しかし、信頼できる供給元からのみソフトウェアを採用すれば、安全でないサードパーティ製ソフトウェアを使用するリスクは低くなります。無作為のマーケットプレイスやコンテナ登録で見つけたサポートされていないアプリケーションは避け、代わりに大規模な既知のベンダーやオープンソースプロジェクトからソフトウェアを導入することがベストプラクティスです。
  • ベストプラクティスを実施する: サードパーティのアプリケーションやサービスをセキュリティのベストプラクティスに適合するように設定しても、サードパーティのセキュリティリスクを排除することはできませんが、IT資産内で悪用される可能性を最小限に抑えることは可能です。そのため、企業は、使用するサードパーティ製アプリケーションやリソースに対して、ゼロトラスト、最小特権、マイクロセグメンテーションなどのポリシーを適用する必要があります。

結 論

ソフトウェアのサプライチェーンは、多くの点で、ビジネス全体のセキュリティ戦略において最も弱いリンクとなり得ます。幸い、適切な戦略とツールがあれば、サプライチェーンの脅威を先取りし、万が一発生した場合にビジネスに影響を与えるリスクを最小限に抑えることが可能です。