
出典:Araki Illustrations / Alamy Stock Photo
悪意のあるnpmパッケージが、被害者を特定し仮想通貨をテーマにした詐欺サイトへリダイレクトするために、独自のアンチ回避およびターゲティング手法を使用していることが研究者により判明しました。
Socket Threat Researchは、npmリポジトリサイト上で、オンラインユーザープロファイル「dino_reborn」を持つ脅威アクターによって配布された7つの悪意のあるパッケージを発見したと、月曜日に公開されたブログ記事で述べています。このアクターは、訪問者が被害者かセキュリティ研究者かを判別し、それに応じて活動を隠蔽する偽のウェブサイトを構築するパッケージを使ったマルウェアキャンペーンを展開しました。
「訪問者が被害者であれば、偽のCAPTCHAが表示され、最終的に悪意のあるサイトに誘導されます」とSocket Threat AnalystのOlivia Brownは投稿で述べています。「もしセキュリティ研究者であれば、偽サイト上のいくつかの兆候のみが、何か悪意のあることが起きている可能性を示唆します。」
脅威アクターは、Adspectという「クローク」サービスを悪用してこの手法を操っています。Adspectは、正規の訪問者とボットや競合他社などの不要なトラフィックに異なるコンテンツを表示できるサービスです。この技術は、広告キャンペーンを不正アクセスから保護し、ターゲットユーザーのみに実際のコンテンツを表示するために設計されています。
しかし、脅威アクターもまたAdspectを悪用しており、通常はマルバタイジングや偽アフィリエイト活動で使われます。npmサプライチェーンパッケージ内での利用は珍しく、このキャンペーンが特異であるとBrownは指摘します。「これはトラフィッククローク、アンチリサーチ制御、オープンソース配布を統合しようとする試みです」と彼女は述べています。
Adspectを使った訪問者の審査
6つの悪意のあるパッケージ—dsidospsodlks、applicationooks21、application-phskck、integrator-filescrypt2025、integrator-2829、integrator-2830—は、39kBのマルウェアを含み、主にAdspectの設定が異なります。7つ目のsignals-embedは悪意のあるウェブページを構築します。これらをホストするURLにも違いがあるとBrownは指摘しています。
サイトに埋め込まれると、アンチ分析技術を使った悪意のあるコードがIIFE(即時実行関数式)でラップされているため自動的に実行されます。マルウェアは訪問者のさまざまなデータポイントを収集し、それが潜在的な被害者かセキュリティ研究者かを判別するために利用します。
「脅威アクターはそのすべての情報をプロキシに送信し、ブラウザから完全な“サーバー”のように振る舞います」とBrownは書いています。
すべてのデータポイント(実際のIPを含む)は、脅威アクターのプロキシエンドポイントを通じてAdspect APIに送信され、Adspectに訪問者のデバイス、ブラウザ、ロケール、リファラー、ホスト、閲覧コンテンツ、リクエスト時刻の「高精度なフィンガープリント」を提供します、と彼女は述べています。
心理的・技術的トリック
Socketの研究者は、データがAdspect APIに到達した後に何が起こるか正確には分かりませんが、クロークサービスの利用により、ユーザーが誰かによってサーバーリクエストへの応答が変化します。
「Adspect APIが訪問者を研究者と判断した場合は白いページが表示され、そうでない場合は偽のCAPTCHAが表示されます」とBrownは書いています。
3秒後、被害者にはCAPTCHAが成功したと通知され、さらに1秒後、Adspect APIの応答で指定されたURLが新しいタブで開きます。脅威アクターは、即時リダイレクトの代わりにCAPTCHAを使うことで、ユーザーへの心理的トリックとセキュリティチェックの回避を狙っているとBrownは指摘します。
「即時リダイレクトは不審に思われますが、CAPTCHAはリダイレクトの完璧なカモフラージュであり、セキュリティシステムに検知されない可能性があります」と彼女は述べています。「CAPTCHAはリダイレクトを遅延させ、自動スキャナーの回避にも役立ちます。」
この特性により、脅威アクターは6つのマルウェアパッケージ自体にハードコードするよりも頻繁に悪意のあるURLを更新できます。さらに、ユーザーはCAPTCHAのチェックボックスをクリックすることで自分がアクションを起こしていると感じるため、「CAPTCHAは新しいウェブページへのリダイレクトに心理的な正当性を与え、被害者が悪意のあるペイロードにアクセスする可能性を高めます」とBrownは述べています。
ユーザーはCAPTCHAをCloudflareやGoogle、ボット対策と結び付けて信頼や正当性を感じるため、安全なウェブサイトを閲覧していると錯覚します。しかし実際には、被害者はstandx.com、standx.com、jup.ag、uniswap.orgなどの実在する分散型取引所を装った仮想通貨窃盗を目的とした悪意のあるサイトに誘導されます。
マルウェアがセキュリティ研究者の訪問を検知した場合、Offlidoという架空の会社のウェブページへリダイレクトし、疑念をそらし分析者の「滞在時間」を増やすことを狙っています、とBrownは指摘します。
「Offlidoのページは長く、洗練されており、完全な法的定型文も含まれていて、短期間のクロークキャンペーンとしては異例です」と彼女は述べています。
パッケージは削除済み、しかし警戒が必要
毒入りnpmパッケージは、あまりにも一般的な事例となっており、攻撃者がソフトウェアサプライチェーンを通じてマルウェアを迅速かつ広範囲に拡散する手段となっています。Socketは、ソフトウェアレジストリおよびnpmコマンドラインインターフェース(CLI)の運営元であるnpmに悪意のあるパッケージを通知し、すべてレジストリから削除されました。
Socketは、脅威アクターのメールアドレス[email protected]を公開し、このユーザーがアップロードしたパッケージの特定に役立てるとともに、パッケージ一覧、設定文字列、ユーザーの一部がリダイレクトされる偽サイトのURL(https://fanqut.eu.com/about.html)も提供しています。
Brownは、防御側は今後もブラウザで実行されるオープンソースパッケージにおけるAdspect型クロークやプロキシインフラの悪用が続くと予想し、「新しいブランドやパッケージ名で再登場する可能性が高い」と警告しています。
「ウェブチームは、ユーザー操作を無効化したり、不明なPHPエンドポイントに詳細なクライアントフィンガープリントを送信する予期しないスクリプトを即座に警戒すべきです」と彼女は助言します。「ネットワーク防御担当者は、/adspect-proxy.phpや/adspect-file.phpパスをすべてのドメインで監視してください。これらはこのアクターのツールキットの信頼できる指標となります。」
翻訳元: https://www.darkreading.com/application-security/malicious-npm-packages-adspect-cloaking-crypto-scam