ヒューリスティック検知 【heuristic scan】 ヒューリスティックスキャン
概要
ヒューリスティック検知(heuristic scan)とは、アンチウイルスソフトなどがコンピュータ内に潜むウイルスなどを探索する手法の一つで、ウイルスに特徴的な挙動がないか調べる方式。未知のウイルスや亜種にも対応できる。従来一般的な探索手法はパターンマッチング法で、既知のウイルスプログラムに含まれる特徴的なコード断片(シグネチャコード)をウイルス定義ファイルに登録し、コンピュータ内のファイルを順に読み込んで一致するパターンが含まれるかを調べるものであった。
一方、ヒューリスティック検知では、これまでに知られるウイルスなどの動作を解析し、感染や破壊などのために行われる、(ウイルス以外の)通常のプログラムがあまり行わない特徴的な処理のパターンを見出す。コンピュータ内の実行ファイルを分析して同じ動作パターンが含まれれば、高い確率でウイルスであることが疑われる。
これにより、ウイルス定義ファイルに登録されていない未知のウイルスや、パターンマッチングで検知されないよう一部を書き換えた既存ウイルスの亜種なども検知することができる。ただし、システム設定を改変する動作を含むソフトウェアなどをウイルスであると誤判定してしまう場合もある。
動作の確認手法の違いにより、プログラムファイルを読み込んでコードの内容がパターンに一致するかどうかを調べる静的ヒューリスティック検知と、実際のコンピュータ環境に影響を及ぼさない仮想的な実行環境で起動してみて挙動を調べる動的ヒューリスティック検知(ビヘイビア法/振る舞い検知)の二種類がある。前者の方が高速に処理できるが、後者を用いると前者では検知が難しいミューテーション型(ポリモーフィック型)ウイルスにも対応することができる。
(2019.5.31更新)