ウイルス検出技術
トレンドマイクロのウイルス対策ソフトには、ウイルスを検出するためのさまざまな技術が搭載されています。これらの技術を使ってコンピュータに侵入しようとするウイルスを検出し、感染を防いでいます。
ウイルス検出は基本的に、、検索エンジン(ウイルスを検出するためのプログラム)とパターンファイル(ウイルスの特徴を集めたデータベース)の組み合わせで行います。
※ トレンドマイクロ製品ではActiveUpdateという仕組みによって、検索エンジンおよびパターンファイルを製品のなかで自動的にダウンロードできます。
検索エンジンとは
検索エンジン概要
ウイルス検出は基本的に、検索エンジン(ウイルスを検出するためのプログラム)とパターンファイル(ウイルスの特徴を集めたデータベース)の組み合わせで行います。新種のウイルスが発見された場合、トレンドマイクロの研究所(TrendLab)では収集した新種ウイルスを解析し、その特徴をパターンファイルに収録してウイルス対策ソフトへ配信します。その後、検索エンジンは新しいパターンファイルを使い、ウイルスの特徴と検索した結果を比較して新種のウイルスを検出します。(パターンマッチング)
まったく新しい、または従来と大きく異なる手法などによる新種ウイルスの場合、パターンマッチング用のパターンファイルがリリースされるまでの間、十分なウイルス防御ができない場合があります。(第1図)
トレンドマイクロでは、検索エンジンに新種亜種を検知できるヒュリステック機能を常に研究開発し、検索エンジンを定期的にバージョンアップしています。そのため、パターンファイルのみではなく、検索エンジンの更新も常に行っていく必要があるのです。
※ 多くのトレンドマイクロ製品では自動更新機能によって、検索エンジンおよびパターンファイルを自動的にダウンロードして、常に最新のセキュリティ対策ができます。
検索エンジンの主な機能
検索エンジンは、大きく分けて次の4つの機能を持っています。
1, 検索機能
ウイルスを検出するための機能。ファイルを解析することにより、単純なバイナリデータへ展開、パターンやルールと照合するなどウイルス検出のコア(Heuristic Scanning Technologyと呼ばれる)部分。
2,フィルタ機能(拡張子およびデータのタイプ別)
ファイルを識別することにより、パフォーマンスに貢献
3,リソースの管理機能
一度検索したファイルの処理や他のアプリケーションソフトとの兼ね合いを管理
4,decode/decompress機能
ファイルの展開および圧縮ファイルの解凍
検索エンジンの働き
1,ウイルスがどんな拡張子に潜んでいるか指定して、展開、スキャン実行
※圧縮ファイルは20階層まで検索可能
※ドキュメントの埋め込みも20階層まで検索可能
※暗号化されたウイルスやポリモーフィック型ウイルス(ミューテーション型ウイルス)に対してはSoftmice技術で確保されたメモリ内で実行後検索
2,展開されたファイルにウイルスコードが入っているかパターンファイルと照合
※パターンファイル照合で発見されたウイルスはそれぞれの名称で検出
3,パターンファイルで照合しない場合は行動を解析、ルールと照合
※ルール照合で発見されたウイルスは下記の名称で検出
例)Boot_Generic、W97M_Generic、WM_Generic、X97_Generic、VBS_generic、 JS_Generic.....
ウイルスの検知方法
ウイルス検索方法は、大きく分けると下記の2つになります。
- パターンマッチング方式
(パターンファイルにあるウイルスの特徴とプログラムコードを照合、ウイルス名称をあげて検知) - ルールベース方式
(プログラムの動きを解析し、登録したルールと照合、変種/亜種ウイルス※として検知 )
※ トレンドマイクロではパターンファイル以外で発見したウイルスを「未知ウイルス」ではなく「変種/亜種ウイルス」として説明しています。これは、全くの新種ウイルスまで検知できるような誤解を招くことがないようにとの配慮からです。
1. パターンマッチング方式
パターンマッチング方式は、ウイルスコード(ウイルスプログラム)内の特徴的な部分を「パターン」として取り出してデータベース化しておき、それを検索対象のファイル内容と照合(マッチング)する方法です。同じコードを持っていた場合、そのファイルはウイルスであると特定します。
新種ウイルスが発見されるたびに、解析技術者はウイルスを解析し、識別用のパターンを抽出してデータベース(=パターンファイル)に追加登録します。
検索プログラムはパターンファイルを参照しながら、検査対象ファイル内に登録されたウイルス識別用パターンがないかどうかを調べます。該当するパターンがあれば感染ファイルであることを警告し、なければプログラムを終了します。ファイル以外にシステム領域(ブートセクタ、パーティションテーブル)の検索も可能です。
この方式の問題点は、検索ソフトのパターンファイルに登録されていないものはウイルスとして検出できないことです。そのため、常に新しいパターンファイルを更新していく必要があります。また、解析されていない新種のウイルスに対しても効果がありません。
2. ルールベース方式
ルールベース方式は、ウイルスの活動を分析して「ルール化」しておき、プログラムの動作を監視し、「ルール」と合致する動作をするプログラムをウイルスとして判定する方法です。「ルール」に則ってウイルス検出を行うので「ルールベース」と呼ばれています。
代表的なものに
- MacroTrap
- スクリプトトラップ
- ブートトラップ
- ファイルトラップ
- メモリトラップ
があります。
※ファイルトラップ、メモリトラップについてはDOS時代の技術でWindows 95以降は適用されていません。しかし変種/亜種への対応のため、再びWindows上での対応を目指して研究開発中です。
ルールベース方式は、解析済みのウイルスばかりではなく、解析が済んでいないウイルスに対しても有効です。また、ウイルスが感染発病活動を行う前に、その活動を未然に防ぐことができます。
この方式の問題点は、本当にウイルスかどうかの確認が難しいことです。ウイルスに似た活動をするけれども、実際には正規のアプリケーションということもあり得ます。そのため、実際にはルールベース方式のみでウイルスだと断定することはなく、他の方式と組み合わせてウイルス検出を行います。
MacroTrap
変種/亜種マクロウイルスを検出する方法です。Officeアプリケーションのマクロの中でもWord、 Excelに対して有効です。標準テンプレートへのマクロのコピー、スタートアップフォルダへのテンプレート作成など、マクロウイルス特有の活動を監視し、登録されているルールに合致する不信な動きをした場合、マクロウイルスと判定します。
トレンドマイクロはこの技術で米国特許を取得しています。
スクリプトトラップ
スクリプト言語で記述された不正プログラム(不正スクリプト)の変種/亜種をルールに基づいて検出します。対応しているスクリプト言語は次のとおりです。
- VBS:Visual Basic Scriptで記述されたウイルス
- JS:JavaScript(オブジェクト指向スクリプト言語)で記述されたウイルス
上記の種類の不正スクリプトについて単体ファイル、もしくはHTMLに埋め込まれた状態で変種/亜種を検出します。
ブートトラップ
ディスクのシステム領域(ブートセクタやパーテションテーブル)を監視し、不正な書き込みがあった場合に警告を出します。システム作動後とシステム起動時にはそれぞれ異なった働きをします。
システム作動後
- ブートセクタの不正書き込みの監視
- リアルタイムにウイルスのコードの検出
システム起動時
- システムブート時にトレースバックを行いシステムの異常を検出する。
- システム起動時にオリジナルのブート領域と現在のブート情報を比較し異常を発見する。
ファイルトラップ
ファイルが開かれたときに監視を始め、閉じられるまで監視を続けます。ファイルを閉じたときに開いたときと内容が変わっている場合、それがウイルスであればファイルを閉じずに回避し、システムを保護します。
メモリトラップ
ウイルスの中には自分の姿をごまかすため、メモリ上に不正に常駐しようとするものがあります。そのような不正な常駐に対して警告を出します。





