メインコンテンツへスキップ
ソフトウェア・サプライチェーンのセキュリティとは何でしょうか?
解説記事

ソフトウェア・サプライチェーンのセキュリティとは何でしょうか?

最近はサプライチェーンの問題についてよく耳にしますが、ソフトウェアのサプライチェーンには特別な保護が必要です。 その防御方法は以下の通りです。

ソフトウェア・サプライチェーンのセキュリティとは、外部から発生するサイバー脅威から組織のデジタル資産を保護することを指します。 第三者、オープンソースソフトウェア、およびクラウドサービスに起因する脆弱性の低減に重点を置いています。 ソフトウェアのサプライチェーンのセキュリティを確保することは、組織をサイバー攻撃から守るために不可欠な取り組みです。

「サプライチェーン」という広義の用語は、製品やサービスを生産し、顧客に届けるために必要な、多岐にわたる組織群を指します。 今日の世界において、サプライチェーンとは一般的に、実物の商品の製造や流通を指しますが、その多くは、新型コロナウイルス感染症(COVID-19)のパンデミックやウクライナでの戦争、その他の世界的な危機によって混乱を来しています。

「ソフトウェア・サプライチェーン」とは、この広義のサプライチェーンの中でも、アプリケーションやデジタルサービスの開発および導入に関連する、より狭い範囲を指します。 本解説記事では、ソフトウェアのサプライチェーン、そしてそのサプライチェーンに沿って企業が直面するリスクについて、詳しく解説していきます。

ソフトウェアのサプライチェーンは、以下のような数多くの構成要素から成り立っています:

  • 商用およびオープンソースのエンタープライズソフトウェア
  • クラウドサービス、 これには、ソフトウェア・アズ・ア・サービス(SaaS)、
    プラットフォーム・アズ・ア・サービス(PaaS)、およびインフラストラクチャ・アズ・ア・サービス(IaaS)のプロバイダーが含まれます
  • ITやデータ管理、ソフトウェア開発、
    、サイバーセキュリティなどのサービスを提供するサプライヤー、ベンダー、および請負業者

  • において、上記の事業体とパートナーシップを結んでいる当事者はありますか

ソフトウェアのサプライチェーンを構成する個々のリンクは、それぞれ潜在的なセキュリティリスクとなり得ます。そして、これらのリンクが組み合わさることで、複雑な脅威の状況が形成されます。 その結果、 サプライチェーン全体にわたる可視性の欠如 により、組織は事業を展開するあらゆる場所に潜む可能性のあるセキュリティ上の脆弱性にさらされることになります。

ソフトウェア・サプライチェーン攻撃とは、組織が信頼を置いている1社または複数のサードパーティ製ソフトウェアパートナーやプロバイダーのセキュリティ上の脆弱性を悪用する攻撃のことです。 攻撃者は、こうしたハッキングされたソリューションを利用して、企業のITインフラに侵入します。 これらのサードパーティ企業には、組織のネットワーク、アプリケーション、およびデータへのアクセス権が与えられているため、ハッカーはこれらを足掛かりとして、企業ネットワークの最も機密性の高い領域へと侵入し、高価値な資産を盗み出したり、重要なシステムを乗っ取ったりすることが可能になります。

過去10年間で発生した、最大規模かつ最も多額の損害をもたらした企業データ漏洩事件のいくつかは、ソフトウェアのサプライチェーンを標的としたハッキングが関与していました。 During the 2013 Target credit card breach, attackers stole a refrigeration contractor’s login credentials to gain access to Target’s vendor portal and ultimately install malware in its point-of-sale system. The thieves stole 40 million credit card numbers and compromised the personal details of 70 million customers. Target had to pay a settlement of $18.5 million as a result of the breach.

2020SolarWinds攻撃の際、ハッカーは同社のインフラ監視・管理ソリューション「Orion」に
悪意のあるコードを注入しました。これにより、攻撃者はマイクロソフト、
インテル、NVIDIA、国土安全保障省、
および財務省を含む 100 社以上の企業や政府機関を盗聴することが可能となりました。

パンデミックを受けて、 リモートワーカー に対応するためにIT環境が拡大するにつれ、サプライチェーン攻撃は指数関数的に増加しています。
によると、その件数は 2020 件から2021件へと少なくとも 300%増加しており、 2つの推計によると、 2021社のうち5社中3社が被害を受けていると推定されています。 Verizon reports that more than 60% of system intrusion incidents in 2021 came through a partner or a software update.

