インテグリティチェック法【integrity checking】
インテグリティチェック法とは?

コンピュータウイルスなどが実行ファイルやシステムファイルを書き換えることで感染を広げる特性を利用して検出を行う手法である。あらかじめ正常な状態のファイルについて、容量や更新日時、チェックサム、ハッシュ値などの情報をデータベースとして保存しておき、定期的なウイルススキャンの際に、現在のファイル情報と照合することで変更の有無を調べる。
もし記録された値と一致しない場合、ファイルが改変された可能性があると判断され、警告や隔離などの処理が行われる。このような仕組みは「ファイル整合性監視」(FIM:File Integrity Monitoring)とも呼ばれ、システムの安全性を確認するための基本的な検査手法として利用されることがある。
ハッシュ値はファイルの内容から一定の計算式で生成される固定長の文字列で、MD5、SHA-1、SHA-2などのアルゴリズムが用いられる。ファイルの内容が1ビットでも変化すればまったく異なるハッシュ値が生成されるため、ファイルサイズのみを比較する方法と比べて改竄の検知精度が格段に高い。ファイルサイズを変えないよう調整する巧妙なウイルスであっても、ハッシュ値の照合によって検出できる。
インテグリティチェック法は、ウイルスの特徴的なコードパターンを探すパターンマッチング法とは異なり、ファイルの構造や内容を詳細に解析する必要がないため、比較的高速に多数のファイルを検査できる。また、既知のウイルスのパターンに依存しないため、新種のマルウェアによる改竄も検出できる可能性がある。一方で、事前に基準となる情報を登録していないファイルには適用できないほか、正規のアップデートや利用者の操作による変更も検出対象となるため、運用時には更新管理や信頼できる基準データの維持が重要となる。