Technology

テクノロジー

検出技術3:振る舞い検知と検出のタイミング

岡本勝之
2009年10月21日 / 11:00
 
 
パターンマッチング方式の短所を補う対策として、多くの方法が考えられてきました。例えば前回に紹介したヒューリスティック検出が挙げられますが、「振る舞い検知」もその一つです。振る舞い検知はプログラムの活動内容からその不正性を判断する方式であり、トレンドマイクロ製品では不正変更の監視、不審ソフトウェア警戒システム、スパイウェアトラップなどの振る舞い検知技術を実装しています。

■ウイルス検出手法の違い
振る舞い検知の基本的な着眼点は「ヒューリスティック検出」と似ており、プログラムの活動内容で不正性を判断します。ただ、検出するアプローチが異なり、ヒューリスティック検出の「ホワイトボックス手法」に対して、「ブラックボックス手法」を用います。ホワイトボックス手法とは箱を開けて中を見て判断する方法で、ブラックボックス手法とは箱は開けずにアウトプットを見て判断する方法です。

ヒューリスティック検出のホワイトボックス手法はプログラムのコードに対して仮想的にエミュレートを行い不正な活動を判定する手法ですので、プログラムという箱を開け、中身であるコードを解析して判定する手法だといえます。

一方、振る舞い検知は、システム中で実行中のプログラムの動きを監視し、実際に行われた活動から警告を行います。プログラムという箱を開けずに実際に行われた活動から判定するブラックボックス手法です。

例えば、不正プログラムの中にはネットワークの名前解決のための設定ファイルである HOSTS ファイルを書き換える活動を持つものがあります。ヒューリスティック検出ではプログラムコードを解析し、HOSTS ファイルを一般的でない方法で改変するコードが含まれている場合に「不正の疑いあり」、として警告します。これに対し振る舞い検知ではシステムの状態を監視し、HOSTS ファイルが改変された場合にその改変を行ったプログラムを「不正の疑いあり」として警告します。

■振る舞い検知の警告システム
振る舞い検知による警告は厳格なものではありません。あるシステム上の変更が正当なものであるかどうかの確認をユーザーに促すために警告が行われます。したがって、基本的な振る舞い検知では警告されたプログラムの活動が不正なものであるかどうかについては、ユーザーの判断が必要となります。

先ほど例に上げた HOSTS ファイルの改変のケースで説明します。ユーザーが何らかのプログラムを実行したと意識していないタイミングで警告が出たのであれば、不正な活動である可能性が高いと考えられます。この際には、変更を無効にした方が安全でしょう。逆にユーザーが実行したプログラムが何らかのアプリケーションのインストーラであり、「HOSTS ファイルを変更しますか?」というメッセージに対してユーザーが OK したことによって HOSTS ファイルが変更されたというタイミングであれば、これは全く問題ないと判断できます。このようにユーザーが意識した変更であるかどうかによって不正かどうかは変わってくるのです。

振る舞い検知の警告はヒューリスティック検出と比べてもより曖昧な警告であるため、この検知方式は補助的に使用されてきました。振る舞い検知の警告ではユーザーの判断の助けになるように、変更を行ったプログラムの情報と警告自体の危険性評価を表示する場合が多いようです。

警告メッセージについても、あまり警告が煩雑になると正確な判断が妨げられる要因になるため、トレンドマイクロでは不正なプログラムではないと確認されたプログラムには警告を行わないようにする NFC(ノーマルファイルチェッカー)という機能を併せて実装しています。これは、例えば Windows のシステムファイルのような明らかに不正ではないと判明しているプログラムファイルを登録しておくデータベースです。また、いったんユーザーが不正ではないと判断したものについても次回から警告しないように判断を学習する機能も備えています。

■検出のタイミング:「マニュアル」と「リアルタイム」
次に、検出を行うタイミングについて説明します。パターンマッチング検出、ヒューリスティック検出、振る舞い検知と主要な不正プログラム検知技術を紹介してきましたが、検出タイミングは不正プログラムの活動阻止に重要な条件です。パターンマッチング検出とヒューリスティック検出では、「マニュアル検索」と「リアルタイム検索」の2つのタイミングがあります。

マニュアル検索は手動検索とも呼ばれ、名前の通りユーザーの指示があったタイミングで検索を行う方法です。マニュアル検索ではユーザーが検索範囲を指定します。例えば検索対象がマイコンピュータ内のすべてのファイルだった場合、メインプログラムはすべてのフォルダ、サブフォルダにあるファイルを探して1つずつ検索エンジンに渡していきます。マニュアル検索では、検索を実行した時点で存在したファイルに対してのみ検索が行われ、検索後に持ち込まれたファイルについてはなんら関知されません。

一方、リアルタイム検索はファイルアクセスがあったタイミングで検索を行う方式です。メインプログラムはファイルシステムを監視し、ファイルアクセスがあった場合に割り込みを行い、アクセスされたファイルをウイルス検索エンジンに渡して検索させます。例えば、ユーザーがあるファイルをダブルクリックした場合、ファイルシステム上では読み出しが行われます。メインプログラムは読み出し前に実行されたファイルを横取りし検索エンジンに渡します。この仕組みによりシステムは常に監視され、ファイル実行前にウイルス検索が行えます。この際、実行されたプログラムが不正プログラムと判定された場合にはファイルの実行自体を中止させることが可能です。リアルタイム監視で適切な処置を行えば、不正と判定されたプログラムは実行されませんので非常に効果の高い防御が実現できます。

理論上はリアルタイム検索が完全に行われていれば不正プログラムがシステムに入り込む余地はありません。しかし、実際にはその時点でのパターンファイルで対応していない不正プログラムが入り込んでしまう可能性があります。そのため、予約検索という形で定期的にマニュアル検索を行うことが望ましいといえるでしょう。

記事提供:トレンドマイクロ

【関連記事】
人気のある有料セキュリティソフトは「トレンドマイクロ」「シマンテック」「マカフィー」
統計数理研究所が10Gbps ファイアウォール想定し FortiGate 採用
RSA が「トロイの木馬対策サービス」の提供を開始
「autorun.inf」には引続き注意が必要―マカフィーのサイバー脅威報告
日本プルーフポイントがメールセキュリティ・DLP 製品「Proofpoint 6」を発表

New Topics

Special Ad

ゆりかごからロケットまで、すべての乗り物をエンジョイ
ゆりかごからロケットまで、すべての乗り物をエンジョイ えん乗り」は、ゆりかごからロケットまで、すべての乗り物をエンジョイする、ニュース、コラム、動画などをお届けします! てんこ盛りをエンジョイするのは こちらから

Hot Topics

IT Job

Interviews / Specials

Popular

Access Ranking

Partner Sites