コンペア法
マルウェアの検出手法の1つ。感染が疑われる検査対象と、安全な場所に保管しておいた原本(またはそのハッシュ値)を比較し、異なっていればマルウェアによる改変として検出する。
イマシルちゃんの解説
大切な書類のコピーを、金庫にしまっておいたとするね。
もし机の上の書類が、誰かにこっそり書き換えられていたとしても、
金庫のコピーと見比べれば、「あれ、ここが違う!」ってすぐにわかるよね。
これがコンペア法なんだ。マルウェアの正体はわからなくても、「書き換えられたこと」はわかるんだよ!
より深い解説
定義
コンペア法は、検査対象のファイルを、感染していないことが確かな原本と比較し、違いがあれば改変(マルウェアの感染など)があったと判断する手法である。原本そのものを保管する代わりに、原本のハッシュ値を安全な場所に保管しておき、検査対象のハッシュ値と比べる方法もよく使われる。
長所と短所
| 長所 | 短所 |
|---|---|
| 未知のマルウェアであっても、ファイルの改変は検出できる | 原本(またはハッシュ値)を、改ざんされない安全な場所に保管しておく必要がある |
| 定義ファイルが不要 | 正規の更新(アップデート)による変更も検出してしまうため、更新のたびに原本を取り直す必要がある |
| 何というマルウェアかは特定できない | |
| ファイルを改変しないマルウェア(メモリ上だけで動くものなど)は検出できない |
チェックサム法との違い
| コンペア法 | チェックサム法(インテグリティチェック法) | |
|---|---|---|
| 比較の基準 | 別の安全な場所に保管した原本やハッシュ値 | 検査対象にあらかじめ付加しておいたチェックサムなど |
| 改ざんへの強さ | 保管場所が安全なら、マルウェアに基準ごと書き換えられにくい | 基準が検査対象と一緒にあるため、マルウェアに書き換えられる恐れがある |
どちらも「感染していない状態との違い」を見る点では同じで、基準をどこに置くかが違う。
ファイル改ざん検知への応用
コンペア法の考え方は、マルウェア対策に限らず、Webサイトの改ざん検知や、サーバの重要なファイルの改ざん検知(ファイル完全性監視)にも使われる。たとえば、公開しているWebページのハッシュ値を別のサーバで保管しておき、定期的に比べることで、改ざんを素早く検知できる。
マルウェアの検出手法の比較
| 手法 | 検出の手がかり |
|---|---|
| パターンマッチング法 | マルウェア定義ファイルに登録された特徴的なコード |
| ビヘイビア法 | 実行時の振る舞い |
| コンペア法 | 安全な場所に保管した原本との比較 |
| チェックサム法 | 検査対象に付加したチェックサムとの照合 |