チェックサム法
概要

「チェックサム」(checksum)とは、データの内容から一定の計算方法で求められる数値である。元のデータに変化があれば値も変化するという性質があり、内容全体を比較・照合しなくても変更されたか否かを効率よく検出することができる。
チェックサム法では、まずコンピュータが正常な状態にあるときに実行ファイルやシステムファイルのチェックサム値を算出し、データベースなどに記録する。その後、定期的に対象ファイルの値を再計算し、記録済みの値と照合する。一致しない場合は何らかの変更が加えられたと判断され、ウイルス感染や不正な改竄の可能性があるとして通知される。
パターンマッチング法のように既知のウイルスの特徴データを利用しないため、定義ファイルに登録されていない新種のウイルスによる改変も理論上は検出できる。ただし、変更の原因までは判別できないため、正規のソフトウェア更新や利用者による編集であってもチェックサム値は変化する。変更が検出された場合は、それが正当な更新によるものか改竄によるものかを別途確認しなければならない。
また、ファイルの内容を書き換えないタイプのマルウェアや、メモリ上のみで活動する不正プログラム(ファイルレスマルウェア)の検出には対応できない。ウイルスがチェックサム値の記録そのものを書き換えてしまえば検知を免れ、記録時点ですでに感染していた場合はその状態が正常として登録されてしまうという弱点もある。
こうした事情から、現在のセキュリティソフトではチェックサム法を単独で用いることは少なく、シグネチャ法やヒューリスティック法、ビヘイビア法などと組み合わせて使われることが多い。ファイルの整合性を確認する技術としては今日も有効であり、ウイルス対策のみならずシステム管理やセキュリティ監査の分野でも応用されている。