ウイルス対策ソフトのウイルス発見率は,どの製品でも大差はない--。ちょっとセキュリティに詳しい人はこう理解しているのではないだろうか。確かに現状はその通り。名の知れたベンダーの製品なら,ウイルス検出の基本的な手法は同じであり,検出能力にも大きな差はない。しかし専門家によれば,近い将来こうした状況は大きく変わりそうだという。ウイルスの進化に追いつくために,新しいウイルス検出法が必要になりつつあるからだ。

 最初に,現在主流となっているウイルス検出法である「パターン・マッチング」と呼ぶ手法をおさらいしておこう。パターン・マッチングとは,あらかじめウイルスの特徴(パターン)を記述したデータベース(定義データベースと呼ぶ)をウイルス対策ソフト内に持っておき,この情報と検査対象のファイルを逐一比較(マッチング)するという方法である。

 例えば,「A」というウイルスのパターンが「265841377」と表現できるとしよう。ウイルス対策ソフトは,ウイルス感染の疑いがある検査対象のファイルの中身を調べ,「265841377」というパターンが現れればこのファイルにはAというウイルスが感染していると判断する。

 ひと昔前までは,このパターン・マッチングですべてのウイルスが検出できていた。ところが,最近ではパターン・マッチングを適用しにくいウイルスが登場し始めている。「ミューテーション型」ウイルスと呼ばれるタイプのウイルスがそれだ。

 ミューテーション型ウイルスは,ほかのファイルに感染する際に,自分自身のプログラム・コードを並べ替えたり,間に無駄なデータを挟むことなどで自分自身の形を変えてしまう。さらにその発展系として,多数の暗号鍵を使って自分自身を暗号化するといった複雑な処理を施すウイルスも登場し始めている。こうしたウイルスには,単純なパターン・マッチングは通用しない。

 もちろんウイルス対策ソフトもミューテーション型ウイルスへの対抗策を用意している。自分自身を変形させるといっても,結局感染する際には元に戻るのだから,変形処理を逆に実行すれば,ウイルス本来の姿に戻る。この前処理をしてからパターン・マッチングするのである。こうすればミューテーション型ウイルスでもパターン・マッチングで検出できる。

 ここまで読むと,パターン・マッチングは万能のように思えるかもしれない。ところが,ウイルス解析の専門家は,「パターン・マッチングではどうにもならないウイルスが登場する可能性がある」(米シマンテックSARCに在籍する山村元昭氏)と危惧している。実際,研究所レベルでは,そうした技術で作られたウイルスが見つかりだしているのだ。

 パターン・マッチングが通用しないウイルスとは,いったいどういうものなのか。それは,ミューテーション処理の逆実行に時間がかかりすぎ,ウイルス対策ソフトが使い物にならなくなってしまうウイルスのこと。一つのウイルスのパターン・マッチングに数分かかるようになるだけで,こうした状況が起こる。なぜなら,一つのファイル当たりで調べなければならないウイルスの数は数万種類あり,その数は増え続けているからだ。

 ではどうするか。実は,こうしたウイルスに対抗できるウイルス検出法に「ビヘイビア・ブロッキング」などと呼ばれる手法がある。これは,ウイルスの悪さをする典型的な行動パターンを監視してウイルスを検出するというもの。つまり,「ハードディスクをフォーマットする」といった行動を見張り,その行動をとるプログラムを現行犯逮捕するのである。

 ただし,行動パターンを基準に捕まえるという手法は,ウイルスでないプログラムをウイルスと勘違いする「誤認」の問題が出てくる。ハードディスクをフォーマットする正式なプログラムも沢山ある。つまり,こうしたウイルスを捕まえるには,ウイルス対策ソフトに高度な“知能”が必要になってくる。近未来のウイルス対策ソフトは,この知能の差を競うことになりそうだ。

斉藤 栄太郎

関連リンク
シマンテックのウイルス研究所SARCのWebページ