ポリモーフィック型マルウェア
感染するたびに、自身のコードを異なる鍵で暗号化するなどして見た目を変え、マルウェア定義ファイルのパターンマッチングによる検出を逃れようとするマルウェア。
イマシルちゃんの解説
指名手配のポスターを見て犯人を探す警察官がいたら、犯人はどうすると思う?
そう、変装するんだ!
ポリモーフィック型マルウェアは、感染するたびに「変装」して、見た目を変えちゃうマルウェアなんだ。
中身(悪さをする内容)は同じなのに、ポスター(定義ファイル)の写真とは似ても似つかない姿になるから、
見た目で探す方法では見つけにくいんだよ!
より深い解説
定義
ポリモーフィック型(多形型)マルウェアは、本体のコードを暗号化し、感染のたびに暗号化の鍵や、復号を行う小さなプログラム(デクリプタ)の書き方を変えることで、感染したファイルごとに異なるバイト列になるようにしたマルウェアである。実行されると、まず自分自身を復号してから、本来の処理を行う。
検出を逃れる仕組み
| 部分 | 感染ごとの変化 |
|---|---|
| 暗号化された本体 | 鍵が変わるため、毎回違うバイト列になる |
| 復号のプログラム | 意味のない命令を挟む、命令の順番や使うレジスタを変えるなどして、毎回違う書き方にする(ミューテーションエンジン) |
| 復号後の本体 | 同じ(処理の内容は変わらない) |
パターンマッチング法は、ファイルの中の決まったバイト列(シグネチャ)を探すため、感染のたびに見た目が変わると、過去に発見されたマルウェアのパターンでは一致しなくなる。
メタモーフィック型との違い
| 種類 | 変化させるもの |
|---|---|
| ポリモーフィック型 | 本体を暗号化し、鍵と復号のプログラムを変える。復号した後の本体は同じ |
| メタモーフィック型 | 本体のコードそのものを、同じ動作をする別のコードに書き換える。暗号化を使わないこともある |
メタモーフィック型は、メモリ上で復号された後の姿も毎回異なるため、さらに検出が難しい。
有効な検出方法
| 方法 | 有効な理由 |
|---|---|
| ビヘイビア法(振る舞い検知) | 見た目ではなく、実行時の振る舞いを見る |
| エミュレーション・サンドボックス | 仮想的な環境で実行させ、自分自身を復号した後の本体をパターンと照合する |
| ヒューリスティック法 | 暗号化や自己書き換えなど、マルウェアに特有の構造を検出する |
| 機械学習による検出 | 多数の特徴から、未知の亜種を推定する |
ほかのマルウェアの特徴との区別
| 特徴 | 当てはまるもの |
|---|---|
| インターネットを介して、攻撃者から遠隔操作される | ボット(RAT) |
| 感染ごとにコードを異なる鍵で暗号化し、過去のパターンでは検知されないようにする | ポリモーフィック型マルウェア |
| 複数のOSで動作するプログラム言語で作られ、複数のOSで動く | クロスプラットフォーム型のマルウェア |
| ルートキットを利用して自身を隠し、感染していないように見せかける | ステルス型のマルウェア |