■さらに巧妙になる「Autorun.inf」の難読化
ここでは、より巧妙化した「Autorun.inf」の難読化事例をみていきます。
8位にランクインしたのは「jwgkvsq.vmx」、USBワームの一グループに属するWORM_DOWNAD.ADとなります。WORM_DOWNAD.ADが作成する「Autorun.inf」は他の多くのUSBワームと異なり、下記のように複雑な難読化が行われています。
|
その違いを分析してみます。他のUSBワームが使用している難読化方法は、コードの間に判読不能な「コメント文」を挿入する事で難読化を行っています。対して、WORM_DOWNAD.ADの場合は「コメント」の挿入に加え、「Autorun.inf」では使用されない文字コードを挿入し、Windows OSが誤動作する事を防ぎながら複雑な難読化が行えています。
※トレンドマイクロに寄せられた全「Autorun.inf」のうち、難読化されているものは全体の64.3%です。そのうちWORM_DOWNAD.AD以外のUSBワームが作成した「Autorun.inf」は、全てコメント文による難読化を行っていました。
WORM_DOWNAD.ADが作成する「Autorun.inf」 からUNICODEのみを抽出し、有効となるコードだけを表示させたものが以下となります。
|
先のような複雑な難読化は、簡易解析作業の妨害工作ともいえます。複数の文字コードが混在したテキストファイルを、文字コードに注意せず読み込むように作られたプログラムでは、自動判定により間違った文字コードで読み込んでしまい、正しく中身を認識できません。つまり、WORM_DOWNAD.ADが行う難読化は、目視に対する対策に加え、Autorun.infの自動解析を逃れる巧妙な手法であるとも言えます。
※トレンドマイクロ製品ではWORM_DOWNAD.ADが作成する「Autorun.inf」そのものをTROJ_DOWNAD.ADとして検出・駆除します
さらにWORM_DOWNAD.ADが巧妙なのは、USBメモリを挿した時のメッセージを環境によって巧妙に変化させる点です。
リージョナルトレンドラボで解析した結果、WORM_DOWNAD.ADはWindows OSのシステムDLLである「Shell32.dll」内部に持つ文字列テーブルから、特定文字列を読み込み、自らが作成する「Autorun.inf」のActionコマンドに記載していることがわかりました。
Windows OSにおいてUSBメモリ挿入時に表示される、「フォルダを開いてファイルを表示する」という文字列は「Shell32.dll」の中に含まれています。検証として、「Shell32.dll」の該当文字列を、別文字列にバイナリ変更した環境を用意します(図5)。
|
次に、「Shell32.dll」が変更された環境にWORM_DOWNAD.ADを感染させ、採取した「Autorun.inf」を下記に示します。
|
なお、国内のトレンドマイクロサポートセンターに寄せられた全「Autorun.inf」の中でメッセージ偽装をしている(Actionコマンドの記述がある)ものは全体の4.4%であり、WORM_DOWNAD.AD以外のUSBワームが作成した「Autorun.inf」は全て「action=Open folder to view files」という表記でした(つまりWORM_DOWNAD.AD以外のUSBワームは全て環境によらず単純にActionコマンドを挿入しているだけということになります)。
これらの事実から見ても、WORM_DOWNAD.ADは他のUSBワームと比較して、より言語依存による拡散機会低下を回避するように設計されている事がわかります。
2/4 |
Index | |
USBワームが作成する「Autorun.inf」の分析とその傾向 | |
Page 1 数から見るUSBワーム |
|
Page 2 さらに巧妙になる「Autorun.inf」の難読化 |
|
Page 3 自動実行ファイルの拡張子から見る「Autorun.inf」 |
|
Page 4 URLを直接開くことが可能な「Autorun.inf」 利用方法により拡がる「Autorun.inf」の危険性 まとめ |