McAfee Avert Labs Blog
What you see is NOT what you get」より
March 28,2009 Posted by Abhishek Karnik and Vitaly Zaytsev

 ソーシャル・エンジニアリング攻撃など既に常識だし,だまされやすいユーザーがウイルス作者の使うさまざまな手口にひっかかる状況もよく知られている。セキュリティの研究に取り組んでいる我々は,こうしたトリックの被害者にならない方法を家族や友人へ繰り返し伝授している。ただし,我々自身も攻撃対象とされないように,ときには対策を思い出してみる必要がある。

 セキュリティ研究者は,さまざまな種類のマルウエアを扱う。マルウエアに対する経験が長く豊富な研究者は「悟り」の境地に達していることも多く,サンプルを見ただけでソフトウエアが良性か悪性なのか判断できる。悟りを開いていないとしても,考え直すだけの時間くらいあるはずだ。マルウエアを分析する際,作者の書いたメモを見つけることは珍しくない。メモの内容は,からかうような文章であることもあれば,以下に示したような文章のこともある。我々は,セキュリティ研究者からの「このソフトウエアはウイルスでないので,マルウエア検出ファイル用に登録しないでください」というメッセージの入ったサンプルに出会った。無害なパッカーのなかには,誤検出を避けてもらうための研究者向けメッセージの入ったものが存在する。このような口頭以外の手段で伝えられたメッセージはよく確認した方がよい。

マルウエア作者が埋め込んだ文章

 メッセージの書き手とサンプルの作者が同一人物であるように思える,という事実は別にして,技術的な観点からみてメッセージの内容は正しい。確かにこのサンプルはウイルスではない。ただ,ダウンローダとして機能するトロイの木馬なのである。リモート・サイトから密かに任意のファイル(今回の例ではhxxp://×××.com/del/からポルノ・サービスに電話をかけるマルウエア「cmb_ランダムな文字列.exe」)をダウンロードし,実行する(いずれのサンプルも「Generic.acf」として検出できるようマルウエア定義ファイルに登録した)。

 二つ目のサンプルは,さらに少しだけ魅力的だった。研究者は,サンプルを調べる際に(「Hiew」などのツールでファイルを開く)「静的分析」および(サンプルの動きを模倣する)「動的分析」という2種類の手法を使うことが多い。このサンプルをHiewで開いたところ,リソース部分が異常で,正しくデータ・インポートできないことが分かった。

異常なリソース

 このエラーをやり過ごすと,ヘッダー内のエントリ・ポイント(EP:Entry point)が「0001A001」でイメージ・ベース(Image base)が「00400000」であることに気付いた。それならば,Hiewは「0041A001」番地にあるEPにアクセスできたはずである。しかしファイルは(0041A001よりも手前の)「00410DFF」で終わっているらしく,そのせいでHiewはEPに到達できない。

EPの値が記載されたヘッダー情報

 この時点で「恐らくこのファイルは壊れていて,これ以上は分析を続けられないだろう」と思われた。だが,Windowsのプログラム・ローダーは間違いなくファイル読み込みに失敗するだろうが,単にサンプルを実行しようとすると魔法のように動くのだ。非常に怪しい状態なので,基本的な情報から見直してみよう。再びHiewで開き,今度はセクション・ヘッダーを詳しく調べてみた。

セクション・テーブルの内容

 セクション・テーブルには,きちんと表示できるものの怪しげなセクションが10個ある。そのいくつかは物理サイズ(Physical Size)がゼロで,残りはオーバーラップしていて怪しいがきちんと表示できる。そしてこの中で疑わしい部分を見つけた。このサンプルの作者は,先頭二つのセクションの物理サイズを「FF003000」と「FF000200」に,それぞれ仮想サイズ(Virtual Sizes)を「3000」と「1000」に変えていたのだ。セクションのサイズを「00003000」と「00000200」に変更するパッチを使うことで,Hiewで起きていたEPにアクセスできない問題を解消し,正しいEPに到達できるようになる。

 ただし,逆アセンブラの「IDA」もこのファイルをロードできず,以下のようにエラー「Virtual Array:Address space limit reached(仮想配列:アドレス制限に到達)」を出して黙ってしまった。

IDAの出したエラー

 別の「Olly」というツールでは,「セクション・サイズが大きい」と指摘されるが,問題なくロードできる。

 作者はセクション・テーブルに細工してソーシャル・エンジニアリングを仕掛けようとしている,と見て間違いない。さらに,特定のウイルス対策ソフトにファイル・ロードを失敗させる目的もあるかもしれない。読者はどのように考えるだろうか。

 今回の例から,表紙で本の内容を決めつけてはいけないのと同様,一つのツールだけでマルウエアを判断してはいけない,という教訓が得られる。コーヒーをおかわりして分析を続けるのだ。そして,調査を楽しもう(現在,米マカフィーのセキュリティ製品はこのファイルを「Spy-Agent.dp.gen」として検出する)。


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