ビヘイビア法・パターンマッチング法・コンペア法・チェックサム法
最新のウイルス検知手法「ビヘイビア法」
「ビヘイビア法」とは、ウイルスを検知するための手法の1つです。「動的ヒューリスティック法」と呼ばれることもあります。
ビヘイビア法は、ウイルスの構造データではなく「ウイルスの動作」に着目して検出します。
たとえば「”システム中枢書換”をしようとする怪しいプログラムがいるぞ!ウイルスの可能性が高い!隔離だ!」といった具合で、普通ではありえないような動作をするプログラムや、過去に発見されたウイルスとよく似た動作をするプログラムなどに反応し、隔離します。
「ポリモーフィック型ウイルス」のように構造データを変化させるウイルスには効果抜群ですが、その一方で悪意のないプログラムもウイルスとして誤検知してしまうというデメリットもあります。
最もメジャーな検知手法「パターンマッチング法」
ビヘイビア法とは反対の手法に「パターンマッチング法」というものがあります。
こちらは「静的ヒューリスティック法」と呼ばれていますね。
パターンマッチング法は、ウイルスの動作ではなく「ウイルスの構造(ソースコード)」に着目して検出します。
従来から幅広く使用されてきた方法で、すでに発見済みのウイルスであればほぼ確実に検知することができます。
弱点は「新種のウイルス」や「構造データを変化させるウイルス」など、パターンとして登録されていないウイルスには対応できないところです。パターンマッチング法の弱点を補うために開発されたのがビヘイビア法なので、そういう意味ではパターンマッチング法は「古い技術」ということになりますね。
シンプルイズベストな検知手法「コンペア法」
「コンペア法」とは、ファイルがウイルスに感染しているかどうかを調べる手法のことです。
「ウイルス感染が疑われるファイル」と「確実にウイルスに感染していない、安全なところに保管しておいたファイル(つまり原本)」を比較して、変化しているところがあるかどうかを確認します。変化しているところがあれば、そのファイルはウイルスに感染していると判断できるわけです。
ウイルスに感染していた場合は、原本から復元すればOK。
ウイルスに感染すると困る重要なファイルを隔離しておけば良いだけなので、アンチウイルスソフト無しでも可能なウイルス対策ということになります。
原本が必要不可欠というデメリットがありますが、実装が簡単というメリットもあります。
コンペア法をより簡単で便利に「チェックサム法」
どうも使い勝手がよくなかったコンペア法を、簡単&便利にしたものが「チェックサム法」です。「インテグリティチェック法」と呼ばれることもあります。
ファイルの内容ではなく「ファイルの容量」や「ファイルのハッシュ値」を比較してウイルス感染の有無を判断します。
「ファイルのハッシュ値」というのは、超簡単に説明すると「とあるファイルを特定するために、とある計算式から割り出された、長い英数字の羅列」みたいな感じです。
ウイルス感染前と感染後でファイルの容量が同じだった場合でも、ハッシュ値が異なればそのファイルは感染していると判断することができます。
チェックサム法はファイルの内容を確認しなくてもよいぶん、コンペア法に比べてチェックスピードが大幅に向上しています。
しかしファイルの容量を変化させないウイルスやファイルのハッシュ値を自由に変更できるウイルスが存在する今では
完璧な手法とは言い難いというのが実際のところです。