USBメモリ感染のautorun.infウイルスの駆除方法。(mmvo.exe ierdfgh.exe revo.exe sfwypsy.exe ksahqgbi.exe r0so.exe afmain0.dll pytdfse0.dll )

ConfickerとかDownadupと呼ばれるこのウイルスは、もう新型インフルエンザなどの比じゃないぐらいに蔓延しています。
1年ほど前から猛威を振るっていますが、亜種が続々発生し、各ウイルス対策ソフトベンダーが対策ツールを出していたりしますが、検出できてなかったり駆除できていなかったりですので、過信すると痛い目に遭います。
やはりある程度は手動でやらなければダメなようです。
今回は、手動による発見と駆除の方法を提示しておきます。
もうあちこちで同じようなまとめ記事があったりはしますが、一応、改めて。

■感染手法

基本的に、ほとんどはUSBメモリによる「接触感染」なのですが、LANで共有ディスクやファイルサーバーを使っていたりすると、そこを経由して感染する場合もありますし、共有設定していなくてもねじ込まれたりします。これらは内部的な接触感染です。
また、PPPoE接続(光やADSLで「接続ツール」「広帯域接続」を使った「1台のみの接続」で、グローバルIPアドレスがパソコンに割り振られる接続)の場合、USBメモリを使っていなくても、ホームページやメールを利用しなくても、接続しているだけで外部からねじ込まれて感染してしまう場合もあります。これは外部からの接触感染ですね。
外部からの接触感染は、(有線・無線問わず)ルーターを使えば、相当高い確率で防ぐことができます。
ただし、Windows95/98/Meは、改変するレジストリが違うようで、どうやら感染しないようですが、油断はできません。

■感染後の動作

このウイルスは、実行されると、全てのドライブのルート(最上位)にautorun.inf と、そこに記述された実行ファイル(ウイルス本体)をコピーしようとします。
エクスプローラーでドライブを開くたびに、autorun.inf に記述された実行ファイルを起動し、autorun.inf と実行ファイルを、全てのドライブとシステムフォルダにコピーします。
そして起動項目に、システムフォルダに置いてあるウイルス本体を記述し、パソコンを起動するたびに感染動作を実行します。
各場所にウイルス本体を常に再配置、隠しファイルやフォルダを表示させないレジストリをONにする、など。
そして、もしautorun.inf とルートにある実行ファイルが削除されても、他のドライブに残っていたり、システムフォルダの実行ファイルが残っていると、また復活するようになっています。
たまにウイルス対策ソフトがこれを検出して、延々検出を繰り返す場合があるのですが、そのためです。
そして…新たに刺されたUSBメモリやフロッピーなど「リムーバブルメディア」と「接続されているドライブ」全てにファイルをコピーするようになっています。

つまり、本来ハードディスクのルートにあるはずのないautorun.inf がある時点で「おかしい!」となります…。
このウイルスの大きなポイントのひとつはここなのです。

もうひとつのポイントは、msconfigコマンドでチェックできる起動項目。
起動項目に、mmvo.exe とか ierdfgh.exe とか revo.exe があれば、間違いなく感染してます。

■感染したらどうなる?

通常の使用においては、感染していても気付かないことがほとんどです。
目立った症状は全く現れず、こっそりとUSBメモリなどに感染させ、隠しファイルを非表示のままにします。
USBメモリを刺した時に、ウイルス対策ソフトが検出をして初めて気付いた、ということがほとんどです。
あるいは、感染の副作用的な部分で、動作が変に鈍かったり、パソコンの起動ができなくなったり。

以前は書き込み禁止されたUSBメモリでエラーが出たら感染が検知できましたが、最近のものは書込み禁止ドライブは無視するものが主流となり、エラーは出なくなりました…。

さて、その駆除方法ですが…。


■駆除方法

特にソフトは用意しません。パソコンがまともに起動するなら標準のソフトのみで対処できます。

▼まずはLANケーブルを抜く。

これをしないと、駆除中に感染を広げたり、駆除後に他から飛んできたりする場合があります。

▼セーフモードでの起動。

再起動をかけて、メーカーロゴ画面が出たところで、キーボードの「F8」キーを連打。
黒い画面に白い文字で「セーフモード」などの文字が出ている画面になれば成功。
それが出ずに、通常の起動画面が出たら、再起動してやり直し。
上下矢印キーで「セーフモード」を選び、Enterキー。
ユーザー名を選ぶ画面になったら、「Administrator」を選択。なければ管理者権限のあるユーザー名。

▼autorun.infの無効化。

※ここはコマンドプロンプトからの操作となります。
この時点で、マウス操作でマイコンピューターからCドライブを開いたりするとウイルスが発動しますので、必ずコマンドプロンプトから。
コマンドプロンプトでの操作に自信のない人はやめておきましょう。

