ヒューリスティック検知とは?他の方式との違いやメリットデメリットについて徹底解説|サイバーセキュリティ.com

ヒューリスティック検知とは?他の方式との違いやメリットデメリットについて徹底解説



安全なインターネットライフの脅威の一つに「マルウェア」があります。もしパソコンがマルウェアに感染してしまったら、パソコンに保存されている個人情報が流出したり、ネットバンクに不正アクセスされて金銭的被害にあったり、最悪の場合、パソコンが起動しなくなったりすることもあります。

このようなマルウェアからパソコンを守ってくれるのがセキュリティ対策ソフトです。セキュリティ対策ソフトには、いくつかのマルウェアの検知方法が実装されています。その中でも「ヒューリスティック検知」は、疑わしいソフトウェアを実行することなく検査でき、未知のウィルスに対しても効果的な検知方法です。

今回はヒューリスティック検知について、他の方式との違いや、メリット・デメリットについて解説します。

ヒューリスティック検知とは

ヒューリスティック検知とはセキュリティ対策ソフトの検知方法の一つです。

セキュリティ対策ソフトの検知方法としては「パターンマッチング」が有名ですが、ヒューリスティック検知はパターンマッチング以外の検知方法”全般”を指しています。マルウェアに特有のパターンを照合するのではなく、マルウェアの特徴的な動きの有無を調べる手法であり、未知のマルウェアなどにも対応できる検知方法です。

ヒューリスティック検知はパターンを必要としないので、検出できるマルウェアは多いのですが、まれに誤検出することもあります。そのため多くのセキュリティ対策ソフトでは、パターンマッチングとヒューリスティック検知を併用してマルウェアを検出しています。

ちなみにヒューリスティックという言葉は「必ず正しい答えを導けるわけではないが、ある程度のレベルで正解に近い解を得ることができる方法」という意味です。経験や試行錯誤を通じて正解を求めていく手法のことであり、心理学などでも使われている言葉です。

ヒューリスティック検知の方法

ヒューリスティック検知は主に「静的ヒューリスティック検知」と「動的ヒューリスティック検知」の2つに分類できます。広い意味でのヒューリスティック検知は、検査対象のファイルの動作を見て、マルウェアかどうか判断する方法です。

静的ヒューリスティック検知

静的ヒューリスティック検知は狭い意味でのヒューリスティック検知と言われることもあり、実際にプログラムを動作させて動きを調べる、動的ヒューリスティック検知とは区別されます。

静的ヒューリスティック検知は、実際にプログラムを動作させることはありません。プログラムに記述されている「動作」を読み取りマルウェアかどうか判断する方法です。このような性質のため、機能としてはパターンマッチングの一部と考えることもあります。

動的ヒューリスティック検知

一方で動的ヒューリスティック検知は、安全な環境で実際にプログラムを動作させて、「動作」を見ることでマルウェアかどうか判断します。

ヒューリスティック検知とパターンマッチング方式の違い

多くのセキュリティ対策ソフトで用いられている「パターンマッチング方式」と「ヒューリスティック検知」の違いは何でしょうか。

パターンマッチング方式は未知のマルウェア検出に向いていない

パターンマッチングとは、あらかじめ用意された定義ファイルと、検査対象のファイルを比較して、ファイル内に特定のパターンが存在していたら、マルウェアとして判断する方法です。つまりあらかじめ定義されているパターンと比較することで検知する手法であるため、未知のマルウェアの検出には向いていません。

ヒューリスティック検知では未知のマルウェアも検出可能

一方、ヒューリスティック検知では、まだパターンが登録されていない未知のマルウェアの検出もできます。マルウェアの特徴は、パソコンのシステムのファイルに不正なコードを書き込もうとしたり、重要なファイルを削除しようとしたりする特徴があります。

ヒューリスティック検知では、このような不審な動作を行おうとしているプログラムを検知できます。つまりプログラムの「動作」に注目しているため、たとえ未知のマルウェアであっても、検出できるというわけです。

ヒューリスティック検知と振る舞い検知の違い

ヒューリスティック検知は「静的ヒューリスティック検知」と「動的ヒューリスティック検知」の2つに分類できると解説しました。一般的に言われる「振る舞い検知」とは後者の「動的ヒューリスティック検知」のことを指します。

セキュリティ対策ソフトは怪しいプログラムを検出するために、まず静的ヒューリスティック検知を試みます。そこで「どうも怪しいけどマルウェアとは言い切れない」プログラムに対して、次に動的ヒューリスティック検知を行います。

動的ヒューリスティック検知は実際にプログラムを動作させますが、パソコン上でそのまま起動するわけではありません。通常「サンドボックス」と呼ばれる安全な仮想環境を構築して、その中で対象のプログラムを起動して動作を確認します。

動的ヒューリスティック検知は、検査対象のプログラムがサンドボックス上で、別のファイルを書き換えようとしたり、ファイルを削除しようとしたりしないか調査します。このような動作はマルウェアの特徴的な動きです。そのような怪しい動作が確認されたら、セキュリティ対策ソフトは、検知対象のプログラムはマルウェアであると判断します。

つまり動的ヒューリスティック検知は、静的ヒューリスティック検知を補完するような形で機能します。すべてのプログラムに対して動的ヒューリスティック検知を行えば、検出の精度はあがりますが、パソコンに対する負荷が高くなるため、このような方式を採用しているわけです。

ヒューリスティック検知のメリット

ヒューリスティック検知のメリットは、パターンマッチングでは検出できない未知のマルウェアを検出できる点があげられます。

現在、マルウェアの数は亜種も含めて爆発的に増加しています。この背景には、マルウェアの作成ツールなどが出回っていて、高度な知識を持たない者でも、簡単にマルウェアやその亜種を開発できるという現状があります。つまり、予めマルウェアのパターンを登録して比較することで検出する、パターンマッチング方式での検知では、マルウェアの検出手段としては不十分なのです。

しかし不正な活動そのものを調査したり、動作を確認したりできるヒューリスティック検知を導入すれば、未知のマルウェアに対しても有効には働きます。これは「これから発生する可能性のあるマルウェア」に対応する方法と言えます。

ヒューリスティック検知のデメリット

万能に思えるヒューリスティック検知にもデメリットはあります。それは場合によっては、正常なプログラムも不正なプログラムであると誤検出されてしまう可能性がある点です。これは動作を読み取ったり、実際に動作させて振る舞いを調査したりするヒューリスティック検知の弱点とも言えます。

しかし最近のセキュリティ対策ソフトではジェネリック検出など新しい方式の検出方法も実装されており、誤検出の頻度は、以前より減ってきています。

プログラムが難読化されている場合も、ヒューリスティック検知がうまく動作しないことがあります。悪意のあるマルウェアはセキュリティ対策ソフトによる検出を回避しようとするため、プログラムを難読化されているケースがあるのです。

まとめ

マルウェアのような悪意のあるプログラムからの攻撃と、それからコンピュータを守るセキュリティ対策ソフトの開発は、いたちごっこであるとよく言われます。安全にインターネットを使うためには、一般のユーザーも必要最低限の知識と、パソコンにセキュリティ対策ソフトを導入することは、もはや当たり前となっています。

セキュリティ対策ソフトを開発しているメーカーは数多くありますが、どのメーカーも、ユーザーが安心してパソコンやインターネットを使うことができるように、日々プログラムの開発と改善に努めています。これからもマルウェアに怯えることなく、パソコンやインターネットを安心して使えるように、セキュリティ対策ソフトの継続的な改善と更新に期待しています。


SNSでもご購読できます。