今回も前回に引き続き「TSPY_LINEAGEファミリー」を取り上げる。今回,検証に使うTSPY_LINEAGE.HGも,特定のオンラインゲームのアカウント情報を収集するトロイの木馬に分類される不正プログラムである。

 前回は,実際に不正プログラムを動作させて検証するブラックボックス解析と言われる手法で検証したが,今回はデバッガなどを使用するホワイトボックス解析と言われる手法で,コードからこの不正プログラムがどのようにオンラインゲームのユーザー名やパスワードを収集するのかを検証したい。

 なお,2008年12月11日にマイクロソフトから「Internet Explorerの脆弱性によりリモートでコードが実行される」(CVE番号2008-4844)セキュリティ情報が発表された。このセキュリティ・ホールが悪用された攻撃では,被害を受けたコンピュータが誘導されるWebサイトは,オンラインゲームのアカウント情報を収集する不正プログラムがダウンロードされるサイトが目立った。

 また,昨今多くの感染被害報告のあるUSBウイルスがダウンロードする不正プログラムにも,この手の不正プログラムが目立っている。前回,トレンドマイクロのパターンファイルに登録されているオンラインゲームのアカウント情報を盗む不正プログラムのシグネチャの推移を取り上げたが,事実,非常に多くの攻撃者がオンラインゲームのアカウント情報詐取を狙っているのである。

 今回は,検証環境用に1台のマシンを用意した。テスト機にはWindows XP SP2をインストールした。続いて,テスト機上でバイナリエディタを使ってTSPY_LINEAGE.HGを開いてみた(図1)。UPXの文字列が確認できることから,今回検証に利用したTSPY_LINEAGE.HGは,UPX形式で圧縮されていると推測できる。UPXについては以前の記事(「TROJ_DLOADER.CMM」)でも書いたので,詳しくはそちらを参照されたい。

図1●TSPY_LINEAGE.HGをバイナリエディタで開いた
図1●TSPY_LINEAGE.HGをバイナリエディタで開いた

 続いてUPXを解凍するツールを使ってTSPY_LINEAGE.HGをアンパックし,BinTextを使ってTSPY_LINEAGE.HGを開いてみた。このツールは不正プログラムの大まかな動作を理解するために役立つ。例えば,図2ではRegSetValueExA関数(レジストリキーに値を書き込む関数)と,RegCreateKeyExA関数(レジストリキーを作成する関数)の存在を確認できる。ここではこの関数の詳しい説明については割愛するが,解析対象の不正プログラムがレジストリキーを作成し,何らかの値をセットする機能を持っていることが推測できる。

図2●アンパック後のTSPY_LINEAGE.HGをBinTextで開いた
図2●アンパック後のTSPY_LINEAGE.HGをBinTextで開いた
[画像のクリックで拡大表示]