2008年12月27日 - USBメモリ経由で感染するウイルスの、一瞬でできる簡易診断方法

どれが感染しているのかわからない、疑心暗鬼


 ここ数ヶ月、USBメモリーキーや外付けハードディスクより感染するウイルスに対する関心が高まっている。
 W32.Gammima.AG(Symantec)などだ。

 これらは感染しているパソコンに接続したリムーバブルメディア中に、実行形式ファイルと、自動実行させるためのautorun.infを作成する。
 感染したリムーバブルメディアを接続したパソコンは、自動実行機能で感染。
 あっという間に部署内が汚染され、どのパソコン・またUSBメモリーキーが汚染されているのかわからない、難儀な状況に陥る。

 事態の収拾が難しいのは、ウイルス対策ソフトウェアでは検出できない変種が多く、またダウンローダーとして機能し他のマルウェアを勝手に導入するタイプがある点だ。

 このブログエントリは当初、特定タイプのマルウェアの事例に対して、ウイルス対策ソフトウェアが導入されていない・または検出できない事例を想定して記載したものでありますが。
 幾つかの新しい検体に接したため、随時追記・修正するものである。

ウイルス対策ソフトウェアのログ


 単純に、ウイルス対策ソフトウェアの検出ログファイルを閲覧すればよい。

フォルダオプションの挙動よりチェック


 1)コントロールパネルのフォルダオプションより、もしくはどこか適当なフォルダを開いてメニューの「ツール」を開いてフォルダオプションを選択。
 2)「表示」タブより、「ファイルとフォルダの表示」を探す。
 3)「隠しファイルおよび隠しフォルダを表示しない」から「すべてのファイルとフォルダを表示する」にチェックを入れ替える。
 4)「OK」を押して閉じる。
 5)もう一度開く。
 6)感染していると、設定の変更が勝手に操作され、「隠しファイルおよび隠しフォルダを表示しない」に戻される。
 

 ただし、例外もある。
 ウイルス対策ソフトウェアが一部のファイルのみを削除した後に、フォルダオプションの設定改変効果は解除できたとしても、新たに接続したUSB接続機器への新規感染活動が継続する事例があった。

ライトプロテクトをかけたUSB機器を接続する


 先日駆除作業をしたパソコンの話。
 USB接続機器には書き込みを禁止させるスイッチ(ライトプロテクト)機能がある製品がある。
 感染中のパソコンにライトプロテクトをかけたUSBメモリーを接続したら、さ。
 XXX.exeが何度も何度もUSBメモリーに書き込みを行おうとし・失敗するダイアログが表示され、どうしたものかと悩んでしまった。

 状況にもよるんだろうけど。
 簡易的な検出方法として、有効な気がする。

集団感染時に有効な、感染パソコンの容易な診断 - ダミーフォルダ法


 リムーバブルメディアとCドライブのルート(c:\直下)に作成される実行形式ファイルは通常は非可視となるが、駆除作業の最中に明らかになるだろう。
 ここまでくれば、ダミーフォルダ法(dummy folder method)を利用すると、容易に感染パソコンを特定できる。
 ウイルス対策ソフトウェアにより検出されない場合に、数十台の感染確認を急ぎ行う必要がある場合におすすめ。
 (複数の感染経路より入り込んでいるケースでは、漏れが生じる可能性はある)
 以下の操作はそれぞれ自己責任で行ってもらいたい。


  1. Cドライブ直下に、実行形式ファイルと同じ名称のフォルダを作成する。
  2. Cドライブ直下に、autorun.infの名称のフォルダを作成する。
  3. 作成でき、可視ならば、そのパソコンは感染していない(可能性がある)。
  4. 警告ダイアログが出て、フォルダを作成・またはリネームできないなら、感染中。
  5. 以前は可視だったダミーフォルダが非可視になっていたら、いつの間にか感染した


 作成しようとしたフォルダと同名のファイルが既にそのディレクトリに存在するならば、「ファイルまたはフォルダ名の変更エラー 新しいフォルダの名前を変更できません。指定されたファイル名は既に存在します。別の名前を指定してください。」という警告ダイアログが表示される。
 
 (*クリックで拡大)

 注意として、何故か作成したフォルダが削除できなくなったパソコンが1台あった。理由は不明。
 また「以前は可視だったダミーフォルダが非可視になっていたら、いつの間にか感染した」は、作成時には感染していなかったのだが、その後の感染後に隠蔽工作の対象とすべきファイルと間違え、ダミーフォルダが非可視とされた例である。

例外として


 直接ルートドライブ直下にautorun.infは作成するが、そこから呼び出す実行形式ファイルは直接ルートドライブ直下ではない場合がある。
 例として)
 E:\autorun.inf
 E:\recycle\example.exe
 上記はFakeRecycled(McAFEE)のような機能を搭載したタイプである。

ウイルス対策ソフトウェアによる不十分な対処


 ウイルス対策ソフトウェアによっては、USB接続機器のルート直下に存在するautorun.infを削除し、予防的な対処を行うものがある。
 この場合はautorun.infは消失しており、他のパソコンにてはautorun.infという名称のフォルダを作成できるケースもあった。

ダミーフォルダ法(dummy folder method)


 ファイルをファイルで上書きすることはできても、ファイルを同名のフォルダで上書きはできない。
 この方法で、特定の場所に非可視ファイルの存在を確認できる(ルートキット感染時にも有効な場合がある)。
 応用として、特定の場所に特定の名称のファイルが作成できなくなるように、その名称のフォルダを事前に設置しておくこともできる。

駆除はやや面倒


 これまで自分が扱ったうち、未知のマルウェアを勝手に複数インストールしてくれた1台はリカバリー、残りは手動またはERD Commanderにて削除に成功した。

 駆除方法について記載されている秀逸なサイトがあるので紹介する。作成されるファイルがrevo.exe、revo0.dll、revo1.dll、klif.sys、uu.exe、hbs.exeのタイプであれば、おそらく下記サイトの方法で修復できるだろう。
 REVO(revo.exe) 駆除方法(PC玉手箱)
 【MEMO】W32.Gammima.AG(SunWorship)
 C:\WINDOWS\system32\drivers\klif.sysは、ウイルス対策ソフトウェアによるスキャンで除去する方がベター(名称が必ずしもこれとは限らないから)。多分、起動時スキャンで検出されると思う。

余談として


 Filemonで挙動を調べると、同じファイルを何度もDELETE、CREATE、WRITEと繰り返し、ファイルの削除と再作成を繰り返している。
 どうやら感染後にやたらと動作が重い理由は、このためらしい。

 またウイルス対策ソフトウェアによりUSBメモリーキーの処理が不十分なまま終了すると、利用に支障をきたす可能性がある。
 (一部のウイルス対策ソフトウェアは、autorun.infの削除は行わないため)
 Knightウイルス感染でUSBメモリが開けない(LucaBlog, 2007年12月24日)

更新履歴


 2009年1月21日追記
 2009年2月4日、FakeRecycled(McAFEE)タイプについてと、autorun.infのみが削除された事例と、ライトプロテクト処理済みUSB接続機器について追記した。
 2009年2月11日、リムーバブルメディア(removable media)と記載すべき部分をリムーバルメディア(removal media)と記載していた3箇所を修正。うぁ、恥だ。