まん延するウイルスに対抗する,頼もしい味方が「ウイルス対策ソフト」である。しかし,このソフトはどのような仕組みで,感染したファイルやメモリーからウイルスを検知するのだろうか。複数のメーカーがしのぎを削り,ウイルス対策ソフトの完成度は年々高くなっている。しかし,それでも監視の網をすり抜けるウイルスが出現するのはなぜだろうか。

 前回は,ウイルスがどのようにしてWindowsに感染するのか,実際のウイルスの感染手順を説明した。面白いことに,その原稿を執筆している最中,テキストをファイルに保存しようとしたら「ウイルスが見つかりました」とウイルス対策ソフトが警告を発した。もちろん,原稿を保存したテキスト・ファイルはウイルスに感染していなかったが,あるウイルスが感染したときの痕跡(具体的にはWebページに感染したときに残すHTMLタグを解説した文章にウイルス対策ソフトが反応したのだ。

 これは明らかに誤認識だったが,「ちゃんと動いている」と分かって頼もしく感じた。だがその一方で,ウイルス対策ソフトの監視の網をくぐり抜けてしまうウイルスも少なからず出現している。

 一体,ウイルス対策ソフトはどうやってウイルスを検知しているのだろうか(図1)。今回はここに焦点を当てようと思う。何となく知っているようでいて,実はなかなか奥が深い話である。繰り返される新種ウイルスとの攻防により,ウイルス対策ソフトの機能が大きく進化してきた点に注目してもらいたい。

図1●ウイルス対策ソフトはなぜウイルスを検知できるのか?<br>ウイルスは,Windowsシステムのファイルやメモリー上のプログラムに感染する。そのウイルスを発見・駆除するのがウイルス対策ソフトだ。ウイルスは様々な進化を遂げてきたが,ウイルス対策ソフトはどのような仕組みでウイルスを発見するのだろうか。
図1●ウイルス対策ソフトはなぜウイルスを検知できるのか?
ウイルスは,Windowsシステムのファイルやメモリー上のプログラムに感染する。そのウイルスを発見・駆除するのがウイルス対策ソフトだ。ウイルスは様々な進化を遂げてきたが,ウイルス対策ソフトはどのような仕組みでウイルスを発見するのだろうか。
[画像のクリックで拡大表示]

 ただし,ウイルス対策ソフト・ベンダーはウイルスを検知する仕組みを詳しくは公開していない。それを公開したらウイルス作者に手のうちを見せることになるためだ。そのため,特定のウイルス対策ソフトについて語るのではなく,あくまでも一般的に公開されているウイルス検知の手法を紹介することにしよう。それだけでも,いかにウイルスが巧妙で,その検知が難しいのかを理解するのに十分だと思う。