システムの復元機能によるスパイウェアの駆除や修復は、安易には

ウイルス対策掲示板 Ver. 2にて眠さんが、Windowsのシステム復元機能による感染後の修復に疑問を呈しており、自分も先日幾つかのコメントを投稿した。


システムの復元機能はWindows Me以降に備わった機能であり、ある時点のシステムの状態に戻すとされているがいささか不十分である。
誤解されがちだがレジストリや実行形式ファイルの改変などには有効なものではあるものの、多くのデータファイルは対象外とされるために「完全に過去の状態に戻す」ものではない。


一例として、下記のMicrosoftによる解説は正しくはない。いや、むしろ間違っている。「インストール前の正常な状態に即座に戻すことが出来ます」との解説は誤りであるし、初心者向けにプレーンに記載したのだろうか?
「OSが起動できなくなった場合」には有効だろう。だがまずはセーフモードでOSを起動した上で、問題を起こしたアプリケーションをアンインストールするべきであるのではなかろうか。

フリーソフトや、市販ソフトをインストールしたことで正常に動作しなくなった場合は、このシステムの復元を行えば、インストール前の正常な状態に即座に戻すことが出来ます。システムの復元機能はセーフモードでも利用することができるので、何らかの原因でコンピュータが起動しなくなってしまったという場合は、セーフモードで起動して、システムの状態を元に戻せば正常に起動するようになるでしょう。


システムの復元についての解説は、システム・クラッシュからの復活[システムの復元](@IT)システムの復元について - System Restore(tef-room)Microsoft Windows XP システム復元機能(Microsoft)などを読んでもらいたい。

システムの復元機能は、パソコン初心者には安易に推奨できないのでは

システムの復元機能による修復作業は、幾つかの問題点を抱える。
有用な情報として、システムの復元はシステムを復元する機能じゃありませんってば、また続・何言ってんだおめ? 復元ヴァカなるサイトがある。

スパイウェアマルウェア感染後の、システムの復元機能利用

システムの復元機能は確かに、アンチウイルスソフトウェアにより対応されていない未知のマルウェアに対しては有効な手段の一つではある。
だが「感染前の状態に確実に戻してくれる」ような機能ではない。


スタートアップエントリ(起動エントリ)としてよく用いられる、スタートアップフォルダ(%userprofile%\スタート メニュー\プログラム\スタートアップフォルダなど)中のショートカット類などは、システムの復元機能による監視対象外であるためにシステムの復元機能による修復は望めない。手動で削除するしかないだろう。


またhostsファイルを監視対象外とするために、hostsファイルハイジャッカー系のマルウェアに対しては、直接の効果は無い。
画像ファイルを装ったような危険ファイルや、危険なExploitを含むWordのdocファイルもまた、監視対象ファイルではない。
ブックマークやお気に入りファイルにしたってそうだ。

大幅なシステムの改変後には、利用すべきではない

理由は簡単なように見えるが、実はかなり奥が深い。
システムの復元機能は全てのファイルを監視対象とするのではなく、多くのデータファイルや一部の隠しファイルは対象外となっている。
場合によってはシステムの復元機能を実行すると、ファイル間・またはファイルとレジストリ間に不整合が生じる可能性があるのだ。

 この現象はしばしば、Windows XPWindows Millenium の [システムの復元] ツールで、お使いのシステムを以前の状態に戻した後で見られることがあります。
 この場合は、適用済みの Office 更新プログラムに関するレジストリ情報 (HKEY_CLASSES_ROOT\Installer\Patches) と、Windows インストーラの隠しディレクトリ (C:\Windows\Installer) に保存されている実際の修正プログラム パッケージ (.msp ファイル) の整合性が崩れていることが考えられます。
 [システムの復元] ツールは、上に述べた Windows インストーラレジストリ情報は保存・復元の対象としますが、Windows インストーラの隠しディレクトリに保存されているファイルは保存・復元されません。
 したがって、[システムの復元] でチェックポイントを作成した時点で適用済みの .msp 形式のパッチを、より新しいパッチで上書きしてから (C:\Windows\Installer\ に保存されている古いパッチの .msp ファイルは、この時点で新しいものに置き換えられます) このチェックポイントに復元した場合には、古いパッチのレジストリ情報は存在するのに、実際の .msp ファイルが見つからないという不整合が発生します。


また眠氏は、Service Pack導入前の状態への復元に伴うリスクを警告している。
Windows XP Service Pack 2を適用した後、システムの復元でインストール前の状態に戻せますか(Dell)と同様の話ですね。

ええ、感染していなくても、たとえば、SP 適用後適用前に戻っては絶対いけません。
感染後に大きなシステム変更を行ったら、それ自体誉められたことではありませんから、
なんかリカバリしちゃうのが一番早いかも。


アンチウイルスソフトを導入なども、注意を払わねばならないだろう。
マルウェア感染後にウイルス対策ソフトを導入し、システムの復元機能でインストール前の状態に戻すよりはだ。いっそ一旦アンインストールしてその後に感染前・対策ソフト導入前の復元ポイントを利用するのが望ましいのだろうか?

システムの復元機能を利用するようガイド・回答するならば、事前のヒアリングが必要

何かに感染した直後に - それが大した問題を生じさせないようなマルウェアであるならば - システムの復元機能は大変有用な手段である。
ウイルス対策ソフトやスパイウェア対策ソフトがまだ対応していない新種であっても、対処できるやもしれない。
ここで100%対処できると記載できないのは、システムの復元機能による監視対象ファイル以外にゴミが残存する可能性や、更にはシステムの復元機能そのものがマルウェアにより妨害される可能性もあるからだ。


重要な点として、システムの復元機能は多くの場にて「何でも解決できる・以前の状態に戻る」と誤解されている事実だ。
だが、違う。


誰かにシステムの復元機能を利用するよう促すならば、詳細な情報(例として、何に感染したのか、症状は、いつからか。感染後にどのような操作を行い、どんなソフトを導入したのか等)を求め。
具体的に何日のどの状態の復元ポイントを利用すべきとか、どのソフトウェアはアンインストールしておくべきとか。場合によってはシステムの復元機能の利用を止めるよう忠告する必要があるのではなかろうか。