ESET TECHNOLOGY

ESETのテクノロジー | ESETのソリューションに搭載されているテクノロジーについて解説

ヒューリスティック「基礎編」 未知のウイルスも検出して駆除するESETのヒューリスティック機能

この記事をシェア

拡大するサイバー空間の脅威にどう対処してくべきか。多くの企業のセキュリティ管理者の頭を悩ませている問題だ。マルウェアに関しては、従来型の「ウイルス定義データベースによる対策」だけでは、もはや十分とはいえない。今、求められているのは、急増が予測される「未知の脅威」への対策だ。その切り札ともされる「ヒューリスティック機能」の基礎、ヒューリスティック機能のパイオニアとしてESETの取り組みや実績について解説する。

指数関数的に増加している新種のマルウェア

アンチウイルスベンダーでは、定期的にマルウェアの検出数を発表している。しかし、ここ数年、マルウェア検出件数が指数関数的に増えている。そしてアンチウイルスベンダーもその対応に追われてきた。

10年前ならば、アンチウイルスベンダーが対処する新種のマルウェアは1日にひと桁程度だった。これなら人手で解析し、対処することができたが、現在は1日あたり数万とも数十万ともされている。こうなると人手で対処するのは不可能だ。どうしてこれほどまでに膨大な数のマルウェアが開発されるような状況になったのだろうか? これは、アンチウイルス製品の検知から逃れようとするマルウェア作成者側の「策略」なのだ。

古典的なアンチウイルス製品は、「指名手配リスト」を使って検出する

古典的なアンチウイルス製品では、マルウェアを「ウイルス定義データベース」を利用して検出する。ウイルス定義データベースとは、マルウェアの定義(シグネチャ)、つまり「どういうウイルスなのか」を記したデータベースで、いわば「指名手配リスト」だ。「シグネチャファイル」「ウイルスパターンファイル」とも呼ばれている。既知のマルウェアを「指名手配リスト」としてあらかじめ登録しておき、ファイルが「指名手配リスト」に該当するか否かを、セキュリティソフトがチェックしてマルウェアを見つけ出すという仕組みだ。

例えば、アンチウイルスベンダーでは、新種のマルウェアが登場すると、そのマルウェアを解析し、ウイルス定義データベースへ情報を追加する。定義として追加されるデータは、マルウェアをもとに作成した固有の「ハッシュ値」の場合もあるし、「特定のコード」や「特定の振る舞い」の場合もある。セキュリティ対策ソフトの多くは、特にハッシュ値を活用しており、値が同じであれば「クロ」、つまり「マルウェアである」と判断しているというわけだ。

この方法の利点は、誤検出の少なさだ。あるファイルが、ハッシュ値を含んでいればマルウェアと判断できる。ハッシュ値が異なれば、マルウェアとは認識しない。誤検出する可能性も低いので、シグネチャで判定するこの方式は、マルウェア判断方法として古くから活用されている。

図:ウイルス定義データベースによる検出方法

爆発的に増える新種マルウェアに、指名手配リストだけで対抗するのは限界

ハッシュ値を利用する方法は誤検出が少ないといったメリットがある反面、膨大な数のマルウェアが登場すれば、その分だけシグネチャを用意しなければならない。シグネチャは、アンチウイルスベンダーが検体(≒マルウェア本体)を入手し、そのハッシュ値を解析してマルウェアと判断したのちに作成される。そのため、新種のマルウェアに対応するには、どうしても受け身にならざるを得ない。

さらにシグネチャが持つハッシュ値に合致さえしなければ、マルウェアと判定されることから逃れられる。だからこそマルウェア作成者側は、ちょっとだけファイルの内容を変えた大量の亜種を作成し続けるのだ。

最近は、同じURLからマルウェアをダウンロードしたとしても、毎回ハッシュ値の異なる亜種が配布されるなど、シグネチャの作成を逃れようとした巧妙な攻撃もある。新しい定義データベースが配布される前に、マルウェアを実行してしまえば、感染を予防できない。

つまり、事前に用意した「指名手配リスト」で対処するという「リアクティブ(事後対応)なウイルス対策」は、マルウェアを確実に判断できるというメリットがある反面、未知のマルウェアに弱い側面があるのだ。

しかも、マルウェアが増えれば、それに比例してハッシュ値も増え、ウイルス定義データベースに情報を追加しなければならない。結果として巨大に膨らんだウイルス定義データベースは、パソコンの動作を重くし、オフィスのネットワーク負荷を高める要因にもなる。

図:巨大になったウイルス定義データベースの問題点

未知のマルウェアも判定可能な「プロアクティブな対策方法」

マルウェアもコンピュータ上で動作するプログラムであり、ゼロから作るには手間も時間もかかる。新種のマルウェアが次々に登場しているとはいえ、実は、マルウェアの作成手法が爆発的に増えたわけではない。そこでマルウェアの特徴そのものに焦点を当てた検出方法がある。