なぜソフトウェアのサプライチェーンは脆弱なのでしょうか?

大規模な組織では、日常業務において、エンタープライズ・リソース・プランニング(ERP)、ビジネス・インテリジェンス(BI)、顧客関係管理(CRM)などのために、数百、あるいは数千ものアプリケーションを利用している場合があります。 StrutsやSpringといった、一般に公開されている のオープンソースフレームワークが、ソフトウェア開発の基盤として広く利用されるようになるにつれ、こうしたエンタープライズアプリケーションにおける脆弱性はますます一般的になってきています。

組織はこれらのソフトウェアコンポーネントについて、可視性や制御がほとんどないため、ハッカーたちは、オープンソースコードに潜在的に埋め込まれている可能性のあるさまざまな脆弱性を悪用できることに気づきました。

そして、それらはたくさんあります。 Contrast Security社の『 2021 State of Open-Source Security Report』( )によると、平均的なアプリケーションには118 個のプログラミング用「ライブラリ」、つまり開発者がタスクを自動化するために利用できる既成のコードの集合体が含まれています。 アプリケーションは、これらのライブラリのうち、平均して 38%しか積極的に使用していません。 使用されていないライブラリは、ハッカーが検知されることなくライブラリに悪意のあるコードやマルウェアを挿入する可能性があるため、重大なセキュリティリスクとなります。 また、この報告書によると、平均的なJavaアプリケーションには 50 件のオープンソースライブラリの脆弱性が存在しており、攻撃者が悪用できる脆弱性が存在する確率は6分の1であることが明らかになりました。

こうした脆弱性を見つけることは、組織にとって大きな障壁となっています。 たとえば、Javaには、ソフトウェア開発プラットフォームとして広く普及しているため、たった1つの悪用可能なコーディングミスが、何百ものアプリケーションに存在している可能性があります。 ほとんどの脆弱性評価システムは、特定のソフトウェアプログラムが古くなっていることを指摘することはできますが、 通常、その脆弱性を含む具体的なファイルやコンポーネントを特定するために必要な詳細な情報は提供されません。ただし、バイデン大統領が署名した「国家のサイバーセキュリティ強化に関する 大統領令( 2021)」により、この状況は変わる可能性があります。同令では、連邦政府にソフトウェアを提供するベンダーに対し、製品に含まれるすべての構成要素についてソフトウェア部品表(SBOM)を添付することが義務付けられています。

[関連記事:見逃した方のために――大手企業がSECの新たなサイバー規制をめぐって議論を交わしています]

この課題の規模を理解するためには、政府による食品の回収措置を例に挙げて考えてみてください。 食料品店では、マカロニ&チーズの在庫全品目の詳細情報を提供することができます。 その店舗では、その在庫内の特定のロット番号まで詳細に確認することも可能です。 しかし、もし政府機関が、その店舗にある人工着色料「FD&CイエローNo.5」を含むすべての製品を回収しようとした場合、その店舗には、それらの製品をすべて特定する効果的な手段がない可能性が高いでしょう。

これは、組織がソフトウェアのサプライチェーンのセキュリティ確保において直面する、本質的な問題です。 リスクの程度を把握するために必要な、あらゆるデバイス上のあらゆるソフトウェアに含まれるすべてのコンポーネントを、微細なレベルまで詳細に把握するための効果的なツールや手法を持っている人はほとんどいません。

ソフトウェアのサプライチェーンにおけるセキュリティ侵害の具体例にはどのようなものがありますか?

仮にソフトウェア・サプライチェーンへの攻撃が発生した場合、ハッカーは、特定のエンタープライズ・アプリケーション開発プロジェクトで使用されているオープンソース・コンポーネントを標的とします。 ハッカーは、そのプロジェクトに関与していない組織の開発者を特定し、ソフトウェア開発の共同作業に使用されている のGitHubアカウント( )を乗っ取った後、バックドアを含む一見無害に見えるコードをプロジェクトに挿入します。

「たとえば、Javaには1つの悪用可能なコーディングミスが存在するだけで、Javaがソフトウェア開発プラットフォームとして広く普及しているため、そのミスが何百ものアプリケーションに存在している可能性があります。」

知らず知らずのうちに、そのバックドアがソフトウェアの次のリリースに組み込まれてしまいます。 アプリケーションが更新されると、その更新版には脆弱性が発見されたオープンソースコンポーネントが含まれることになり、その結果、ハッカーが組織のネットワークに侵入する足がかりを与えてしまうことになります。

