セキュリティ研究者は、悪意あるJavaScriptコードによって数十万もの正規Webサイトに感染を広げた、大規模かつ拡大を続けるサイバー攻撃キャンペーンを明らかにした。
この攻撃の背後にいる犯人は、JSFireTruckと呼ばれる、あまり知られていないものの強力なJavaScript難読化手法を使っている。このニックネームは、Palo Alto NetworksのUnit42の研究者が名付けたものだ。
このキャンペーンの中心にあるのは、平均的な開発者にはほとんど解読不能に見える、異常なほど巧妙に偽装されたJavaScriptだ。通常の単語や関数を使う代わりに、悪意あるコードは [, ], +, !, (, ) という記号の組み合わせで構成されている。これらの文字をJavaScript自身の規則に従って操作することで、攻撃者が望むあらゆるコードを再構成し、コードの本当の目的を隠している。
JSFireTruckの仕組み
攻撃者は、この難読化されたJavaScriptを信頼されたWebサイトに注入する。一見すると、+[]や!.[]、({}+[])のような組み合わせで構成されたコードは奇妙で解読不能に見える。しかし、その混乱の下には強力なスクリプトが潜んでいる。
「このコードの難読化は本来の目的を隠し、分析を妨げる」と、研究者のHardik Shah、Brad Duncan、Pranay Kumar Chhaparwalは、Unit 42の報告書で述べている。
注入された悪意あるコードは、「document.referrer」を確認して動作する。これは基本的に、訪問者がどのWebサイトから来たのかを示すものだ。リファラーがGoogle、Bing、DuckDuckGo、Yahoo!、AOLなどの人気検索エンジンの場合、JSFireTruckは被害者を有害なURLへリダイレクトする。
こうした悪意ある誘導先では、次のようなさまざまな望ましくない事態が起こり得る。マルウェアのダウンロード、エクスプロイト、マルバタイジング、トラフィックの収益化スキームなどだ。場合によっては、スクリプトがブラウザーウィンドウ全体を覆う透明なiframeを読み込み、本物のWebサイトのコンテンツを隠して、代わりにユーザーを攻撃者のページと強制的にやり取りさせる。
このキャンペーンの巧妙な性質により、Webサイトは何食わぬ顔で正常に見える一方、トラフィックの一部をひそかに悪意あるサイトへ転送している可能性がある。
JSFireTruckキャンペーンの規模は、サイバーセキュリティの専門家にとって大きな懸念となっている。2025年3月26日から4月25日までの間に、Unit42のテレメトリーは、このJavaScriptコードに感染したWebページを実に269,552件検出した。4月12日には活動が大幅に急増し、1日で5万件を超える感染Webページが記録された。
「このキャンペーンの規模と隠密性は、重大な脅威となる」と、Unit42の研究者は強調した。「この感染が広範囲に及んでいることは、正規Webサイトを侵害し、その後の悪意ある活動の攻撃ベクトルとして利用する協調的な取り組みを示唆している」
参照:クイック用語集:マルウェア(TechRepublic Premium)
身を守る方法
専門家は、こうした攻撃が気付かれにくいことから、特に危険だと警告している。多くのWebサイト所有者は、自分のサイトが感染していることにすら気付かない可能性がある。
Unit42は、Web管理者に対し、Webサイトを定期的にスキャンして更新し、予期しないスクリプトを監視するとともに、高度なセキュリティツールを使って難読化された脅威を検出するよう推奨している。Webサイト所有者は、トラフィック分析を注意深く監視し、Webコンテンツに不審なコードがないか定期的に監査すべきだ。特に、サイトがサードパーティー製のスクリプトやプラグインに大きく依存している場合はなおさらである。





