ステルス型および未知のウイルス/ワーム検知の仕組み

敵を知り、防御法を知れば、危うからず!
ウイルス
ワーム の
近年、
「MSBlaster」や「Sasser」などに代表されるコンピュータウイルスによる被害が
拡大している。本連載では、まずそれらのウイルスの特徴や動作を分析し、各ウイルスの
特徴に合わせた防御法について解説していく。今回は、現在実現されているステルス型
ウイルス/ワームおよび未知のウイルス/ワームを検知する仕組みについて解説する。
第5回
ステルス型および未知のウイルス/ワーム検知の仕組み
一般的なアンチウイルスソフトの
パターンマッチング法の仕組み
現在、主流となっているアンチウイルスソフトのウイル
逃れる機能を持ったウイルス/ワームが存在する。これ
らには、パターンマッチング法では対処できない。この
ステルス型ウイルス/ワームは、
「ポリモーフィック型」と
「メタモーフィック型」に分けられる。
ス/ワーム検知方式では、
「ウイルス定義ファイル」を使用
ポリモーフィック型は「ミューテーション型」とも呼ば
し、このファイルとスキャンデータとの間でパターンマッ
れ、感染するたびにランダムな暗号化鍵を使用して自分
チングを行うことによって検知する。ウイルス定義ファイ
自身を暗号化する。異なる鍵を使用して暗号化すること
ルには、既知のウイルス/ワームのデータの一部や、ワー
で、プログラムファイルのパターンを毎回変更するため、
ムプログラムの名称などの特徴が記述されている。
パターンマッチング法では検知することができない。
この方式では、アンチウイルスソフトが、OSのメモリ
メタモーフィック型は、プログラムの中に実行しても
やディスクへのアクセスを監視し、新しいファイルがメ
意味のない命令を挿入したり、同じ動作をする別の命令
モリ上へロードされたり、ディスクへ書き込まれたりし
に置き換えたり、命令の順番を変更したりして、プログ
た場合に、その内容とウイルス定義ファイルの内容を比
ラムのパターンを変更してしまう。したがって、動作結
較する(図1)
。そして、ウイルス定義ファイルに含まれて
果は同じであるにもかかわらず、プログラムとしては別
いる特徴と一致した場合に、ウイルスやワームに感染し
のものとして認識されるため、パターンマッチング法で
ていると判断する。
は検知することができない。
パターンマッチング法では
ウイルス検知に限界がある
■未知ウイルス/ワーム
新種や亜種
のウイルス/
しかしながら、ウイルスやワームの中には、従来のパ
ワームが出現
ターンマッチング法では検知できないものも存在する。
した場合は、
そういったウイルス/ワームの種類として、次のものが
既出の種類の
あげられる。
ものと特徴が
ウイルス5
酷似していな
ウイルス6
■ステルス型ウイルス/ワーム
いかぎり、そ
「ステルス型」と呼ばれる、自分自身を暗号化したり改
れらのパター
変したりすることで、アンチウイルスソフトの検知から
ンがウイルス
140
NETWORKWORLD
Jan 2005
ウイルス1
比較
ウイルス2
インターネット
ウイルス3
MSBlaster
ウイルス4
Sasser
一致
検査対象ファイル
ウイルス定義ファイル
図1● パターンマッチング法では、ウイルス定義ファイルの
内容と検査対象ファイルの内容を比較し、既知のウイルス/
ワームを検知する
ウイルス
ワーム の
定義ファイルに存在しないため、パターンマッチング法
変更されるデータファイルなどの場合には、修正が入る
では検知することができない。
たびにハッシュやデジタル署名を作成し直す必要があり、
手間がかかるという問題がある。
そこで、パターンマッチング法では検知することがで
きないステルス型ウイルス/ワームや、未知のウイル
ス/ワームを検知するために、次のような検知方法が実
用化されている。
ウイルス/ワームらしい動きを監視
ビヘイビアブロッキング法
ビヘイビアブロッキング法は、システム上で動作して
●インテグリティチェック法
いるプロセスの動きを監視し、
「ウイルスやワームらしい
●ビヘイビアブロッキング法
ふるまい」をした場合に、それをウイルス/ワームとして
●スタティックヒューリスティック法
検知する方式である。具体的には、動作中のプロセスが
●ダイナミックヒューリスティック法
発行するシステムコールなどを監視して、レジストリの
●ネットワークビヘイビア法
内容の変更やディスクへの書き込みなどの動作を総合的
●プロトコルアノマリ法
にチェックし、それらの動作とあらかじめ定義された「ウ
イルスやワームらしいふるまい」を比較して、疑わしいも
以降では、上記のそれぞれの方法について詳しく解説
する。
のがあればウイルスやワームとして検知する。
この方式では、ステルス型や未知のものを含めてウイル
ス/ワームを検知することが可能であるが、ウイルス/ワ
ファイルの内容の変化を察知
インテグリティチェック法
ファイルがウイルスに感染した場合は、ファイルの内
ームと類似した動きをする正常なプログラムを誤検知し
てしまうという問題がある。このため、ユーザーに対して
「疑わしいプログラム」としか通知できない場合が多く、ユ
ーザーは、それがウイルスやワームであったとしても、正
容に変化が生じる。インテグリティチェック法は、その
常なプログラムを誤検知したものだろうと判断し、結局、
変化をとらえることでウイルスの感染を検知する。
そのプログラムの実行を許可してしまう可能性がある。
具体的には、図2のように、ウイルスに感染していない
状態のファイルのハッシュやデジタル署名などをあらか
大量の誤検知がある場合には、検知機能自身をストッ
プさせてしまうユーザーも出てくるだろう。
じめ作成し、安全な別のフォルダに保管しておく。そし
また、この方式では、ウイルス/ワームプログラムを
て、該当するファイルを使用する際に、現在のファイル
実行しないと検知することができないという弱点がある。
から作成したハッシュ/デジタル署名と、保管されてい
つまり、この方式によってウイルスやワームの動作を検
るハッシュ/デジタル署名を比較することで、ファイル
知したとしても、それ以前に何らかの処理がすでに行わ
の内容に変更がないかどうかをチェックする。もし、フ
検査対象ファイル
ハッシュ/デジタル署名
ァイルの内容に変更があった場合は、ウイルスに感染し
た可能性があると判断する。
この手法は、ウイルスのパターンを基に検知を行うも
のではないため、未知のウイルス/ワームやステルス型
のウイルス/ワームを検知することが可能である。また、
ハッシュやデジタル署名は、ファイルに対してだけでな
く、フォルダ内のファイルのリストについても作成する
ことができるため、知らない間にインストールされたワ
(1)ウイルス感染前にハッシュまたはデジタル署名を作成
オリジナルのハッシュ
/デジタル署名
ウイルスに感染した
検査対象ファイル
作成したハッシュ
/デジタル署名
比較して異なれば
ウイルスに感染したと検知
ームファイルの存在を検知することも可能だ。
しかし、この手法では、ハッシュやデジタル署名を事
前に作成する必要があったり、ファイルの内容が頻繁に
(2)ファイルを利用する際にハッシュまたはデジタル署名を比較
図2● インテグリティチェック法では、オリジナルファイルの内容から変化があったかどう
かでウイルス感染を検知する
NETWORKWORLD
Jan 2005 141
れてしまっている可能性が高く、システムを元の状態に
想的に実行させるため、システムのCPUリソースなどが多
修復することは難しいと言える。
く使用され、処理が重くなってしまうという問題がある。
また、ウイルス/ワームの中には、仮想的に実行され
バイナリファイルを解析して検知
スタティックヒューリスティック法
ていることを識別して活動を停止してしまうものも存在
し、それらのウイルス/ワームについては検知すること
ができない。さらに、時刻などをチェックして動作を変
スタティックヒューリスティック法は、プログラムを
えるウイルス/ワームについては、仮想的に実行させた
実行せずにバイナリファイルの状態で、マシン語レベル
ときは活動しなくても、実際に動作させたときには活動
のコード解析を行い、ウイルス/ワームらしい動作を検
してしまう可能性もあるので注意が必要だ。
知するものだ。
この方式は、プログラムを実行しないで済むので安全
ネットワーク上でワームを検知
ネットワークビヘイビア法
であるというメリットがある。しかし、プログラムでは、
同じ処理を行うのにさまざまな命令セットを使用するこ
とが可能であるため、解析した動作と、あらかじめ定義
ビヘイビアブロッキング法やスタティックヒューリス
されたウイルス/ワームのふるまいとの比較を行うこと
ティック法、ダイナミックヒューリスティック法は、い
が難しいという問題がある。
ずれもエンドポイントPC上でプログラムの動作を監視す
また、サイズの大きなプログラムの場合は、すべての
るものである。これに対して、ネットワークビヘイビア
コードを解析すると多くの時間を要するので、ウイルス
法は、プログラムの動作ではなくネットワーク上のトラ
が寄生していそうな個所を想定して解析するといったく
フィックの流れを監視して、ワームの疑いがあるものを
ふうが必要となる。さらに、暗号化されているポリモー
検知する(図3)
。
フィック型の場合は、コードの内容を解析することがで
例えば、ワームに共通した動作として代表的なものに、
セキュリティホール悪用型ワームが感染先探索のために行
きないため、対応できないといった問題がある。
うポートスキャンがあげられる。通常は、短時間に多くの
仮想的にプログラムを実行して検知
ダイナミックヒューリスティック法
IPアドレスに対してアクセスを行うことはないので、その
ようなポートスキャンの行為をワームの活動であると判断
することができる。実際の製品を例に取ると、フォアスカ
ダイナミックヒューリスティック法は、プログラムを
ウト・テクノロジーズの「WormScout」は、存在しないホス
仮想的に実行させてそのふるまいを確認し、ウイルスや
トや使用されていないポートに対してアクセスを行うもの
ワームを検知する。この方式では、スタティックヒュー
をワームであると判断して検知する仕組みを持っている。
リスティック法とは異なり、ウイルスプログラムを実行
させるので、ポリモーフィック型のようにプログラムが
プロトコル仕様の違反を監視
プロトコルアノマリ法
暗号化されていても問題なく検知できる。
この方法では、あくまで仮想的にプログラムを実行させ
るので、ビヘイビアブロッキング法のように、実際のリソ
プロトコルアノマリ法は、ネットワーク上のパケット
ースに被害を与えることはない。ただし、プログラムを仮
を監視し、プロトコルの仕様に違反しているアクセスを
検知システム
ワームの
動作ル ール
検知システム
ワーム特有の動作をしていないかをチェック
ワーム感染端末
プロトコル仕様に適合しているかどうかをチェック
プロトコル
仕様
ワーム感染端末
DMZ
ネットワーク上のパケットの流れ
図3● ネットワークビヘイビア法は、ネットワーク上に流れるパケットの内容を解析し、ワ
ーム特有の動作を検知する
142
NETWORKWORLD
Jan 2005
ネットワーク上のパケットの流れ
図4● プロトコルアノマリ法は、ネットワーク上に流れるパケットの内容を解析し、プロト
コルの仕様に違反している不正なアクセスを検知する
ウイルス
ワーム の
検知する(図4)
。これにより、バッファオーバーフローな
どのセキュリティホールを悪用して侵入するタイプのワ
ームの攻撃を検知し、遮断することが可能となる。
アンチウイルスソフトでも
ヒューリスティック技術を実装
多くのアンチウイルスソフトでは、すでにヒューリス
ティック技術が実装されている。
例えば、シマンテックは「Bloodhound技術」と呼ばれる
画面1● Norton AntiVirus 2004のBloodhoundウイルス検出技術
の設定画面
ヒューリスティック技術を開発し、同社のアンチウイルス
ソフトである「Norton AntiVirus」
「Symantec AntiVirus」
などに搭載している。画面1は、
「Norton AntiVirus 2004」
のオプション設定画面である。ここで、
「Bloodhoundウイ
ルス検出技術を有効にする」がチェックされていれば、ヒ
ューリスティック技術が有効になっている。検出のレベル
もここで変更することが可能だ。このBloodhound技術に
よって検出された場合は、
「Bloodhound.***」という検出名
のアラームが生成される。
「マカフィー・ウイルススキャン2004」でもオプション
画面2● McAfee VirusScan 2004のヒューリスティックスキャ
ンの設定画面
設定で画面2のようになっていれば、ヒューリスティック
もし、ヒューリスティック法により新種のウイルス/
スキャンが有効になっている。このヒューリスティック
ワームが検知された場合は、まず、ウイルス定義ファイ
スキャンによって検出された場合は「New Worm」や
ルを最新のものにアップデートし、パターンマッチング
「New Win32」のような検出名のアラームが生成される。
法で検知されるかどうかを試すことをお勧めする。それ
また、
トレンドマイクロの「ウイルスバスター2004」に
が新種のウイルス/ワームであり、最新のウイルス定義
も、ファイル感染型ウイルスに対応した「WinTrap機能」
、
ファイルで対応しているものであれば、これで検知する
ワームに対応した「WormTrap機能」というヒューリステ
ことができる。一方、検知されない場合は、正規のプロ
ィック技術が実装されている。利用中に「possible_virus」
グラムが誤って検知された可能性がある。この場合は、
というアラームが発生したら、それはヒューリスティック
該当するファイルを使用しているアプリケーションの開
技術によって検出されたものである。
発元に問い合わせるか、アンチウイルスベンダーに該当
するファイルを送信して調査してもらうとよい。もしか
未知のウイルス/ワームは
慎重に対処する必要がある
すると、それが世界で初めて発見される新種のウイル
ス/ワームである可能性もあるからだ。
次回は、最近ウイルスやワームと同様に大きな問題とな
これまでに解説した方式によって、ステルス型や、未
っているスパイウェアとその対策について解説する。
知のウイルス/ワームを検知することができる。しかし
未知のものについては、検知されたものが確実にウイル
● 著 者 よ り 一 言 ●
NTTデータ
ス/ワームであるという保証はなく、ウイルスやワーム
と似たふるまいをする正規のプログラムである可能性も
馬場達也
今回はステルス型ウイルス/ワームについて紹介しましたが、これ
ある。したがって、ユーザーは、検知されたプログラム
らに対応した新たな検知法が普及すると、また新たな機能を持った
を削除する前に、それがほんとうにウイルスやワームで
ウイルス/ワームが出現するのでしょうね。ほんとうにこの世界は
あるのかどうかを確認する必要がある。
いたちごっこです。
NETWORKWORLD
Jan 2005 143