セキュリティ用語集:ヒューリスティック検知
ヒューリスティック検知とは?
セキュリティソフトにおける検知方法のひとつ
セキュリティソフトにおける不正ソフトウェア検知方法のひとつ。プログラムの挙動から不正ソフトウェアを検知し、パターンマッチング方式の欠点を補います。ヒューリスティックは「発見的」と訳される英単語(Heuristic)で、時間のかかる確実さよりも、経験則などに基づき、ある程度のレベルで正解に近いものを見つける方法のことです。
セキュリティソフトでは、不正ソフトウェアの検知にパターンマッチング方式を用いるのが基本となっています。これは、すでに見つかっている不正ソフトウェアごとに特徴的となるプログラムの断片を定義ファイル(パターンファイル)として集めておき、セキュリティソフトはコンピュータ内のファイルの中にそれに適合(マッチング)するものがあるかどうかで不正ソフトウェアを見つける方法です。
パターンマッチング方式との違い
この方法は非常に高い精度で不正ソフトを検知できるという利点がありますが、その反面、特徴がわからない不正ソフトウェア、つまりまだ見つかっていない不正ソフトウェアを見つけることができないという欠点があります。また、不正ソフトウェアを見つけてから、特徴を見つけ出し、それを定義ファイルに反映させ、ユーザーに配布が行き渡るまでに時間もかかってしまうため、その間に被害が広がってしまう可能性もあります。
こうしたパターンマッチング方式の欠点を補うのがヒューリスティック検知です。不正ソフトウェアは、コンピュータ内のプログラムファイルを検索して、そのプログラムファイルを開いて、不正なプログラムをその中に書き込み、プログラムファイルを閉じるという動作をするのが一般的です。ヒューリスティック検知では、こうした不審な動作をするソフトウェアを不正ソフトウェアの疑いがあると検知するというのが大まかな仕組みです。
ヒューリスティック検知の長所と短所
ソフトウェアの動作で不正ソフトウェアかどうかを検知するため、パターンマッチング方式では見つけることができない未知の不正ソフトウェアでも見つけられる点がヒューリスティック検知の長所です。ただし、不審な動作をしているからといって、必ず不正ソフトウェアとは限りません。そのため、問題のないソフトウェアでも、似たような動作をするものを不正ソフトウェアとしてしまう可能性がある点が欠点となります。
そのため、多くのセキュリティソフトではパターンマッチング方式とヒューリスティック検知の両方を組み合わせることで、それぞれの欠点を補い、より精度の高い不正ソフトウェアの検知を行うようにしています。
また、ヒューリスティック検知の手法は、URLフィルタリングにも利用されています。フィルタリング対象となるURLをブラックリストとして集めていてもURLが偽造されていた場合、フィルタリングするのが困難となります。そうしたケースにもヒューリスティック検知を用いて、Webサイトのコンテンツのソース解析を行うのが有効となります。
インタネットサギウォールでは、ヒューリスティックエンジン+ブラックリストのダブルチェックを行っています。詳しくはこちらから