このページの本文へ

初心者歓迎!ネットワークセキュリティ入門 第2回

ネットワークの脅威と対策を一から学ぼう

巧妙化する不正プログラムを防ぐには?

2009年08月19日 09時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

未知のウイルスを検出する技術

 ゼロデイ攻撃や数多くの亜種、そしてスパイウェアやボットの登場により、多くのウイルス対策ベンダーは、パターンマッチング方式とはまったく異なったウイルス検出技術を投入するようになった。そもそも数多くのウイルスを検出するためには、多くのウイルスのデータベースを持たなければならず、パターンファイルが肥大化する。大量のデータが流れてくると、処理のためにはプロセッサに大きな負荷をかけ、時間もかかる。こうした点からも、パターンファイルに頼らず、未知のウイルスを検出できるようにしなければならないのだ。

 近年、未知のウイルスを検出する技術として各社が導入しているのが、「ヒューリスティック方式」という検出だ。

 ヒューリスティック(heuristic)とは、経験則的といった意味で、過去の経験や学習の成果から、未知のものに対する予測を行なうという意味がある。ウイルスに置き換えれば、あらかじめ予想できる挙動をカタログとして持っておき、検出対象のファイルのコードと見比べて、ウイルスかどうかを判断するという方式である(図6)。つまり、警察が外見や持ち物、挙動を見て、犯罪者を特定するといったイメージだ。

図6 ヒューリスティック方式

 ウイルスらしい挙動としては、システムやDLLファイルを書き換えたり、レジストリを変更する、他のPCに連続して接続要求を出す、大量のファイルを多くの宛先に送りつける、外部からのプログラムを勝手にインストールするといった動作が挙げられる。当然、1つの挙動のみですぐにウイルスと判定するわけではなく、それぞれに得点を付け、総合的に判断する。コード自体を調べてプログラムの動作を解析する方法のほか、「サンドボックス」と呼ばれる隔離空間で実際にプログラムを動作させて解析することもある。

画面1 シマンテックの「Norton AntiVirus」では、古くからダイナミックヒューリスティック解析を導入している

 また、ヒューリスティック方式の発展系としては、ビヘイビアベース解析が挙げられる(図7)。ビヘイビアはふるまいを表わし、実行中のプログラムの動作(挙動)を調べて、検出する方式。予防的に動作するヒューリスティック方式と異なり、実際に動作しているプログラムを調べて、ウイルスかどうかを判断する。つまり、実際に万引きのような犯罪を行なわない限り、犯人とはみなされないという現行犯主義といえる。

図7 ビヘイビアベース方式

 ウイルスを挙動から判断するこれらの方式の最大のメリットは、パターンファイルに依存しないことだ。実際、パターンファイルが登録される前に、検出できた例は多く、適切なアルゴリズムが動作していれば効果も高い。

 ただ、ウイルスらしい挙動というあいまいな条件での分析であるため、誤検出※6の問題は避けて通れない。そのため、パターンマッチング方式と併用するのが一般的だ。

※6:誤検出 正当な通信であるにもかかわらず攻撃とみなしてしまうこと(False Positive)。あるいはその逆に攻撃を正当な通信とみなしてしまうこと(False Negative)。仕組み上、パターンファイル以外の方式では避けられない

(次ページ、「シグネチャをベースに攻撃を検出するIDS」に続く)


 

カテゴリートップへ

この連載の記事