ビヘイビア法
マルウェアの検出手法の1つ。プログラムを実行したときの、データの読み書きや通信などの振る舞いを監視し、不審な動作からマルウェアを検出する。
イマシルちゃんの解説
マルウェアの見つけ方には、「見た目」で探す方法と、「行動」で探す方法があるんだ。
ビヘイビア法は、行動で探すほう!
「たくさんのファイルを次々に書き換え始めた」「知らないサーバとこっそり通信し始めた」みたいな、
怪しい行動をしたら「こいつはマルウェアだ!」って見抜くんだよ。
見た目を変えた新しいマルウェアでも、悪いことをすれば見つけられるんだ!
より深い解説
定義
ビヘイビア法(振る舞い検知)は、検査対象のプログラムを実際に動かし、その動作(ファイルの読み込みや書き込み、レジストリの変更、プロセスの生成、ネットワークへの通信など)を監視して、マルウェアに特有の振る舞いを検出する手法である。実行の監視は、実際の環境で行う場合と、隔離されたサンドボックス(仮想環境)の中で行う場合がある。
検出する振る舞いの例
| 振る舞い | 疑われるマルウェア |
|---|---|
| 短時間に大量のファイルを読み込んで暗号化し、書き戻す | ランサムウェア |
| ほかの実行ファイルを書き換える | ウイルス(感染型) |
| OSの起動時に自動で実行されるように登録する | 常駐型のマルウェア全般 |
| キー入力を横取りする | キーロガー |
| 決まった間隔で外部のサーバと通信する | ボット(C&Cサーバとの通信) |
長所と短所
| 長所 | 短所 |
|---|---|
| マルウェア定義ファイルにない未知のマルウェアや、亜種も検出できる | 正規のソフトウェアを誤って検出する(誤検知)ことがある |
| コードを変形させて見た目を変えるマルウェアにも強い | 実際に動かすため、検出までに被害が出る可能性がある(サンドボックスで緩和) |
| サンドボックスを検知すると、おとなしくして正体を隠すマルウェアがある |
マルウェアの検出手法の比較
| 手法 | 何を手がかりにするか | 未知のマルウェア |
|---|---|---|
| パターンマッチング法 | マルウェア定義ファイルに登録された特徴的なコード | 検出できない |
| ヒューリスティック法(静的) | コードの中のマルウェアらしい命令の組み合わせ | ある程度検出できる |
| ビヘイビア法 | 実行時の振る舞い | 検出できる |
| コンペア法 | 安全な場所に保管した原本との比較 | 改変は検出できる |
| チェックサム法(インテグリティチェック法) | あらかじめ付けておいたチェックサムやハッシュ値との照合 | 改変は検出できる |
ヒューリスティック法のうち、プログラムを実際に動かして振る舞いを見るものは、ビヘイビア法と同じ考え方であり、動的ヒューリスティック法とも呼ばれる。
EDRとの関係
近年の企業向けのセキュリティ製品であるEDR(Endpoint Detection and Response)は、ビヘイビア法の考え方を発展させたもので、端末上のプロセスやファイル、通信の振る舞いを継続的に記録・分析し、不審な動作を検知したら、端末の隔離などの対応を行う。マルウェアを侵入前に完全に防ぐことは難しいという前提に立ち、侵入後に素早く検知して対応することを重視している。