しかし、適切なセキュリティ対策を導入すれば、開発者が担当していないプロジェクトにアクセスするといった異常な動作を検知することで、このような攻撃の被害を軽減できるほか、 の多要素認証( )を活用することで、そもそもハッカーが開発者のアカウントにログインしようとする試みを未然に防ぐことも可能です。

ソフトウェアのサプライチェーンセキュリティは、なぜ重要なのでしょうか?

現代のサプライチェーンにおいて、サプライヤーは顧客企業の情報システムやデータにアクセスできることがよくあります。 その結果、その組織は、サプライチェーンの他のどこかに存在するセキュリティ上の脆弱性の影響を受けやすくなってしまいます。 この連鎖のどの段階でも1件のセキュリティインシデントが発生しただけで、組織のネットワーク全体に壊滅的な影響が及ぶ可能性があります。

ソフトウェアのサプライチェーンを標的とした攻撃は、ますます一般的になってきています。 2021年の後半6か月間で、サプライチェーン攻撃 が 51%急増しました。 サプライヤーリスクがますます重要な課題となる中、組織はベンダーリスク管理、包括的なリスク評価、脅威の検知と対応、およびこれらに類する対策に、より一層重点を置く必要があります。

ソフトウェアのサプライチェーンにおける主なリスクにはどのようなものがありますか?

サプライチェーンにおける主なリスクには、以下のものが挙げられます:

  • 視界が悪いです。 今日のソフトウェア・サプライチェーンは極めて複雑であるため、どのサプライヤーが特定のシステムや資産へのアクセス権限を持っているか、またネットワークにアクセスしているすべてのデバイスやサービスについて、明確かつ正確な全体像を把握することは極めて困難です。 による包括的な可視性がなければ、サプライヤーがセキュリティ上のリスクをもたらすかどうかを把握することは不可能です。
  • ソフトウェアプロバイダーの弱点。 何千もの組織が同じソフトウェアソリューションを利用しているため、サプライチェーン攻撃の標的は、しばしばソフトウェア開発者やベンダーとなります。 ハッカーが個々のツールやソリューションを侵害すると、より多くの標的にアクセスできるようになります。 ハッカーは、ソフトウェアが組織のシステムにインストールされた後、機密データへのアクセス権を得るために、そのソフトウェアに脆弱性を仕込んだり、マルウェアを注入したりする可能性があります。 パッチが適用されていないサードパーティ製システムは、かねてよりサプライチェーンにとって大きなリスクとなってきました。 その結果、先ごろ発覚した Log4j 件の脆弱性は、の適切なパッチ管理 プロセスの重要性を浮き彫りにしました。
  • 漏洩したデータ。 サプライヤーが保有する機密データは、攻撃の際に盗まれたり、削除されたり、あるいはその他の方法で漏洩したりする恐れがあります。 その結果は、組織が直接サイバー攻撃を受けた場合と変わりません。業務の停止、金銭的損失、評判の低下、法的措置、および規制当局による罰則などが生じます。
  • 捕鯨。 や といったフィッシングと同様に、この種のソーシャルエンジニアリング攻撃は、企業の従業員を標的としています。 彼らは、信頼できる送信元から送られてきたように見えるメールやテキストメッセージを受け取り、ログイン情報やその他の機密性の高い個人情報を明かさせようとする試みに遭います。 「ホエールング」攻撃では、高度なアクセス権限を持つ幹部など、「大物」を捕まえるために、特定の個人を調査・特定することがある場合があります。 一方、フィッシングは通常、より広範囲に網を張り、数百人を標的にします。
  • 旧式の技術です。 企業は、サプライヤーのITインフラについて全く把握できておらず、サードパーティベンダーが、古く、パッチが適用されていない、あるいはサポート対象外のソフトウェアが動作するレガシーハードウェアを運用しているケースも珍しくありません。 技術が古くなるにつれて、セキュリティ上の脆弱性の数が増加しており、これが特に厄介なサプライチェーンリスクとなっています。
  • サプライヤーのセキュリティ上の脆弱性。 ソフトウェアベンダーが適切なセキュリティ対策を講じていない場合、貴組織がどれほど強固なセキュリティ体制を整えていても、脆弱な状態にさらされてしまいます。 ハッカーは、サプライヤーのセキュリティ上の脆弱性を悪用し、貴社のシステムやデータにアクセスする可能性があるのです。 サプライヤーの審査が行われず、セキュリティに関する要件が伝達されていない場合、企業は最低限のセキュリティレベルを確保することができません。

