全1527文字
PR

 インターネットなどからLANに侵入しようとするウイルス(マルウエア)を検知し、排除する役目を担うのがアンチウイルスゲートウエイ(AVGW)だ。

 AVGWには大きく2種類の処理方法がある。「フロー型」と「プロキシー型」だ(図7)。

図7●アンチウイルスゲートウエイ(AVGW)のタイプ
図7●アンチウイルスゲートウエイ(AVGW)のタイプ
AVGWの処理方法は、パケットのまま検査する「フロー型」とファイルに復元してから検査する「プロキシー型」の大きく2種類に分かれる。
[画像のクリックで拡大表示]

 フロー型は、ウイルスが含まれるかどうかをパケットの状態のまま検査する方法だ。パケットを順番に確認していき、ウイルスと思われるパケットがあれば通信を遮断する。

 もう1つのプロキシー型は、ファイルに復元してからウイルスの有無をチェックする。受信したパケットをメモリーなどに保存しておき、必要なパケットがそろったらファイルに復元してチェックする。どちらも基本的にはシグネチャーと照合することでウイルスの有無をチェックする。

 フロー型はパケットのままチェックするので、ハードウエアの性能が同じならばプロキシー型よりスループットが高い。一方プロキシー型はファイルに復元してからチェックするのでフロー型よりも検知率が高い傾向がある。

 フロー型とプロキシー型を組み合わせたハイブリッド型もある(図8)。ハイブリッド型では、通常はフロー型で処理し、一部のパケットだけをプロキシー型で検査する。フロー型でスループットを高めつつ、プロキシー型でウイルスの検知率を高める。

図8●いつもはフロー型で怪しいときはプロキシー型
図8●いつもはフロー型で怪しいときはプロキシー型
フロー型とプロキシー型を併用するハイブリッド型もある。通常はフロー型で検査し、判断がつかない場合はプロキシー型でも検査する。
[画像のクリックで拡大表示]

 まず、フロー型でパケットのままウイルスを検査する。ここで安全なパケットと判断できるパケットは通過させ、ウイルスと判断できるパケットは廃棄する。安全ともウイルスとも判断できないグレーなパケットについては、プロキシー型で処理し、ファイルにしてから改めて検査する。

 ウイルスを検査する方法も進化している。以前はシグネチャーを使ったパターンマッチングだけだった。このため既知のウイルスしか検出できなかった。

 そこでプログラムの振る舞いでウイルスかどうかを判断する方法がAVGWなどに導入された。振る舞い検知などと呼ばれる。ウイルスに特有の動きをするかどうかをプログラムのコードなどから判断する。