セキュリティ

マルウェアを検出する手法を整理してみた!

2018年10月11日

マルウェアの検出手法って色々あって、難しい単語が並ぶのでまとめてみました!

まずはマルウェア検出手法の一覧です。

名称概要
コンペア法ウイルスの感染が疑わしい対象(検査)と安全な場所に保管してあるその対象の原本を比較し、異なっていれば感染を検出する方法
パターンマッチング法ウイルス定義ファイル(パターンファイル、シグネチャ)等を用いて、何らかの特徴的なコードをパターンとしてウイルス検査対象と比較することで検出する手法
チェックサム法/インテグリティチェック法検査対象に対して別途ウイルスではないことを保証する情報を付加して、保証がないか無効であることで検出する手法。代表的な保証方法には「チェックサム」「ディジタル署名」等がある
ヒューリスティック法ウイルスのとるであろう動作を事前に登録しておき、検査対象コードに含まれる一連の動作と比較して検出する手法
ビヘイビア法ウイルスの実際の感染・発病動作を監視して検出する手法。感染によって起こる環境の様々な変化を検知する場合もある
マルウェアの検出手法

 

上記以外に不審なファイル等を実環境から隔離された仮想環境上で実行して、その振る舞いからマルウェアを検出することを「サンドボックス」と言うようですね。

ウイルスも決まったコードなら検出し易いのですが、感染するごとに異なる暗号鍵を用いて自身を暗号化することでコードを変えてしまい、ウィルスチェックで検出されないようにするパターンもあります。このような、動的に形が変わるウイルスのことをポリモーフィック型ウィルス呼びます。

 

ポリモーフィック型ウィルス

コンピュータウィルスのうち、自己複製を行う際にプログラムのコードを変化させ、検出を回避しようとするタイプのウィルスのことです。

このように、既知のウイルスの亜種や、未知のウイルスなど、知られていないタイプの検出にはヒューリスティック法やビヘイビア法が有効です。

 

ヒューリスティック法

ウイルス定義ファイルを使ったパターンマッチング方式では検知できない
新たなウイルスを検知することも可能です。

ヒューリスティック法は静的ヒューリスティック法と、動的ヒューリスティック法に分かれております。

静的ヒューリスティック法は、検査対象のコードを実行させずに、 予め登録しているウイルスのとる行動と一致しているかを比較する方法です。

一方、動的ヒューリスティック法は、検査対象のコードを実行させて、ふるまいを監視する方法です。この方法により、静的ヒューリスティック法では検知のできない、つまり、ステルス技術の特徴を持っているウイルスも検知することができます。実はこれがビヘイビア法のことを指しています。

 

ビヘイビア法

ビヘイビア(behavior)は英語で「振舞い」という意味がありますが、ビヘイビア法には以下のような方法があります。

  1. 「検査対象プログラム」を直接実行してみて、その時に危険な行動を検出した時点でその動作を停止させる方法
  2. 仮想環境を用意し、その環境下で「検査対象プログラム」を実行して危険な行動を検出していく方法

ビヘイビア法は静的ヒューリスティック法が苦手とする暗号化型、多形態型、自己改編型のウィルスに対応できるメリットがあります。

但し、プログラムを実行するので、それによって感染してしまう危険性や、ウイルスが仮想環境を識別してしまうとウイルスを検出できない等の問題がありますので、リスクを考慮した上で検出していく必要があります。

 

まとめ

今回はマルウェアを検出する方法をまとめてみました。あの手この手で攻撃しようとするマルウェアはとても恐いですが、色々な方法を駆使して早期にマルウェアを検出することで、安全なシステム維持ができると思います。

人間もウイルスの検出には色々な検査方法がありますが、インフルエンザを判定する時の鼻に綿棒を入れるのは痛いし、怖いし、とても嫌ですね。。。(涙)

以上です!

-セキュリティ