McAfee Avert Labs Blog
SWF Flash Exploits: Old Wine in a New Bottle」より
July 7,2009 Posted by Rahul Mohandas

 Flashアプリケーションは,数年前から主要セキュリティ問題の一つとなっている。Flash関連ぜい弱性の情報が大量に公開された上,Flashが広く普及しているため,サイバー犯罪者にとってFlashファイルは魅力的なのだ。細工を施したバナー広告という手口は目新しくない。こうしたFlashベースの「malvertisements」(悪質な広告:「malicious」(悪質な)と「advertisement」(広告)という単語の合成語)は,以前から広告主と著名Webサイトを悩ませてきた。

 攻撃用Flashファイルには,素直でだまされやすいユーザーに安全なファイルだと思い込ませるため,画像やアニメーションを入れられる。我々は最近,「DefineSceneAndFrameLabelData」タグの整数演算オーバーフローを起こすぜい弱性について,これを悪用する悪質なFlashファイルの配布Webサイトが急増したことに気付いた。このぜい弱性は,「Exploit-CVE2007-0071」としてよく知られている(関連記事:悪質なSWFファイルに注意せよ)。

 このぜい弱性は既に対策済みだが,悪人たちはしっぽを捕まれないよう進化させた新たな手口を次々と繰り出してくる。

 バージョン9以降の「Flash Player」は,「ActionScript 3.0」言語で記述されたプログラムを実行する目的で「ActionScript Virtual Machine 2(AVM2)」と呼ばれる仮想マシンを搭載している。ActionScript 3.0には,「loadBytes()」というメソッド(関数)がある。

 ActionScriptの「flash.display.Loader」クラスはloadBytes()メソッドに対応しており,ローダー部分に納めるデータをバイト配列で受け取る。この配列には,GIFやJPG,PNG,SWF形式のファイルを入れることができる。ローダー内にぜい弱なSWF(Small Web Format)ファイルを入れると,攻撃の成功率が何倍にも高まると同時に,セキュリティ研究者による分析が難しくなる。

 上の画像は,ローダー・ファイルに埋め込まれた悪質なSWFファイルの内容である。このローダーはloadBytes()メソッドを使い,埋め込まれたデータを攻撃対象アプリケーションのセキュリティ・コンテキストに挿入する。

 このエクスプロイトは最近のバージョンになると,バイトシフティング・アルゴリズムやランダムXORキーなどさまざまな方法で難読化し,埋め込むSWFファイルを暗号化している。そのようすを以下に示そう。

 サイバー犯罪者はアプリケーションなどの攻撃しやすい対象を狙うので,今後もこうした状況は変わらないだろう。Flashも例外ではない。防御を怠らず,常に最新のFlash Playerを使ってWebサーフィンを楽しもう。


Copyrights (C) 2009 McAfee, Inc. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,マカフィーの許可を得て,米国のセキュリティ・ラボであるMcAfee Avert Labsの研究員が執筆するブログMcAfee Avert Labs Blogの記事を抜粋して日本語化したものです。オリジナルの記事は,「SWF Flash Exploits: Old Wine in a New Bottle」でお読みいただけます。