サプライチェーン攻撃では、攻撃者はサードパーティの依存関係を悪用して、ターゲットのシステムやネットワークに侵入します。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
サプライチェーン攻撃は、「サプライチェーン」と総称されるサードパーティツールやサービスを利用して、標的のシステムやネットワークに侵入する攻撃です。このような攻撃は、「バリューチェーン攻撃」や「サードパーティ攻撃」と呼ばれることもあります。
サプライチェーン攻撃は、その性質上、間接的なものであり、最終的な標的が(多くの場合、無意識のうちに)依存しているサードパーティの依存関係を狙います。依存関係とは、アプリケーションの機能を強化するサードパーティプロバイダーのプログラムまたはコード(多くの場合、JavaScriptで記述されている)の一部です。例えば、eコマースの小売業者に使用される依存関係は、顧客支援チャットボットの実行や、サイト訪問者の活動に関する情報の取得に役立つかもしれません。このような依存関係は、標的がアプリケーションやネットワークを維持するために使用する幅広いソフトウェア、アプリケーション、サービスにおいて、何百、何千と見出すことができます。
サプライチェーン攻撃では、攻撃者はサイバーセキュリティベンダーを標的にし、そのソフトウェアに悪意のあるコード(または「マルウェア」)を追加し、システムアップデートとしてそのベンダーのクライアントに送信することが考えられます。このマルウェアは、クライアントが信頼できるソースからのアップデートであると信じてダウンロードすると、攻撃者にそのクライアントのシステムと情報へのアクセスを許可してしまうのです。(2020年に18,000人の顧客に対して行われたSolarWindsを介した攻撃は、基本的にこの方法で行われました。)
サプライチェーン攻撃を行う前に、攻撃者は悪用しようとするサードパーティシステム、アプリケーション、またはツールにアクセスする必要があります(「アップストリーム」攻撃とも呼ばれます)。これは、盗まれた資格情報を使用する、組織のシステムに一時的にアクセスできるベンダーを標的にする、未知のソフトウェアの脆弱性を悪用する、などの方法によって行われます。
このサードパーティの依存関係へのアクセスが確保されると、「ダウンストリーム」攻撃(最終的な標的に到達する攻撃、多くはブラウザやデバイス経由)が様々な方法で実行されるようになります。
先ほどの例に戻ると、「アップストリーム」攻撃は、攻撃者がサイバーセキュリティベンダーのソフトウェアに悪意のあるコードを追加することで発生します。そして、そのマルウェアが日常のソフトウェアアップデートによってエンドユーザーのデバイスで実行されることで、「ダウンストリーム」攻撃が行われます。
サプライチェーン攻撃は、サードパーティが管理するハードウェア、ソフトウェア、アプリケーション、またはデバイスを標的とする場合があります。よくある攻撃の種類には、次のようなものがあります。
ブラウザベースの攻撃は、エンドユーザーのブラウザ上で悪意のあるコードを実行します。攻撃者は、ユーザーデバイス上で自動的にコードを実行するJavaScriptライブラリやブラウザの拡張機能を狙っている可能性があります。あるいは、ブラウザに保存されているユーザーの機密情報を盗むこともあります(Cookie、セッションストレージなどを経由して)。
ソフトウェア攻撃は、ソフトウェアのアップデートにマルウェアを偽装します。SolarWindsを介した攻撃のように、ユーザーのシステムが自動的にこれらのアップデートをダウンロードし、不注意にも攻撃者がデバイスに感染させ、さらに行動を起こすことを許してしまう可能性があるのです。
オープンソース攻撃は、オープンソースコードの脆弱性を悪用します。オープンソースコードパッケージは、組織がアプリケーションやソフトウェアの開発を加速させるのに役立ちますが、攻撃者が既知の脆弱性を改ざんしたり、ユーザーのシステムやデバイスに侵入するために使用されるマルウェアを隠したりすることを可能にする可能性もあります。
JavaScript攻撃は、JavaScriptコードの既存の脆弱性を悪用するか、悪意のあるスクリプトをWebページに埋め込み、ユーザーが読み込むと自動的に実行されるようにします。
Magecart攻撃は、悪意のあるJavaScriptコードを使用し、サードパーティが管理していることが多いWebサイトのチェックアウトフォームからクレジットカード情報を抜き取るものです。これは、「フォームジャッキング」とも呼ばれています。
Watering hole攻撃は、多くのユーザーが共通して利用するWebサイト(例:Webサイトビルダーや政府のWebサイト)を特定します。攻撃者は、様々な手口でサイト内のセキュリティの脆弱性を特定し、その脆弱性を利用して、疑いを持たないユーザーにマルウェアを配信することがあります。
暗号ジャックで、攻撃者は、暗号通貨のマイニングに必要なコンピューターのリソースを盗むことができます。その方法とは、悪意のあるコードや広告をWebサイトに挿入する、オープンソースのコードリポジトリに暗号マイニングスクリプトを埋め込む、フィッシングの手口を使い、無防備なユーザーにマルウェアに感染したリンクを配信する、などさまざまです。
サードパーティのソフトウェア、ハードウェア、アプリケーションを悪用したり、改ざんしたりする攻撃は、サプライチェーン攻撃とみなされます。組織は通常、さまざまな外部ベンダーと連携しており、それぞれのベンダーが自社のツールやサービスに数十もの依存関係を使用している場合があります。
そのため、組織がサプライチェーン攻撃から完全に保護することは不可能ではないにせよ、難しいかもしれません。しかし、一般的な攻撃方法に対して、組織が先手を打って防御できる戦略もいくつかあります。
*ゼロデイエクスプロイトを阻止することは、ほとんどの組織にとって、今なお特に骨の折れる課題です。2021年、開発者がJavaアプリケーション内でデータを記録するのに役立つオープンソースのソフトウェアライブラリであるLog4jに、ゼロデイ脆弱性が発見されました。これにより、攻撃者は何億台ものデバイスに感染させて制御できるようになり、そこからランサムウェア攻撃や違法な暗号マイニングなど、さらなる攻撃が行われるようになりました。CloudflareのLog4jの脆弱性に対する防御方法の詳細をご覧ください。
Cloudflare Zero Trustは、潜在的にリスクの高いWebサイトへのアクセスをブロックし、悪意のあるアップロードやダウンロードを防止し、組織内のSaaSアプリケーション(承認済み、未承認の両方)を監査することにより、サプライチェーン攻撃を阻止することができます。
Cloudflare Zarazは、アプリケーションをクラウドで読み込むサードパーティツールマネージャーで、悪意のあるコードがエンドユーザーのブラウザ上で実行されないようにするものです。Zarazは、ユーザーがサイト上で実行されるサードパーティスクリプトを見えるようにして制御ができるようにし、リスクのある行為を分離してブロックすることを可能にします。
利用開始
Webアプリケーションセキュリティについて
一般的な脅威
VPNリソース
セキュリティ用語集