先週、攻撃者がnpmパッケージを汚染した際、業界はその発生原因や注入されたコードの解析に奔走しました。しかし、エクスプロイト自体が話のすべてではありません。
侵入口がフィッシングされたメンテナ、悪意ある依存関係、あるいはサードパーティサプライヤーであっても、初期侵害はあくまで第一歩にすぎません。その後が同じくらい重要です。悪意あるコードが環境内で実行されると、攻撃者はそのアクセスを使ってラテラルムーブメント、権限昇格、データ持ち出し、あるいはランサムウェアの準備を行います。
SOCチームにとって、汚染コードの発見は重要ですが、それと同じくらい重要なのは、悪意あるコードが実行された後に続く攻撃者の振る舞いを検知することです。
npmエクスプロイトの展開
今回のエクスプロイトは npm 自体の脆弱性から始まったわけではなく、典型的なソーシャルエンジニアリングでした。攻撃者は npm サポートを装って人気メンテナにフィッシングメールを送り、アカウントの「再認証」を迫りました。あるメンテナ(複数の広く使われるパッケージを管理)が資格情報とワンタイム 2FA コードを攻撃者の偽ポータルに入力し、2 要素認証が有効にもかかわらず完全なアカウント制御を奪われました。

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

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

