ハッカーたちは、ServiceWorkerやSharedWorkerといった最新のブラウザ機能を悪用し、被害者のブラウザメモリ内で完全にマルウェアを組み立てる手法を用いています。
SourTradeマルバタイジング(悪意ある広告)キャンペーンは、この手法が個人トレーダーや暗号資産投資家を標的に武器化されている実例です。
SourTradeは2024年後半から活動しており、プログラマティック広告を購入し、TradingView、Solana、Lunoになりすますことで、APAC、LATAM、アフリカ、および一部の西側市場にまたがる個人トレーダーや暗号資産ユーザーを標的にしています。
これまでに、日本、タイ、韓国、台湾、香港、ボリビア、ブラジル、ナイジェリア、トルコ、南アフリカ、オーストラリア、英国でキャンペーンが確認されており、正規の広告枠に紛れ込ませるため、広告クリエイティブは英語と現地語の両方でローカライズされています。
この攻撃キャンペーンでは、ランディングページにクローキングキットを使用し、実際の被害者と研究者やボットを区別しています。
セキュリティアナリストには通常、何も表示されない「白紙ページ」が提供されます。一方で、フィンガープリントによって特定された被害者には、チャート表示画面、暗号資産ダッシュボード、取引所インターフェースを含む、信頼するブランドを極めて巧妙に模倣した画面が表示されます。
これらの「マネーページ」上で、SourTradeはGoogle広告の設定やコンバージョンタグ、Meta/Facebookピクセル、Twitter/Xのトラッキングビーコンを利用してトラフィックを追跡・最適化しており、大手広告エコシステムが広範に悪用されている実態が浮き彫りになっています。
狙いは単純明快です。個人トレーダーをブラウザ内で完結するダウンロードフローに誘導し、通信経路上に完成形のマルウェア実行ファイルを一切露出させないことです。
既知のURLから単一の悪意ある実行ファイルを配信するのではなく、SourTradeのランディングページは、ServiceWorkerとSharedWorkerによって駆動されるローカルな組み立てパイプラインへと被害者のブラウザを変えてしまいます。
この4段階のフローは、その仕組み自体によって、従来型のファイルフィンガープリンティングやハッシュベースの検知を突破するよう設計されています。
第1段階では、マネーページ上のReact JavaScriptがServiceWorker(/sw.js)を登録し、常駐させ続けることで、同一オリジンへのフェッチをインターセプトし、ストリーミング形式でファイルレスポンスを配信します。
同時に、このページは埋め込まれたJavaScriptのBlobから直接SharedWorkerを構築します。そのため、ワーカーコードを目に見えるURLから取得する必要が一切ありません。
第2段階では、そのSharedWorkerが同一オリジンのconfig エンドポイントにリクエストを送りますが、返されるのはファイルではなく組み立て指示です。具体的には、テンプレート配列、クリーンなBunランタイムを指すstandaloneUrl、そしてセッションごとのAES-CTRシードとサイズが渡されます。
AES-CTRは暗号学的ストリーム暗号として使用され、被害者ごとに一意な擬似乱数バイト列を生成します。これにより、生成される実行ファイルのハッシュ値がセッションごとに異なることになり、ハッシュベースの静的IOC(侵害指標)の有効性が大幅に低下すると、confiantは述べています。
注: IPアドレスおよびドメインは、誤って解決またはハイパーリンク化されるのを防ぐため、意図的に無害化表記(例: [.])にしています。再有効化はMISP、VirusTotal、あるいは自社のSIEMなど、管理された脅威インテリジェンス環境内でのみ行ってください。
SOC調査の死角をなくし、ANY.RUNで脅威を早期に封じ込め、対応コストと業務への支障を軽減しましょう。
翻訳元: https://cyberpress.org/service-worker-malware-assembly/