先週、攻撃者がnpmパッケージに毒を盛ったとき、業界はそれがどのように起こったのか、どのようなコードが注入されたのかを急いで分析した。しかし、悪用そのものがすべてではない。
入り口がフィッシングされたメンテナであれ、不正な依存関係であれ、サードパーティのサプライヤーであれ、最初の侵害はステップ1に過ぎない。その後が重要なのです。いったん悪意のあるコードがお客様の環境内で実行されると、攻撃者はそのアクセスを利用して、横方向に移動したり、特権を昇格させたり、データを流出させたり、ランサムウェアの舞台を用意したりします。
SOCチームにとって、ポイズンコードを発見することは重要だが、同様に重要なのは、悪意のあるコードが実行された後に続く攻撃者の行動を検出することである。
npmエクスプロイトの展開
最近の悪用は、npm自体の脆弱性から生じたものではない。その代わりに、ソーシャル・エンジニアリングの典型的な事例から始まった。攻撃者は フィッシング 公式サポートを装い、アカウントを「再検証」するよう促した。あるメンテナーは、広く使われているいくつかのパッケージの責任者であり、認証情報と1回限りの2FAコードの両方を攻撃者の偽ポータルに入力した。これにより、2ファクタ認証が有効になっているにもかかわらず、攻撃者はアカウントを完全に制御できるようになった。

アクセス権を手にした脅威者は、chalk、debug、supports-colorなどの信頼できるパッケージの新バージョンを素早く公開した。これらのパッケージは、毎週何十億回もダウンロードされる、無数のアプリケーションの基礎となる構成要素だ。侵害されたアップデートには、ウェブブラウザ内で実行するように設計された難読化されたJavaScriptが含まれていた。
この悪意のあるペイロードは、まるでマン・イン・ザ・ブラウザ攻撃のように動作した。ブラウザのAPIにフックし、ネットワークリクエストを監視し、暗号ウォレットのトランザクションを傍受した。ユーザーが暗号通貨を送信しようとすると、malware 受信者のアドレスを攻撃者が管理するアドレスに無言ですり替えた。その結果、被害者にとっては正常な取引に見えながら、最終的には資金が盗まれた。
悪意のあるバージョンは短期間しか利用できなかったが、npmの依存関係の利用規模が大きかったため、影響は急速に広がった。CI/CDパイプラインの自動ビルドシステムは、汚染されたアップデートをほぼ即座に取り込み、何千もの開発者と組織をインシデント対応モードに追い込んだ。
エクスプロイトから実行へ:最初の一歩が攻撃を定義しない理由
npmのケースでは、注入されたコードは暗号通貨取引を乗っ取るように調整されていた。しかし、その狭い目標が、リスクが限定的であったことを意味するわけではない。ひとたび悪意のあるコードが環境内で実行されれば、攻撃者はウォレットアドレスを交換する以上のことを行うことができる。
同じレベルのアクセスがあれば、可能だ:
- 認証情報を盗み、権限を昇格させる。
- クラウドとアイデンティティ・システムに横展開する。
- メールボックスルール、OAuthアプリ、または冗長アカウントによって永続性を作成します。
- データの流出やランサムウェアを仕掛ける。
のような脅威アクター Scattered Spiderクラウドや SaaSプラットフォームに侵入し、メールボックスのアクセス許可を操作し、バックドアの信頼関係を構築し、重要なワークロードを探ります。攻撃者はそこから横方向に移動して機密データに到達し、それを流出させます。これこそがSOCチームが備えるべき真の危険であり、インプラントだけでなく、それに続く攻撃者の行動のカスケードなのです。

SOCチームが気にかけるべき理由
SOCチームにとって、npmの悪用は、サプライチェーンの侵害が開発者だけの問題ではないことを思い起こさせるものだ。予防ツールやSCAスキャンは、脆弱なパッケージや悪意のあるパッケージを特定する上で重要な役割を果たすが、コード解析の時点で止まってしまう。しかし、コード解析の時点で止まってしまうのだ。これらのツールで得られないのは、毒化されたコードが実行された後、攻撃者がそのアクセスをどのように使用するかの可視化である。
その責任はSOCにある。課題は、侵害が発生したことを理解するだけでなく、侵害がお客様の環境における攻撃者のワークフローをどのように再構築するかを検知 することです。つまり、IDシステムでの永続性の確立、SaaSやクラウドプラットフォームへの移行に悪用された認証情報、データのステージングや流出を知らせるネットワークアクティビティなど、防御ツールが見逃している行動を監視することです。
エントリーポイントがnpmであろうと、PyPIであろうと、3CXであろうと、MOVEitであろうと、次のサードパーティサプライヤであろうと、エクスプロイトは始まりに過ぎない。影響力は、その後に展開される挙動をいかに素早く発見し、対応できるかによって決まる。
Vectra AIでセキュリティ・ギャップを埋める
npmの悪用は、 ソフトウェアサプライチェーンに対する信頼がいかに素早く 裏切られるかを示している。最初の目的が暗号通貨の窃盗であったとしても、同じアクセスが認証情報の窃盗、権限の昇格、データの流出に使われた可能性もある。だからこそSOCチームは、コードを分析するだけでなく、攻撃者が内部に侵入した後の行動を継続的に監視する防御を必要としているのだ。
ベクトラ Vectra AIプラットフォームは、 その可視性を提供します。アイデンティティ、ネットワーク、クラウド環境を リアルタイムで監視することで、Vectra AIは、敵対者が足場を広げ、目的を達成するために頼りにしている行動を検出します。悪意のあるコードがポイズンパッケージ、SaaSアカウントのフィッシュ、侵害されたサードパーティプロバイダのいずれを通じて届くかにかかわらず、Vectra AIは攻撃者の行動を表面化し、被害が拡大する前に対応するためのコンテキストをSOCチームに提供します。
Vectra AIがどのようにギャップを埋め、予防が失敗したときに検知と対応を確実にするのか、セルフガイド・デモを ご覧ください。