Palo Alto Networksは6月12日(米国時間)、「JSFireTruck: Exploring Malicious JavaScript Using JSF*ck as an Obfuscation Technique」において、正規のWebサイトを侵害して悪意のあるJavaScriptを埋め込む大規模なサイバー攻撃キャンペーンを発見したと報じた。

高度に難読化されたこのJavaScriptは、Webサイトの訪問者を悪意のあるWebサイトに目に見えない形でリダイレクトするという。

  • JSFireTruck: Exploring Malicious JavaScript Using JSF*ck as an Obfuscation Technique

    JSFireTruck: Exploring Malicious JavaScript Using JSF*ck as an Obfuscation Technique

JSFireTruck難読化手法

Palo Alto Networksはこの攻撃で用いられた難読化手法を「JSFireTruck」と名付け解説している。この手法にはもともと別の名称が付けられていたが、不適切な表現を含むとして変更された。

JSFireTruckはコードを記号と数値だけで構成する特徴がある。変数名や関数名は存在せず、分析は困難とされる。これはJavaScriptの型強制(暗黙的な型変換)を使用することで実現される。具体例は次のとおり。

+[]         // 数値の0 
+!![]       // 数値の1 
(![]+[])[1] // 文字のa 
({}+[])[2]  // 文字のb
  • JSFireTruckで難読化されたJavaScriptの例 - 引用:Palo Alto Networks

    JSFireTruckで難読化されたJavaScriptの例  引用:Palo Alto Networks

この手法を用いるとわずか6文字の記号と数値だけであらゆるJavaScriptを表現することが可能とされる。また、他の難読化手法を併用することで分析はさらに困難になるとの指摘がある。

影響と対策

Palo Alto Networksは自社のテレメトリの分析から、3月26日から4月25日までの1か月間に26万9,552件の侵害を検出したと発表した。4月12日以降に急激な増加を観測し、広範囲のWebサイトが侵害されたとしている。同社は侵害されたWebサイトの特長や、侵害方法については明らかにしていない。

侵害されたWebサイトにアクセスするとマルウェアの配布サイト、トラフィックの収益化、マルバタイジングなど、さまざまな悪意のあるWebサイトにリダイレクトされることが確認されている。

この攻撃による被害を軽減するため、Webサイトの管理者にはJSFireTruckの特徴的なコードが埋め込まれていないか確認することが推奨されている。悪意のあるコードを発見した場合はコードの削除に加え、Webサイトの侵害経路を塞ぐ必要がある。

Webサイトの侵害経路は明らかになっていないが、一般的な対策として使用しているソフトウェア(プラグインやテーマを含む)の更新、パスワードの変更、バックドアの調査、不審なアカウントの削除などを実施することが推奨される。