侵害の発端と検知の経緯
盗まれたパッケージレジストリの鍵を悪用し、あるサイバー犯罪者が深刻なjscrambler供給網攻撃を実行しました。攻撃者はnpmパッケージの感染バージョンを5つアップロードすることに成功しています。これらの不正バージョンには、極めて危険なIronWormマルウェアのペイロードが仕込まれていました。複数のセキュリティ企業の専門家がこの深刻な事案を即座に調査しました。
Socketは最初の悪意あるリリースを公開からわずか6分後に検知しました。その後、同社はさらに4件のリリースをこの一連のキャンペーンに関連付けています。さらに分析の結果、攻撃手法に変化が見られることも判明しました。以降のバージョンでは、悪意あるローダーの設置場所が変更されています。攻撃者はこれをpreinstallスクリプトからコア コード内へと直接移動させました。
IronWormペイロードの正体
一方、JFrogは悪意あるペイロードをIronWormと特定しました。さらに同社は、恐ろしい自己増殖の仕組みも発見しています。このワームは盗まれたnpmトークンを悪用し、自律的に拡散していました。SafeDepは公式の公開リポジトリ内に注入ファイルが存在しないことを確認しました。同社はまた、eBPFコードをLinuxカーネルに直接ロードするという恐るべき機能も明らかにしています。最後に、StepSecurityは不正な外部への通信を記録しました。これらの不審な通信は、一貫して2つの特定のIPアドレスとTorネットワーク宛てに送信されていました。
影響を受けたバージョンと範囲
侵害を受けたバージョンには8.14.0、8.16.0、8.17.0、8.18.0、8.20.0が含まれます。脅威アクターはわずか3時間という短い時間の中で、これらの更新版を次々と公開しました。最終的にJscrambler社は公開用の認証情報が深刻な侵害を受けたことを公式に認めました。幸いにも、今回のサイバー攻撃の影響を受けたのはCode Integrity向けの主力jscramblerパッケージのみです。そのため、同社の他のソフトウェア製品や外部プラグインへの影響は一切ありませんでした。
感染手法の進化
侵害を受けた最初の3つのバージョンは、インストール時に悪意あるpreinstallフックを通じて即座にマルウェアを実行していました。しかし、バージョン8.18.0および8.20.0では、ステルス性の高いローダーがメインコードとコマンドラインインターフェースに直接組み込まれています。そのため、インストールスクリプトを無効化するだけではもはや十分な対策にはなりません。悪意あるプログラムは、対象パッケージをインポートまたは起動した瞬間に即座に起動する仕組みでした。さらに攻撃者は、Windows、macOS、Linuxの各環境向けに個別に調整された実行ファイルをそれぞれ展開していました。
広範囲に及ぶデータ窃取の標的
IronWormは、価値の高いクラウドアクセスキーや有効なGitHub認証情報を執拗に探し出していました。また、ブラウザのパスワードやトラッキングクッキー、機密性の高い1Passwordのボルトも血眼になって探索しています。さらにこのマルウェアは、暗号資産ウォレットや企業のVPN設定、稼働中のメッセンジャーセッションを明確に標的としていました。最新のAIプログラミングツールやMCPサーバーの認証キーまでも狙っていたのです。
Windowsマシン上では、このマルウェアは完全に隠蔽されたスケジュールタスクを通じて、システムへの深い永続性を確立していました。一方でApple製のmacOSシステムでは、目立たないLaunchAgentを利用してステルス性のある永続化を実現しています。最終的に、マルウェアはTorネットワークと一時的なファイル共有サービスであるtemp.shを通じて、盗んだデータを密かに外部へ送信していました。
自己増殖と対策手順
JFrogの研究者らはまた、IronWormが発見したハイジャック済みのnpmトークンを実際に検証していたことも突き止めています。その後、マルウェアは人気の高いパッケージを悪意を持って選び出し、それらのリリースアーカイブに不正なsetup.mjsスクリプトを注入していました。感染バージョンを公開レジストリに直接再アップロードするという恐るべき能力も備えていました。幸い、他のソフトウェアパッケージが実際に感染したことを示す具体的な証拠は、現時点では見つかっていません。
直ちに求められる対応
Jscrambler社は速やかに侵害された公開用データを失効させ、影響を受けたすべての暗号鍵を速やかにローテーションしました。同社はまた、悪意あるnpmバージョンを完全に非推奨として明確に指定しています。しかし、脆弱な状態にあるユーザーは、バージョン番号を明示的に指定することで、依然として手動でこれらをインストールできてしまう点には注意が必要です。同社はバージョン8.22.0を、安全性が確認されたクリーンなソフトウェアリリースとして指定しました。
そのため、セキュリティ専門家は影響を受けたすべてのユーザーに対し、直ちにバージョン8.22.0への移行を強く呼びかけています。管理者は、危険なパッケージバージョンをローカルのロックファイルおよび中央システムのキャッシュから迅速に排除する必要があります。さらに、社内のセキュリティチームは開発者のワークステーションと自動統合ビルドシステムを入念に点検すべきです。マルウェアがアクセス可能だったデジタルキーやアクセストークンは、すべて漏洩済みとみなす必要があります。IT担当者は直ちにこれらの侵害された秘密情報をローテーションし、稼働中のすべてのユーザーセッションを強制的に終了させなければなりません。最後に、ユーザーはWindows上の隠れたバックグラウンドタスクを念入りにスキャンし、macOSでは見覚えのないLaunchAgentがないか確認する必要があります。
翻訳元: https://meterpreter.org/jscrambler-supply-chain-attack/