スタートボタンから「ファイル名を指定して実行」。
半角で「CMD」と入力。大文字小文字は関係なし。
おそらく「c:\」で始まるアルファベットがあり、最後に「>」で四角いカーソルが点滅してるはず。
そこに「cd \」(しーでぃー半角スペース円マーク)を入力し、Enterキー。
「attrib -s -h -r autorun.inf」と入力し、Enterキー。(隠しファイル属性などを外して見えるようにする)
「ren autorun.inf *.txt」と入力し、Enterキー。(ファイル名を変更して発動しないようにする)
※ここでエラーが出るようなら、実は感染していないか、入力のタイプミスの可能性があります。

あとは、autorun.inf を再作成されにくいように、
「md autorun.inf」
「cd autorun.inf」
「md autorun.inf」
「attrib +s +h +r autorun.inf」
「cd \」
「attrib +s +h +r autorun.inf」
と順番に入力。
これで「autorun.inf」という名前の隠しフォルダが作成され、さらにその中に隠しフォルダが作られるので、簡単には削除や上書きはできなくなります。
とはいえ、名前の変更をされたら同じですが…。

追記:フォルダを作成したからといって、絶対にやられないという保証にはなりません。

もしCドライブ以外にハードディスクがあるなら、そちらも同様の操作が必要です。
Dドライブがあるなら、「D:」と入力し、Enterキー。
「D:\>」と表示されるはずですので、先の2行のコマンドを実行。
Eドライブがあるなら、「E:」と入力し、Enterキー…と繰り返します。
これでエクスプローラーでドライブを開いても問題ない状態になります。

「exit」と入力し、Enterキーでコマンドプロンプトが閉じます。

▼隠しファイルを表示できるようにする。

autorun.inf自身は単なる引き金に過ぎません。
ウイルス本体は、別に存在して、隠しファイルとして見えない状態になっています。
まずはエクスプローラーで隠しファイルを表示できるようにします。
※重要:ここから先はレジストリをいじります。間違えると起動しなくなることもあります。初心者は熟練の人か業者に任せましょう。

スタートボタンから「ファイル名を指定して実行」。
半角で「REGEDIT」と入力。大文字小文字は関係なし。
以下のレジストリキーを書き換えます。

● HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
   \CurrentVersion\Explorer
    \Advanced\Folder\Hidden\SHOWALL

    ここにある"CheckedValue"の値を"1"に変更。

これをしないと、隠しファイルは表示できません。
変更後、もう一度"CheckedValue"の値を確認し、1のままかどうか確認です。
いきなり1以外の値に変わってしまっていたら、以上の操作のどこかでウイルスが発動しています。
最初から慎重にやり直してください。
(それでもダメなら、新種ですので、以下の作業は続行できません)
1のままであることが確認できたら、いったんレジストリエディタを閉じます。

あとは、「マイコンピュータ」を開き、「ツール(T)」メニューから「フォルダ オプション(O)」で、

「すべてのファイルとフォルダを表示する」にして、

「保護されたオペレーティング システム ファイルを表示しない(推奨)」のチェックを外します。

この2つの操作は、

● HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows
   \CurrentVersion\Explorer
    \Advanced\Hidden

● HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows
   \CurrentVersion\Explorer
    \Advanced\ShowSuperHidden

この2つのレジストリ値を"1"にすれば実現しますが、通常操作でできますので、あえてレジストリでいじることはしないでおきます。

「OK」ボタンでエクスプローラーに戻り、Cドライブを開きます。(この時点ではautorun.infファイルは存在しないので、ウイルスは発病しないようになっています)
半透明のファイルやフォルダがいくつか表示されていればOKです。

▼悪性ファイルを見つける。その1

半透明になっている実行ファイルの中にウイルス本体があるのですが、このままではどれだかわかりづらいので、特定します。
先ほどファイル名を変えたautorun.txtをダブルクリックで開きます。
単なるテキストファイルとなっているので無害です。
open=○○○.com
shell\open\Command=○○○.com
といった感じで実行ファイルが指定されています。
comではなく、exeやbatの場合もあります。
これらのファイルがウイルス本体です。
sfwypsy.exe ksahqgbi.exe s1.com f1.exe など。
これらのファイル名は一定していません。
とにかくautorun.infに記述されていればウイルス本体と言えます。
でも最近は、行間に無意味な文字をはめ込んで難読化されているものもあったりしますが、検索で「open」とかをキーワードに検索すればすぐに見つかります。
見つけたファイル名がCドライブの同じところにあるかどうかを確認して、半透明の実行ファイルでそれがあったら確定です。右クリックしてメニューを出し、Shiftキーを押しながら「削除」をクリック。
Shiftキーを押しながらの削除で、ゴミ箱に入れずに消去します。
削除したファイルはメモしておいてください。
もし念には念を、とおっしゃる向きには、もし悪性ファイルが「sfwypsy.exe」ならば、
「md sfwypsy.exe」
「cd sfwypsy.exe」
「md sfwypsy.exe」
「attrib +s +h +r sfwypsy.exe」
「cd \」
「attrib +s +h +r sfwypsy.exe」
と順番に入力。
これで「sfwypsy.exe」という名前の隠しフォルダが作成され、さらにその中に隠しフォルダが作られるので、簡単には削除や上書きはできなくなります。

