今回は「TROJ_INDUC.AA」と「PE_INDUC.A」を取り上げる。TROJ_INDUC.AAとPE_INDUC.Aは、どちらも2009年8月に登場した不正プログラムで、ボーランド社のプログラム開発環境「Delphi(デルファイ)」に感染する不正プログラムである。PE_INDUC.Aは、TROJ_INDUC.AAに感染したDelphi環境でコンパイルされた際に、悪意のあるコードが組み込まれた実行ファイルの名称である。

 トレンドマイクロのウイルス感染報告台数は世界で8万台、日本でも1万6000台以上の報告数(2009年10月31日時点)がある(図1)。アプリケーション配布サイトでは、悪意あるコードが組み込まれた可能性のあるソフトウエアが配布された。ダウンロード停止やユーザーへのアナウンスを実施したケースもある。また、雑誌の付録のCD-ROMに同梱されていたソフトウエアに悪意あるコードが組み込まれていたケースも確認されている。2009年に最も注目を浴びた不正プログラムの一つである。

図1●PE_INDUC.Aの感染報告数
図1●PE_INDUC.Aの感染報告数
[画像のクリックで拡大表示]

 今回は、検証環境用に1台の日本語版のWindows XP Professional SP2のコンピュータを用意した。なお、検証環境からほかのネットワークへ影響を及ぼさないように完全なローカルネットワーク環境で検証を行った。

 まず、テスト機にDelphiバージョン7.0をインストールした。続いて、デバッガを使ってTROJ_INDUC.AAを実行してみた。トレースを続けていくと、TROJ_INDUC.AAは、自身が実行された環境でDelphiがインストールされているかどうかを確認していた。図2は、TROJ_INDUC.AAがRegOpenKeyExA関数(指定したレジストリ・キーを開く関数)を使って「\\HKEY_LOCAL_MACHINE\Software\Borland\Delphi\」キーを検索している画面の一部である。

図2●Delphiがインストールされているかを確認している
図2●Delphiがインストールされているかを確認している
[画像のクリックで拡大表示]

 この処理からTROJ_INDUC.AAがターゲットとしているDelphiのバージョンは4.0から7.0であることが分かるだろう。

 補足だが,Delphiを現在販売している米エンバカデロ・テクノロジーズも1998年から2002年にかけてリリースされたDelphiのバージョン4から7が,今回の攻撃のターゲットとなっていると表明している。Delphi 2005以降,最近リリースされた2010までのバージョンについては影響を受けないとのQ&Aを公開している。Delphi環境で開発を行っている方はそちらも合わせて確認しておくといいだろう。

 続いてTROJ_INDUC.AAは、該当のDelphi(この検証ではバージョン7.0)がインストールされていることを確認すると、RegQueryValueExA関数を使用して先ほどのレジストリの「RootDir」キーからDelphiがインストールされているパスを取得する(図3)。なお、RegQueryValueExA関数は、レジストリ・キーから指定した値を取り出す関数である。

図3●RootDirキーからDelphiのインストールされているパスを取得
図3●RootDirキーからDelphiのインストールされているパスを取得

 次に、TROJ_INDUC.AAは、Delphiがインストールされているパス(ここでは「\lib\」とする)にSysConst.bak(TROJ_INDUC.AAが以前に実行されたかどうかを確認するためのファイル)の存在を確認する。存在が確認されなければ、\source\rtl\sys\にあるSysConst.pas(Delphiで使用されるユニットの保存ファイル)のコピーを\lib\に作成する。