Microsoft Security Essentialsで十分

僕はマルウェア対策ソフトはMicrosoft Security Essentials (MSE)で十分だと思う。こう言うと、ファイアウォールが十分ではないと目くじらを立てる人がいるが、マルウェア対策でファイアウォールが果たす役割はごく一部だ。Windows XP以降は、ステートフルインスペクションするファイアウォールが不正なインバウンドの通信を遮断するので、ほかにファイアウォール製品を入れる必要はない。

ほかのマルウェア対策ソフトが持つ、HTTPやPOPなどのプロトコルの中身をスキャンする機能はMSEにはない。しかし、この機能はSSLを介した通信には無力なので重要性が高いとは思わない。これらのプロトコルを通じてマルウェアの侵入を許したとしても、活動する前にMSEが検出するだろう。フィッシングサイトなどの有害サイトの検出や迷惑メールの振り分けなどの機能は、マルウェア対策ソフトであるMSEに求めても仕方がない。必要な人は総合セキュリティ製品を購入するべきだ。

パーソナルファイアウォール製品はいらない

マルウェア対策におけるファイアウォールの役割は、OSやアプリケーションのリモートネットワークに対する脆弱性を利用したマルウェアの侵入を防ぐことだ。リモートネットワークに対する脆弱性がないのならファイアウォールは必要ない。あったとしてもインバウンドの通信を絶ってしまえば、その脆弱性を利用してマルウェアは侵入できない。マルウェアの侵入経路は他にもあるので、これ以上ファイアウォールに凝るのは意味がない。

ZoneAlarmなどのパーソナルファイアウォール製品は、不正なアウトバンドの通信の遮断を売りにしている。Windows Vista以降でもデフォルトから切り替えればアウトバウンドの通信を遮断できる。しかし、不正なアウトバウンドの通信の遮断は、マルウェア対策という意味では手遅れだ。それは侵入に成功したマルウェアの活動を意味するからだ。その前に、マルウェア対策ソフトがマルウェアの活動を止めるだろう。脆弱性を放置せず、マルウェア対策ソフトの更新も怠らなければ、パーソナルファイアウォール製品の出番はない。

ちなみに、去年からGumblerが猛威を振るっているのはAdobe Reader脆弱性が放置されていたからだ。攻撃方法の発覚から1ヶ月も経って対策されたバージョンが公開されたが、Acrobat Javascriptは何度もゼロデイ攻撃を食らっているので、必要がない限り無効にしておくべきだろう。

Microsoft Security Essentialsの実力は

マルウェア対策ソフトとしてのMSEの実力はかなり高い。AV-TESTによる検出力テストでは、ウィルスバスターやNOD32を上回る成績をコンスタントにおさめている。新種への対応力を調べるMalware Threat Centerでは、常に上位に位置している。AV-Comarativesによるヒューリスティックによる検出力のテストでも、検出力の高さのわりに誤検出が少なく高い評価を受けている。リアルタイムスキャンの負荷も十分軽い。Pentium III 1.13GHzのWindows XPのPCをNorton AntiVirus 2009からMSEに変更してみたところ、明らかに動作が軽快になった。

欠点は、Microsoftが一日に何度か定義ファイルを更新しているのに、MSEが更新の確認を高々一日に一回しか行わないことだ。更新の確認は一日に一回、MSEがスケジューリングした時間と、スリープや休止から起きたときに行われる。しかし、後者の検査は行われないことがあり、よくスリープや休止するPCでは定義ファイルが古いまま放置される可能性がある。この辺の話はMSE Definitions/Signatures Update FAQに詳しい。ほかのマルウェア対策ソフトが定義ファイルの更新速度に力を入れているのと比べると見劣りは否めない。

この問題を解決するには、MseNotifyというフリーソフトを使うのがいいようだ。もっと簡単に、以下のようなVBScriptを拡張子.vbsで保存して、タスクスケジューラで一日に複数回実行するという手もある。

Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run """%ProgramFiles%\Microsoft Security Essentials\MpCmdRun.exe"" SignaturesUpdateService -UnmanagedUpdate", 0, True

もう一つの欠点はスキャン速度が遅いことだ。リアルタイムスキャンの負荷が軽いのにスキャンが遅いというのは矛盾しているようだが、オンデマンドでフルスキャンやクイックスキャンを掛けてみると、明らかにほかのソフトよりも遅い。

まだベータのころのデータだが、PCWorldによる無料アンチウィルスソフトの比較によると、741MBの一つのファイルのスキャンにAvira AntiVirが28秒、avast!が38秒、AVGが50秒掛かるのに対して、MSEは77秒掛かっている。体感でほかのソフトの倍くらい遅い印象があるが、この数字はそれと矛盾しない。

これらの欠点はあるものの、マルウェア対策ソフトがまったくない状態よりははるかに良いし、検出力はほかのソフトと同じかそれ以上の水準にあるので、家庭のPCのマルウェア対策ソフトはMSEで十分だと思う。そういう僕はAvira AntiVir Premiumを使っていたりするので、あまり説得力がないかもしれないが。