チェックサム法

読み:ちぇっくさむほう / 英語表記:checksum method

マルウェアの検出手法の一つである。正常なファイルから計算したチェックサムなどの検証用情報をあらかじめ検査対象に付加し、検査時にその有無や有効性を確かめる。情報の欠落や不一致があれば、感染の疑いとして検出する。

イマシルちゃんの解説

チェックサム法は、ファイルの変化を手掛かりにマルウェアの感染を調べる検出手法だよ。
まず感染していない状態のファイルから、内容を計算で短い値にまとめたチェックサムなどを作っておくんだ。
その情報をファイルに添えておき、検査時には今の内容から計算した値と比べるの。
値が合わなければ、元の状態から書き換わった疑いがあるよ。
検証用の情報が見つからない場合も検出の対象になるんだ。
ただし正規の更新でも内容は変わるから、不一致だけで感染したとは言い切れないよ。
更新履歴なども確かめながら、感染が疑われるファイルを見つけるために使うんだ。

より深い解説

定義

チェックサム法(インテグリティチェック法)は、感染していない時点で、検査対象のファイルからチェックサムやハッシュ値などの検証用の値を計算し、検査対象に付けて(または対応付けて)おく。検査時に改めて計算した値と照合し、一致しなければ、ファイルが改変された(マルウェアに感染した可能性がある)と判断する。

チェックサムとは

チェックサムは、データを一定の規則で計算して得られる短い値で、データが変化していないかを確かめるために使う。

種類特徴
単純なチェックサムデータの値を足し合わせたもの。計算が簡単だが、意図的な改ざんは見抜けない
CRC伝送路の誤りの検出に強い。イーサネットのFCSなどで使われる
暗号学的ハッシュ関数(SHA-256など)同じ値になる別のデータを作ることが極めて難しい。改ざんの検出に向く

マルウェアは、検証用の値まで計算し直して書き換えることがあるため、単純なチェックサムでは不十分である。さらに、検証用の値が改ざんされないように、デジタル署名を付けたり、安全な場所に保管したりする必要がある。

コンペア法との違い

チェックサム法コンペア法
比較の基準検査対象に付加した検証用の値安全な場所に保管した原本やそのハッシュ値
弱点検証用の値ごと書き換えられる恐れ原本の保管と更新の手間

コード署名

チェックサム法の考え方を発展させたものに、コード署名がある。ソフトウェアの開発者が、プログラムのハッシュ値にデジタル署名を付けて配布し、OSや利用者は、署名を検証して、プログラムが改変されていないことと、開発者が本物であることを確かめる。検証用の値を秘密鍵で署名しているため、マルウェアがプログラムを改変すると、署名の検証に失敗する。

マルウェアの検出手法の比較

手法検出の手がかり未知のマルウェア
パターンマッチング法定義ファイルのパターン検出できない
ビヘイビア法実行時の振る舞い検出できる
コンペア法原本との比較改変は検出できる
チェックサム法付加しておいた検証用の値改変は検出できる

コンペア法とチェックサム法は、「何のマルウェアか」ではなく「改変されたかどうか」を調べる手法である。

実際の試験ではここに出る!全2問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