ソフトウェア・サプライチェーンのセキュリティにはどのような要素がありますか?

攻撃者がネットワーク内に侵入すると、組織にとって最も価値のある資産を標的にします。 したがって、サプライチェーンのセキュリティを確保するための第一歩は、自社の資産のうち、ハッカーが狙う価値のあるものが何であるかを把握することです。 まずはすべての資産を特定し、次に「の『至宝』」――つまり、決して侵害されてはならない資産――を優先順位付けしてください。 ビジネス上不可欠とみなされるものは、ほとんどの組織において高価値な資産と見なすことができ、これには、独自のソフトウェアコード、財務データや顧客データ、暗号化コード、人事情報、知的財産などが含まれる場合があります。

「基本的に、御社が取引を行っているソフトウェア企業はすべて、潜在的なリスクとなります。」

この手順の一環として、各資産が配置されている環境や、その資産にアクセスできるあらゆる方法についても理解しておく必要があります。 この のアセット検出およびインベントリ作成プロセス( )は、資産が侵害されるリスクがどの程度あるかを判断し、サプライチェーンのリスクをどこで軽減すべきかを特定するのに役立ちます。

サプライチェーンのセキュリティを確保するための第2段階では、ビジネスパートナーを特定し、そのシステムにおける脆弱な部分を洗い出すとともに、堅固なベンダーリスク管理プロセスを導入することが求められます。 こうしたパートナーには、ソフトウェアベンダー、クラウドサービスプロバイダー、POS(販売時点情報管理)企業、給与計算代行業者、さらにはセキュリティ企業などが含まれますが、これらはすべて、攻撃者がより広範な企業システムに侵入するための足がかりとなってきました。 基本的に、御社が取引を行っているソフトウェア会社はすべて、潜在的なリスクとなります。

このステップに万能なアプローチはありませんが、適切なプロセスには、ベンダーのリスク評価の実施、重要度に応じたベンダーの分類、ベンダー一覧の作成、重要なベンダー属性の追跡、および長期にわたるベンダーのパフォーマンスとリスクの監視といった取り組みが含まれるべきです。

[関連記事: Log4j 件の脆弱性が発覚した後も、サードパーティ製ソフトウェアに対する可視性の欠如が、引き続き組織を悩ませ続けています]

ベンダー・リスク管理の目的は、貴社の最も機密性の高いデータを保護するために、ベンダーが適切なポリシーと技術を整備していることを確認することです。 また、リスクの高いベンダーを特定し、それらと協力してセキュリティリスクを軽減したり、別のサプライヤーに切り替えるべきかどうかを判断したりするのにも役立ちます。

ソフトウェア・サプライチェーンのセキュリティにおける主な課題にはどのようなものがありますか?

前述の通り、可視性はサプライチェーン・リスクにおいて最も困難な要素の一つです。 実物商品の場合、サプライヤーは、製品の製造に使用された材料や成分の一覧を提供することができます。 しかし、現代のソフトウェアの多くは、主にオープンソースのコンポーネントを用いて構築されています。 特定のアプリケーションに使用されているコンポーネントの内訳や、それらを誰が開発したかといった情報を把握するのは困難であり、ほとんどの人は、
を自分で調べるための効果的な方法を持っていません。

また、組織は、プロジェクト開発者がセキュアコーディングの慣行を遵守し、脆弱性に対して迅速に対処していることを確認するための監査においても、課題に直面しています。 結局のところ、彼らは、自社の
というITアーキテクチャを支えるエンドツーエンドのサプライチェーンについて、明確な理解
と管理能力を欠いているのです。

ソフトウェア・サプライチェーンのセキュリティにおけるベストプラクティスにはどのようなものがありますか?

