パターンマッチング法

読み:ぱたーんまっちんぐほう / 英語表記:pattern matching (signature-based detection)

マルウェアの検出手法の1つ。既知のマルウェアの特徴的なコードをパターンとして登録した定義ファイルと、検査対象を照合し、一致するものをマルウェアとして検出する。

イマシルちゃんの解説

指名手配のポスターと見比べて、犯人を探すようなやり方だよ。

マルウェアの「顔写真」みたいな特徴を集めたリスト(定義ファイル)を持っていて、
ファイルの中に、リストと同じ特徴を見つけたら「マルウェアだ!」って判断するんだ。
確実だけど、ポスターに載っていない新しい犯人は見つけられないのが弱点なんだよ。

より深い解説

定義

パターンマッチング法は、既知のマルウェアから抽出した特徴的なバイト列(シグネチャ)をマルウェア定義ファイル(パターンファイル)に登録しておき、検査対象のファイルやメモリの内容と照合して、同じパターンが含まれていればマルウェアとして検出する手法である。多くのマルウェア対策ソフトの基本となる方式である。

長所と短所

長所短所
既知のマルウェアを、高い精度で検出できる定義ファイルに登録されていない未知のマルウェアは検出できない
誤検知が少ない定義ファイルを常に最新にしておく必要がある
マルウェアの名前を特定できるコードを少し変えた亜種や、実行のたびに姿を変えるマルウェアを見逃しやすい

新しいマルウェアが出現してから、定義ファイルに登録されるまでの間は、防御できない期間になる。この期間を狙う攻撃は、ゼロデイ攻撃と同じように危険である。

検出を逃れる手口

手口内容
ポリモーフィック型感染のたびに、コードを異なる鍵で暗号化して、見た目を変える
メタモーフィック型コードそのものを書き換えて、見た目を変える(処理の内容は同じ)
パッカー実行ファイルを圧縮・暗号化して、元のコードを隠す
ファイルレスファイルを残さず、メモリ上やOSの正規のツール(PowerShellなど)だけで活動する

ヒューリスティック法

パターンマッチング法の弱点を補うため、特定のパターンとの完全な一致ではなく、「マルウェアがよく使う命令の組み合わせ」や「不審な構造」をもとに判断するヒューリスティック法がある。

種類内容
静的ヒューリスティック法プログラムを実行せずに、コードを解析して判断する
動的ヒューリスティック法プログラムを実行して、振る舞いから判断する(ビヘイビア法と同じ考え方)

ほかの検出手法との区別

手法検出の手がかり
パターンマッチング法定義ファイルに登録された特徴的なコード
ビヘイビア法実行時の読み書きや通信などの振る舞い
コンペア法安全な場所に保管した原本(またはそのハッシュ値)との比較
チェックサム法検査対象に付けておいたチェックサムとの照合

IDSやIPSにも同じ考え方があり、既知の攻撃のパターン(シグネチャ)と照合する方式をシグネチャ型(不正検出)、普段と異なる通信を検出する方式をアノマリ型(異常検出)という。

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

この用語が出てくる記事

↑