現実世界での防犯対策を考えてみよう。犯罪者を見つけるには「指名手配リスト」だけが有用な対策だろうか? もちろん、そのようなことはない。たとえば普段見慣れない人がウロウロしているとか、帽子やサングラス、マスクで顔をわからないように隠しているとか、「アヤシイ人」にはいくつかの特徴的なパターンがある。

不正行為に用いられるマルウェアにも、一般的なプログラムにはない特徴的な行動がある。これに注目したマルウェア対策が「プロアクティブ(事前対応)なマルウェア対策」だ。つまり、「今後発生する可能性があるウイルス」に対応するための対策である。

プロアクティブな手法のひとつが「ヒューリスティック機能」だ。ヒューリスティックとは、本来、「シミュレーション学」で用いられてきた手法で、「確実な正解が得られるわけではないが、ある程度のレベルで正解と言える結果が得られる近似アルゴリズム」という意味だ。簡単にいえば「大体は合っている」という判断でマルウェアを検出するやり方と思ってほしい。この手法により、解に到達する(検出が完了する)までの速度が劇的に速くなる。

マルウェアの特徴から検出するヒューリスティック機能

アンチウイルスソフトにおける「ヒューリスティック」は、ハッシュ値ではなく、マルウェアの挙動などを捉えて検出する技術だ。3つの観点でチェックし、挙動などマルウェアの特徴に合致すれば、定義データベースにない未知のマルウェアも検出できる。

昨今、プログラミングの知識がなくても大量の亜種を生み出すことができる「マルウェア作成ツール」が闇市場で取引されており、亜種を大量生産することでウイルス定義データベースによる検出から逃れようとする動きが加速している。しかし、特徴で検出する「ヒューリスティック」を利用すれば、そうした亜種も逃さず検出できるわけだ。

今日のマルウェアは、OSやアプリケーションの脆弱性を悪用することも多く、ヒューリスティック機能を使えば、そうした悪意あるプログラムを検出できる場合もある (ただし、完全に検出できる保証はないので、セキュリティパッチにより脆弱性を修正しておくべきだ)。

図:ヒューリスティックエンジンの3つの観点

ESETが取り組んできたヒューリスティックの歴史と評価

ESETは、このヒューリスティック機能のパイオニアである。プログラムを開発したのは、1992年だから、20年以上の歴史を持っている。そして、検出率をさらに向上すべく機能を拡張してきた。

【ESETのヒューリスティック機能の歴史】

1992年 Self Mutation Engine(MtE、自己変異)を100%検出/除去可能なプログラムを開発
1993年 MS-DOS版のコードエミュレータを完成し、ヒューリステックエンジンを 製品に組み込む
1998年 32ビット版を完成し、Windows版を出荷開始

ESETのアンチウイルス製品は、ヒューリスティックとウイルス定義データベースの、2つの手法を効率よく組み合わせて検出率を高めている。実際に、未知のマルウェアをヒューリスティック機能で検出した例も少なくない。以下の例は、従来のウイルス定義データベースだけの検出では見逃していた例である。

【ESETのヒューリスティック機能によって発見された脅威の一例】

2011年9月
Win32/Mabezat
  • ポリモーフィック型ウイルス
  • ファイルを暗号化
Win32/Boberog
  • インスタントメッセンジャー ネットワークを経由し感染を拡大するワーム
  • マルウェアを配布しているサーバーに接続
Win32/Tifaut
  • バックドアを仕掛けるワーム
  • レジストリの改ざん
  • TeaTimer.exe/cmd.exe/net.exeの終了
Win32/Induc.C
  • Delphiのコンパイル時に感染するウイルス
  • インターネット上のサーバーからコントロール
2012年3月
Win32/Georbot

米国ジョージア州で感染が拡大したトロイの木馬
感染したPCの証明書、音声やビデオの録音結果を盗み出す

2012年6月
ACAD/Medre

AutoCADで使用されるファイルに感染するワーム
AutoCAD(*.dwg)ファイルを収集し、収集した情報をインターネット上のサーバーに送信

またESET製品は、数多くの第三者機関の調査でも何度もトップの成績を上げるなど、高い評価を得ている。特に、何年間にも渡り複数回受賞していることが、ESET製品がその品質、性能を継続して維持していることの証明といえるだろう。

膨大なマルウェアが登場している今日、もはやウイルス定義データベースのみで対応するのは困難で、未知のマルウェアへ対応できるヒューリスティック機能の重要性は日々増している。

ヒューリスティック「技術編」ではヒューリスティックに早くから着目しつつ、古くからヒューリスティック技術を核とし、年々プログラムを磨き上げているベンダーであるESETを例にとり、実際のヒューリスティック検出の具体的な内容について解説したい。

なお、ヒューリスティック技術を採用したESETの製品の特長は、こちらを参照していただきたい。

この記事をシェア

業務PCのセキュリティ対策に

マルウェア情報局の
最新情報をチェック!