あとは、同じ操作を他のドライブ(Dドライブなど)にも実施すればOK。

▼悪性ファイルを見つける。その2
Windowsが起動されるたびに自動起動されるウイルス本体を削除しなければなりません。
基本的には、エクスプローラーで、c:\windows\system32 の中にあるファイルを表示させ、「表示」メニューから「詳細表示」をクリックし、ファイル表示項目の「更新日時」をクリックすれば、更新日時順に表示されますので、一番新しいファイルを見れば、わりと一発で発見できます。
「wpa.dbl」が最新の日付になっている場合がありますが、これはシステムの重要なファイルなので削除してはいけません。
異常な動作が出始めた日付近辺のファイルで、隠しファイルであればかなり怪しいです。
ファイル名がmmvo.exe ierdfgh.exe revo.exe r0so.exe afmain0.dll pytdfse0.dll などであれば確実にウイルスです。有無を言わさず、右クリックからShiftを押しながら削除です。
削除したファイルはメモしておいてください。

※重要:ここから先はレジストリをいじります。間違えるとまともに起動しなくなることもあります。初心者は熟練の人か業者に任せましょう。

レジストリエディタを起動して、以下のレジストリキーを開きます。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows
 \CurrentVersion\Run

ここにmmvo.exe ierdfgh.exe revo.exeなど、先ほどc:\windows\system32 で見た、比較的最近の日付の隠しファイルが記述されていたら、そのレジストリキーを右クリックで削除です。
削除できたら、レジストリエディタを閉じます。

ここで再起動してみます。
通常通りの起動をしてみて、マイコンピュータを開き、隠しファイルの表示をやってみて、Cドライブを開いたところできちんと半透明の隠しファイルが表示されれば、駆除は成功です。おめでとうございます。
隠しファイルが表示できない、設定変更が元に戻る場合は、駆除できていません。最初から慎重にやり直しです。
それでもダメなら新種ですので、別の対処が必要です…。

▼隠れた部分の掃除。
削除したファイルをメモしておいたと思うのですが、そのファイルをファイル検索で全てのドライブを対象に検索します。発見したファイルは全て削除です。
できればレジストリエディタででも同じく削除したファイル名で検索をかけ、レジストリキーを削除しておいたほうがいいでしょう。
再起動を繰り返したり、通常使っているソフトがきちんと動くことを確認できれば、復元ポイントも削除した方がいいでしょう。
システムの復元を全てのドライブにおいていったん無効にすることで、ウイルスがいた時点の情報を削除できますので、ほぼ完璧になります。

はい、お疲れ様でした。

もしLAN接続している他のパソコンがあるなら、それらも同様の作業をして感染がなくなったことを確認できるまでLAN接続はしないでください。
ルーターがない環境であれば、ぜひともルーターを追加してください。
(フレッツ光プレミアムやKDDIのADSL/光回線など、すでにルーターがある場合は不要です)
XPでSP1(もしくはそれ以前)のまま(起動時の「WindowsXP」ロゴの下に「HomeEdition」の文字がある)の場合は、すぐにSP2かSP3にしましょう。
できない方は、ぜひ当方にご依頼ください。営業区域内でしたらお伺いいたします。
遠隔地ででもパソコンをお送りいただいての対処が可能です。


まぁ、autorun.infによる自動起動を完全に停めてしまう(参考:セキュリティホール memo - 2008.06他)というところまでやってしまえばUSBメモリを突っ込んでも感染させられることはないといえます。
しかし、このウイルスの怖いところは、感染の入り口がUSBメモリだけではないところ。
autorun.infを殺したからといって、感染しない保証にはならないのです。
また、初心者のパソコンのautorun.infを殺したら、周辺機器を増設した場合に、CD-ROMなどからインストーラーを起動できなくなります。
人のパソコンのautorun.infを殺すなら、そこまで責任を持って面倒を見なければなりません。
それができないなら、autorun.infを殺すことは推奨できません。ご自身のパソコンだけでやっておいてください