不正プログラムをあぶり出すウイルス対策ソフトの最新検出技術とは?セキュリティ対策技術の基礎を知る(2/4 ページ)

» 2009年09月20日 09時00分 公開
[國谷武史,ITmedia]

不正プログラムを見つける多層型検知

 それでは、ウイルス対策ソフトが不正プログラムを見つけ出すための検出技術をみていこう。主な検出技術には「パターンマッチング」「Unpackerパターン」「Genericパターン」「IntelliTrap」「ヒューリスティック」などがある。最新版には「レピュテーション」と呼ばれる新たな技術が加わった。

パターンマッチング

 パターンマッチングは、不正プログラムを識別するための定義ファイル(パターンファイル)を利用して照合を行い、固有の不正プログラムを検出する。ウイルス対策ソフトメーカーは、入手した不正プログラムの検体(サンプル)を解析し、その特徴を明らかにして定義ファイルを作成する。定義ファイルは適宜ユーザーへ配信され、ユーザーのコンピュータ上でマッチングする仕組みだ。

 パターンマッチングのメリットは、不正プログラムとして特定した上で検出を行うため、高い確率で不正プログラムを発見できる。しかし、メーカーが検体を入手する前や解析途中のいわゆる「未知のプログラム」を検出することができない。また、定義ファイルの作成と配布にも時間を要するため、未知のプログラムが不正プログラムであった場合に被害が広まってしまう恐れがある。

Unpackerパターン

 Unpackerパターンは、圧縮形式を採用している不正プログラムを検出する。圧縮された状態の不正プログラムは定義ファイルで検出できないため、ウイルス対策ソフトで一度解凍し、その中身を検査することで、不正プログラムを見つけ出す。

Genericパターン

 Genericパターンは、固有の不正プログラムの一部が改変された「亜種」を検出する。パターンマッチングでは亜種を発見するのが難しく、固有の不正プログラムと亜種の共通部分と亜種の特徴をそれぞれ抽出し、それらをまとめた別の定義ファイル(Genericパターン)を作成する。不正プログラムの一部分でもGenericパターンに合致すれば、不正プログラムとして検出する。

Genericパターンによる検出イメージ(資料提供:トレンドマイクロ)

IntelliTrap

 IntelliTrapは、自動実行機能を備えた圧縮ファイル形式のデータの不正プログラムとして検出する。Unpackerパターンを応用したもので、自動実行機能を備える圧縮ファイルは不正プログラムの典型的な特徴であることから、この形式のデータを検出するようにしている。

ヒューリスティック

 ヒューリスティックは、不正プログラムの特徴的な動作を検出する仕組みとなる。不正プログラムの多くは、例えばレジストリに自身を登録したり、システム設定を変更したりするほか、外部のサーバなどと密かに通信を行うことが多い。ヒューリスティックでは、正規のシステムに影響しない仮想的なメモリ空間(サンドボックス)で不正が疑われるプログラムをまず実行し、その動作内容を確認して不正プログラムかどうかを判別する。

 パターンマッチングを除く検出技術は、パターンマッチングでは見つけ出せない未知の不正プログラムや不正が疑われるプログラムの検出を目的にしている。パターンマッチングよりも早い段階でコンピュータを保護できる反面、正規のプログラムを誤って不正プログラムと判別(誤検知)してしまうリスクが高い。

 ウイルスバスターの場合、不正プログラムを見つけ出すには精度の高い技術を順番に適用させていくという。まずパターンマッチングを行い、検出できない場合にはUnpackerパターン、IntelliTrap、ヒューリスティックなどを順次使用して、不正プログラムを検出するようにしている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