avast! のスキャンで pagefile.sys が引っかかる場合がある

無償で使えるウィルス対策ソフトとして、Windows ではそこそこ知られている avast! antivirus だけど、もうすぐ Mac 版も無償化されるらしく、ベータ版が公開されている。
さっそく入れて試しているんだけど、先日試しにフルスキャンしてみたら、Boot Camp パーティション上の pagefile.sys にトロイの木馬が感染していると表示された。一瞬ドキッとしたけど、これは何なのか。



avast! から見た pagefile.sys

pagefile.sys は Windows が自動的に作成するファイルで、メモリが足りなくなったときに、一部の内容をディスクに移すためのものだ。これをスワップファイルといい、ファイル名こそ違うけど、Windows 以外の OS にも同じような仕組みがある。
で、Windows 版の avast! でスキャンを実行した場合、avast! はこの pagefile.sys を自動的にスキャン対象から除外するらしい。おそらく、ディスクのスキャンを開始する前にメモリと一緒にスキャンを済ませる仕組みになっているから、ということと、仮にウィルスやトロイが見つかっても pagefile.sys は OS が直接操作しているファイルであるために普通の方法で駆除できないから、ということが理由だろう。
ところが、Mac 版の avast! でフルスキャンをかける場合は、事情が変わってくる。Boot Camp パーティション上に Windows がインストールされていて、そこに前回 Windows を使った時の pagefile.sys が残っていると、Mac 版の avast! には「pagefile.sys という名前のただのファイル」に見えてしまう。Windows 上でスキャンを実行したときと違ってスキャン対象から除外されず、普通のファイルと同じようにスキャンが実行される。

誤検出? 本当に感染してる?

pagefile.sys はメモリの内容が退避されたものなので、通常のファイルとは構造も中身も違う。そんなファイルを avast! でスキャンすると、実際にはウィルスやトロイに感染していないのに、感染したものと誤判定してしまうことがある。こういった「ないのにあると判定してしまうこと」を、誤検出とか、false positive とかいう。後者は元は医学用語で、日本語では偽陽性というらしいが、どういうわけかコンピュータ用語としては英語そのままで false positive と言う人が多いような気がする。
問題は、pagefile.sys だったら必ず誤検出だと思っていいか、ということだ。いくつかの可能性が考えられる。

  • A) 誤検出である。メモリに保持されていた内容が、たまたま avast! のファイルスキャナから見たらウィルスやトロイに見えただけ。
  • B) 誤検出ではないが無害である。メモリ上には確かにウィルスやトロイが格納されていた。しかし、ディスクに保存されたり実行されたりする前に、ブラウザやウィルス対策ソフトが防御してくれていた。スワップファイルの内容は Windows を起動するたびに初期化されるので、今後も問題ない。
  • C) 本当に感染している。ウィルスやトロイが起動されてしまっていて、そのプログラムがスワップファイルに退避されていたのを avast! が見つけた。次に Windows を起動すると、ウィルスやトロイが再度起動されるため、危険である。

どうすればいいんだろ?

ひとつの判定材料としては、「pagefile.sys 以外に、感染したと表示されたファイルがあるか」が挙げられるかもしれない。次回起動時にウィルスやトロイが再度起動されるためには、その内容がファイルとして保存されている必要がある。ファイルがあればそちらも avast! が見つけているだろうから、なければ誤検出だろう、という考え方。ただしこれは完全ではなさそう。
もうひとつは、Windows 版の avast! (もしくは他のウィルス対策ソフト) で、OS 起動時のスキャンを有効にしてチェックしてみること。しかし、これをやるには、感染しているかもしれない OS を一回起動しないといけないわけで、場合によっては二次災害の引き金を引いてしまうかもしれない……。
なお、Windows 側の設定で、シャットダウン時に pagefile.sys を削除するようにすることもできるらしい。シャットダウンに若干時間がかかるようになるそうだけど、Mac 側でスキャンする度に疑心暗鬼になるのは精神衛生上よくなさそうなので、やってみてもよさそう。もっとも、これをやったからといって Windows 側がウィルスに感染しにくくなるとかってわけではない。あくまで気持ちのため。