「エアギャップ」という言葉を聞いたことがありませんか? ソフトウェア・サプライチェーンのセキュリティを向上させるために、この方法やその他のヒントを学んでおくべき時が来ました:

  • サプライチェーンを端から端まで把握しましょう。 ソフトウェアのサプライチェーンには、エンタープライズソフトウェアの作成に使用されたすべてのコード、ファイル、その他のコンポーネントに加え、それらの出所や作成者も含まれます。 製品がセキュリティリスクについてどのように審査されたのか、また、製品に既知の脆弱性が含まれている可能性があるかどうかといった点について、知りたいとお考えですね。 簡単に言えば、御社が運用しているアプリケーションについて、できる限りあらゆる情報を把握する必要があります。
  • ネットワークにエアギャップを設けてください。 エアギャップは、堀が城を襲撃から守るのとほぼ同じように、ネットワークと攻撃者の間に障壁を作り出します。 IT担当者は、機密性の高い資産 をネットワークに接続されたシステムから物理的に隔離したり、特定のデバイスをネットワークから切り離したりすることで、「ギャップ」を作り出します。 エアギャップの目的は、脅威アクターが外部接続を介してシステムを攻撃する可能性を排除することにあります。
  • 定期的にテストを行ってください。 多くの企業は、特定のサプライヤーが攻撃を受けるまで、自社のサプライチェーンがどれほど脆弱であるかを理解していません。 とはいえ、それを確かめるために待つ必要はありません。 脆弱性スキャンを実施することで、 の設定ミス()、不適切なアクセスポリシー、およびハッカーに悪用される可能性のある製品の脆弱性といった、基本的なセキュリティ上の問題を特定し、修正することができます。 また、ペネトレーションテストでは、攻撃をシミュレートしてシステム内の脆弱性を発見・悪用することで、データがどれほど容易に盗み出されやすいかを判断するのにも役立ちます。

ソフトウェア・サプライチェーンのセキュリティに関するフレームワークにはどのようなものがありますか?

セキュリティフレームワークとは、サイバーセキュリティ対策の確立と維持のための一連の方針および実践手法のことです。 組織は、フレームワークを活用することで、自組織のリスクレベルを評価し、どのような攻撃を受ける可能性があるかを把握し、既存のサイバーセキュリティ対策の能力を補完して、ソフトウェアサプライチェーンのセキュリティを強化することができます。

例えば、米国政府は、政府機関がセキュリティ、プライバシー、およびサプライチェーンのリスクを管理するために、システムをどのように設計・構築し、保護し、監視すべきかを定めるため、国立標準技術研究所( 、NIST)のリスク管理フレームワーク(Risk Management Framework、RMF)( )を策定しました。 米国国立標準技術研究所(NIST)が管理するこのフレームワークは、データ漏洩や ランサムウェア攻撃などの脅威を軽減するための、リスク評価およびITセキュリティの向上に関する詳細なベストプラクティスを提供しています。。

RMFには、組織がシステムにより強固なセキュリティを組み込み、セキュリティ上の問題により迅速に対応できるよう支援するための、7段階のリスク管理プロセスが盛り込まれています。 手順は以下の通りです:

  • 準備をしてください。 このステップでは、組織はRMFを実行する準備を行います。 具体的な活動としては、リスク管理における主要な役割の特定、組織のリスク許容度の決定、 に基づく組織全体のリスク評価の実施、およびリスク管理戦略の策定と実施などが挙げられます。
  • 分類してください。 第2段階では、組織はNISTの基準を用いて情報やシステムを分類し、それらのリスクを正確に評価します。 当該組織は、自社の環境内に存在するすべてのデータの棚卸しを行い、権限のないユーザーがアクセス可能な機密データや、価値の低いデータを特定します。 また、各システムの特徴や、それらが互いにどのように結びついているかについても記載されています。
  • 選択してください。 次のステップでは、組織はRMFに記載された制御措置のカタログに基づき、自社のシステムに適したセキュリティ制御措置を選定します。 これらの対策には、監視ソリューション、多要素認証、および リスクの高い行動を抑制し 、災害発生時にシステムやデータの復旧を支援するポリシーが含まれます。 この段階では、機密情報へのアクセスが必要な人と、必要でない人を区別することが重要です。
  • 実装してください。 当該組織は、選定したセキュリティ対策を実施します。 この段階では、新しい手順や方針、および
    の各システム内でのその活用方法について、スタッフへの研修を行う必要があります。
  • 評価する。 このステップでは、組織は、導入済みのセキュリティ対策に基づき、適切な評価手順を策定し、実施します。 その目的は、組織が あらゆるセキュリティリスクに対して即座に対応できるよう 確保することにあります。
  • 承認してください。 経営陣は、組織のリスク許容度に基づき、選定された統制が適切であるかどうかを判断します。
  • モニター。 このステップでは、組織はセキュリティを維持し、ステータスの変化に対応するため、システムを継続的に監視します。

ソフトウェア・サプライチェーンのセキュリティに関する、おすすめの資料にはどのようなものがありますか?

ソフトウェア・サプライチェーンのセキュリティに関する詳細情報については、以下のリソースをご参照ください:

その他のリソース: