McAfee Avert Labs Blog
The Strange Case of ‘Mr. Spilberg’より
May 23,2008 Posted by Paolo Palumbo

 マルウエアを分析していると,興味深い状況によく遭遇する。筆者は先日,Internet Explorer(IE)起動時に実行される拡張ソフトウエア「ブラウザ・ヘルパー・オブジェクト(BHO)」形式の「FakeAlert」マルウエアのある亜種を分析していた。これは珍しいものでなく,パソコンにうまく入り込むと「警告」のポップアップを表示し,ユーザーに偽のアンチスパイウエア製品をダウンロードするよう促す(関連記事:人を見たら泥棒と思え)。

 ただし,分析を進めたら,このBHOが検証用マシンのルート・フォルダにあるファイル「f***youspilberg.bat」へのアクセスを試みることに気づいた。もちろん,その特徴ある名前にすぐに興味が湧き,動作を探り始めた。

 マルウエアに付きものの圧縮レイヤーを取り除くと,すぐにFakeAlertのコードでファイル・アクセスしている場所を見つけた。エクスポート関数「DllRegisterServer」内にあるこの操作は,BHOの初期化に用いられる。

「f***youspilberg.bat」にアクセスしている場所を発見
「f***youspilberg.bat」にアクセスしている場所を発見

 コード分析後に分かったことは,このファイル・アクセス操作を含むルーチンがf***youspilberg.batファイルの有無と作成日を確認し,無事確認できればTRUE,それ以外の場合はFALSEを返す。ここでさらに興味が湧いてきた。

 そこで,f***youspilberg.batファイル確認ルーチン以降のコードを解析した。

ファイルが無事確認できれば,次の基本的なブロックは飛ばす
ファイルが無事確認できれば,次の基本的なブロックは飛ばす

 無事ファイルを確認できた場合,次のコード・ブロックは飛ばされる。何をしているコード・ブロックだろうか。なぜ飛ばすのだろうか。さらに探っていくと,このブロックは単に仮想化ソフトウエア「VMware」の存在を調べることが分かった。VMwareを検出した場合,それ以上の処理は行わず,FakeAlertはひっそりと終了する。

これらすべてをつなぎ合わせると,以下のようなコードになる。

これですべて判明した
これですべて判明した

 これですべての情報がそろった。f***youspilberg.batファイルを見つけると,VMware確認処理を飛ばす。見つけられないと,VMware環境で実行されていないことを確認する必要がある。VMwareの確認は,安全な環境での分析を妨げる目的で実行するのだが,f***youspilberg.batファイルがある場合はなぜ確認処理を飛ばすのだろうか。

 推測に過ぎないが,おそらくFakeAlertの作者は作品をテストする必要があり,VMware環境でのテストを選んだのだろう。f***youspilberg.batをVMwareイメージのルートに置くことで,作者自身を守る保護機構に捕らえられずテストできたはずだ。

 ただし,一番の疑問は,このマルウエアの作者はスピルバーグ監督の何が気に入らなかったのか,ということだ。映画「インディ・ジョーンズ」の復活が気に入らなかったのか。あるいは,単に映画「E.T.」が怖かったのかもしれない。


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