知らなきゃ損するウイルス対策|ウイルスを検知する仕組み

セキュリティ対策

知らなきゃ損するセキュリティ対策

ウイルス対策ソフトは、PCやスマートフォンがウイルスに感染するのを防ぎます。

ウイルスこのソフトは様々な機能や仕組みを持っており、これらによってウイルスを検知しています。

少しでも知識があれば、ウイルス対策ソフトを選ぶときの助けになるかもしれません。

ウイルス対策ソフトの機能

知らなきゃ損するウイルス対策|ウイルスを検知する仕組み

一般に、ウイルス対策ソフトの主な機能は以下の通りです。程度の差はあるかもしれませんが、どのソフトも基本的な機能として持っています。

ウイルス対策ソフトの主な機能

  • ウイルス対策
  • ファイアウォール
  • 迷惑メール対策
  • web保護

ウイルス対策ソフトと言うくらいなので、ウイルス対策の機能が当然備わっています。ここでは、ウイルス対策の機能が、どのようなものなのかを解説します。

ウイルス対策|ウイルスを検知する仕組み

ウイルス対策の機能として、ウイルスを検知する仕組みが備わっています。ただし、ウイルスを検知する仕組みは1つではありません。

どの対策ソフトでも複数の機構を組み合わせて検知するようになっています。そして、ウイルスからPCを二重、三重にブロックしています。

主なウイルス検知の仕組みは4つあります。

ウイルス検知の仕組み

  • パターンマッチング
  • サンドボックス検知
  • ふるまい検知
  • 独自の検知データベース

対策ソフトで最も差が出そうなのは、開発会社による独自の検知データベースではないかと思います。

ウイルス対策|パターンマッチング

知らなきゃ損するウイルス対策|ウイルスを検知する仕組み

パターンマッチングは、実はウイルス対策ソフト専門の用語ではありません。たとえば、画像処理でも聞かれます。

一般に、パターンマッチングとは、データを検索する場合に、特定のパターンが出現するかどうか、またどこに出現するかを特定する手法のことです。

ウイルス対策で言えば、ウイルスとデータを照合し、そこで合致したプログラムをウイルスとして検知します。

照合には、ウイルスがコード(プログラム)上に、固有のパターンを持つことを利用しています。データには、その固有のパターン情報などが記載されています。データとウイルスを照合し、その結果が合致(=マッチ)したとき、ウイルスとして検知します。

固有のパターン情報などが記載されるデータは、ワクチンシグネチャ、あるいは定義ファイルなどと呼ばれます。

パターンマッチングは最も伝統的な方法です。既知のウイルスであれば、素早く、確実に検知できるのが利点です。多くの対策ソフトで利用されています。

しかし、「ウイルスに関する情報が予めデータにない、つまり未知のウイルスであれば、パターンマッチングでは検知できないのでは?」という疑問が湧きます。

もちろん、未知のウイルスであれば、照合しても一致しない可能性があります。それでも全く検知できないということが起こらないように、新たな検知方法が開発されています。

ジェネリック検知と呼ばれる方法です。

ジェネリック検知とは、少ないワクチンで多種のウイルスを検知できるように、パターン作成を工夫したものです。多種のウイルスには未知のウイルスも含まれているので、未知のウイルスでも検知することが可能になります。

パターンマッチングの仕組みは、Windows用だけでなくMacやAndroidスマートフォン用の製品でも広く取り入れられています。なお、iOSではアプリの開発そのものに制約が課されているので、こうした機能を持つ製品はありません。

ウイルス対策|サンドボックス検知

知らなきゃ損するウイルス対策|ウイルスを検知する仕組み

サンドボックスとは、簡単に言えば、パソコン内に作った仮想環境のことです。

たとえば、ウイルスに感染したプログラムを何の備えもなく実行すると、PCを不正に操作されてしまいます。仮想環境であればそれを防ぐことができます。

このようなサンドボックスを用いた検知をサンドボックス検知と呼びます。

サンドボックス検知は、未知のウイルスを検出するのが主な目的の検知方法です。

たとえば、パターンマッチングで判定できない怪しいプログラムがあると、それをパソコン内につくった仮想環境(サンドボックス)で実行します。そこで怪しい動きをすれば、そのプログラムをウイルスとして検知します。

サンドボックス検知は、個人向けにはWindows用製品のみで採用されています。

メモ

サンドボックス(sandbox)とは、コンピュータの分野では、ソフトウェアの特殊な実行環境として用意された、外部へのアクセスが厳しく制限された領域のことを指すことが多い。

サンドボックスは、外部から受け取ったプログラムを保護された領域で動作させることによって、システムが不正に操作されるのを防ぐセキュリティ機構と言える。

ウイルス対策|ふるまい検知

ふるまい検知は、プログラムの振る舞いからウイルスを検知する仕組みです。

パソコン内のプログラムの動きを監視し、通常と違う動きや、いかがわしい動きを検知すると、ウイルスと見なして動きをブロックします。

サンドボックス検知ふるまい検知は、1つの怪しい動きだけで検知するような単純なものではないようです。

サンドボックス検知やふるまい検知のウイルス判定

  1. 複数の要因から怪しさの度合いをスコアを算出
  2. 一定のスコアに達したら「ウイルス」と判定する

スコア化するための要因には「このフォルダで実行された」「このプロセスから呼ばれた」「別のプログラムに入り込もうとした」などがあります。

いくつかの要因をもとにウイルス判定をするので、状況証拠の積み重ねによる判定と言えるかもしれません。

このようなふるまい検知は、Windows向け製品で採用されています。

ウイルス対策|独自の検知データベース

独自の検知データベースとは、各ベンダーが全世界からウイルス情報を集めて構築したデータベースのことです。各社が独自にデータベースを作り上げているので、検知率が変わってきます。

データベースによる検知では、情報データベースとパソコン内のファイルを比較して、それが一般的なものかどうか、怪しいものが含まれていないかを判定します。パターンマッチングと考え方は似ているかもしれません。

メモ

ベンダー(vendor)は、「売り手」を意味する英語のこと。製品の供給業者を指す。製造元から購入している業者を指す場合もあれば、製造業者を含めて使われる場合もある。

IT業界では、ハードウェアやソフトウェアの供給元企業を「ITベンダー」と呼ぶ。また、販売する製品によって、ハードウェアベンダー、ソフトウェアベンダー、システムベンダーなどと呼ぶ。

ウイルス検知の課題

知らなきゃ損するウイルス対策|ウイルスを検知する仕組み

ウイルス対策として、様々な検知方法が用いられていることが分かりました。

ウイルスの検知方法

  • パターンマッチング
  • サンドボックス検知
  • ふるまい検知
  • 独自の検知データベース

パターンマッチングは、素早く、確実に検知できるのが利点ですが、未知のウイルス検知を苦手とします。

パターンマッチングの弱みをカバーするのがそれ以外の方法です。サンドボックス検知やふるまい検知などは、未知のウイルスを検出できることが強みです。

未知のウイルスを検出できますが、その反面、正常なプログラムを誤ってウイルスと判定してしまう誤検知の恐れがつきまといます。

いかに誤検知を少なくできるか」は難題ですが、これを解決するために、各ベンダーが技術を競っています。