ウイルス対策スキャナは、ウイルスを検出するために 2 つの手法を使用します。それらは、シグネチャとヒューリスティック解析です。ウイルス シグネチャは、ウイルスに感染したファイルで発見された単なるバイナリ パターンです。ウイルス定義 (DAT) ファイルにある情報を使用して、スキャナはそれらのパターンを検索します。このアプローチでは、新しいウイルスはシグネチャがわからないために検出できません。そのため、未知のウイルスを検出するためにヒューリスティック解析という手法が導入されています。
ウイルスを含んだプログラムにはたいてい、独特の機能があります。それらは、指示されていないファイルの修正を実行しようとしたり、メール クライアントを呼び出したり、その他の自己増殖手段を使用する場合があります。スキャナはプログラム コードを解析し、これらのタイプのコンピュータ命令を検出します。さらにスキャナは、アクションを実行する前にプロンプトを表示するなどの正当な動作をも検索し、誤ったアラームを表示することを防ぎます。
検出を免れるため、一部のウイルスは暗号化されています。各コンピュータ命令は単なる 2 進数ですが、コンピュータはすべての使用可能な数値を使うわけではありません。プログラム ファイル内で予想外の数値を検索することにより、スキャナは暗号化されたウイルスを検出できます。
これらの手法を使用することで、スキャナは既知のウイルスおよび多くの新種や亜種のウイルスを検出できます。