第3回 日々増えていくウイルスをどのように、どんな方法で発見するのか?ウイルス対策技術について

前回は、ウイルスの変遷について解説しました。では、そのウイルスを発見するワクチンソフトはどのような技術を使ってウイルスを見つけているのでしょうか。

今回はウイルスの検知技法と、ワクチンソフトの種類について解説します。

ウイルス検知技法について

次々と発生する新型のウイルスに対して、ワクチンソフトも次々と新しい手法で対抗していると思われがちですが、実は非常にシンプルな方法を採用しています。以下にワクチンソフトのウイルス発見技法について分類していきます。

  • パターンマッチング方式

    警察が犯罪者の指紋をデータベースにして犯人を捕まえるのと同様の方式です。これまでに発見されたウイルスプログラムを解析し、そのプログラムコードの特徴的な部分を数箇所抽出し、パターンファイルやウイルス定義ファイルと呼ばれるデータベースに登録しておきます。ワクチンソフトは、検査対象のファイルのコードとウイルスのデータベースを比較して、一致すれば検査対象ファイルにウイルスが含まれ感染している、またはウイルス自身だと判定するのです。

    この方式のメリットは、ウイルスを高い確率で発見できることと、ウイルスの正確な名前が特定できるため、駆除プログラムと連携が可能なことです。
    しかし、最大のデメリットとして、データベースに登録済みの既知のウイルスしか発見できません。データベースに登録されていないウイルスに対しては、何度検査しても素通りしてしまうのです。また、抽出した特徴点が正常なプログラムの特徴点と偶然一致してしまうことがあります。これは「誤認」と呼ばれ、ユーザにとって煩わしい問題ですが、ワクチンメーカーも世界中の全てのプログラムに対してテストを行うわけにもいきませんから、どうしても避けることができません。(どのメーカーでも、毎年数回はこの問題が発生しています)

    このような弱点があっても、「データベースを追加するだけ」という対応のしやすさから、この方式に勝る技法は未だに発明されておらず、全世界のワクチンメーカーは今でもこの方式を主な検知手段として採用しています。

  • ウイルスプログラムの構造で発見する方式

    ミューテーション型のウイルスのように、毎回形が全く変わってしまうウイルスの場合には、パターンマッチング方式が通用しません。また、パターンに一部一致するような場合はウイルスが改編されている「亜種」の可能性があります。

    このようなウイルスを発見するために、プログラムの構造的に見て、「これはウイルスである」と判定する方式が開発されました。実際には非常に複雑な処理を行うのですが、簡単に説明すると、「正常なプログラムであれば、ユーザに確認しないでいきなり上書きは行わない」というような常識を幾つか組み合わせて、「この処理は明らかにウイルスと考えられる」というような判定を行います。

    この方法はメーカーによって呼び方が異なり、ヒューリスティック技法や、ルールベース技法などと呼ばれています。

    この方式の最大のメリットは、データベースに登録されていない新種ウイルスでも発見できるということですが、ウイルス名の特定はできませんから直ぐに駆除できるわけではなく、あくまで「ウイルスと思われる」という“疑惑”ファイルを発見できるということになります。実際には、このようなファイルが発見された場合には直ちにメーカーが解析を行い、新種ウイルスとして発表すると共に、データベースに登録してユーザに提供されます。

  • その他(新種ウイルス発見技法)

    前述のプログラム構造で発見する技法の場合、ミューテーションウイルスのように毎回形が変わるウイルスであれば、「ミューテーションウイルスらしい」ということは分かっても、本当にウイルスであるかどうかまでははっきりしません。

    そこで、メモリ中に安全な仮想空間を作り、そのメモリ空間の中で対象となるプログラムを動作させ、動作的にウイルスかどうかを判定するという技法が使われます。この方法では、ウイルス的な動作を行うことが分かった瞬間に止めるわけですので、全くの新種のウイルスであっても高い確率で発見することが可能です。

    しかし、単純にデータベースと比較する方法と比べてかなりの時間がかかりますから、全てのファイルに対してこの方法を用いるわけにはいきません。従って、「怪しい」ファイルを見つけた場合にのみこの方式で検査が行われます。

ワクチンソフトは、以上の方式を組み合わせてウイルスを検知するのです。意外に単純な仕組みであることがわかると共に、発見済みのウイルスのデータベース(パターンファイル/ウイルス定義ファイル)の更新がいかに重要かが理解できるでしょう。

ワクチンソフトの種類

ワクチンソフトは、ウイルスの侵入経路それぞれに応じた製品があります。

  1. 個人ユーザ向け製品
  2. クライアントPC用製品
  3. ファイルサーバ用製品
  4. グループウェア用製品
  5. ゲートウェイ用製品

ここでは、それぞれの違いについて説明します。

  1. 個人ユーザ向け製品

    個人が、スタンドアロンのPCで利用することを前提とした製品です。

    常駐プログラムとして常に動作して、ファイルのアクセス時にリアルタイムにウイルスを発見することが主な機能です。現在では、インターネットへの常時接続が主流ですから、メールのリアルタイムスキャン、Webアクセス時のリアルタイムスキャンといった機能も必須となっており、更に不正侵入を防止するための簡易的なファイアウォール機能を備えた製品もあります。

  2. クライアントPC用製品

    企業内ネットワークを想定し、LAN環境の各クライアントPCで利用することを前提とした製品です。

    個人ユーザ向け製品と同様に、常駐してファイルのアクセス時にリアルタイムにウイルスを発見することが主な機能です。

    個人ユーザ向け製品と異なるのは、まずメールのチェックやWebアクセス時のチェックは他のサーバ製品などに任せ、それよりも業務に支障が出ないように、クライアントPCへの負担を出来る限り軽くしてある点が特徴です。また、事業所全体で利用するわけですから、セキュリティレベルを統一するために、集中管理を行う機能を持っています。集中管理の内容としては、データベース(ウイルス定義ファイル)と発見用のエンジンの自動的なバージョンアップと、各ワクチンソフトの設定の一元化、また発見時のログ情報の通知があります。

    個別機能で比較した場合には個人ユーザ向け製品の方に機能が多いため、そちらを安易に選択しがちですが、個人ユーザ用ではセキュリティレベルのバラつきが起こるため大変危険です。バージョンアップや発見時の対処方法を各ユーザ任せにすることは大きなセキュリティホールとなり、ウイルス対策を全く意味の無いものにしてしまいます。

  3. ファイルサーバ用製品

    ファイルサーバにインストールして利用することを前提とした製品です。 ファイルサーバへの、各クライアントからのアクセスをリアルタイムに監視して、ウイルスチェックを行うことが主な機能です。

    メーカーによっては、クライアント用製品をそのまま適用できるものもあります。

  4. グループウェア用製品

    グループウェアサーバにインストールし、メールのリアルタイム検査、各クライアントからのアクセスをリアルタイムに監視して、ウイルスチェックを行うことが主な機能です。企業では、グループウェアがメールサーバを兼ねていますので、後述のゲートウェイ用製品と同様に重要な対策箇所となります。

    グループウェアは、製品毎にファイルの管理方式が異なるため、それぞれのグループウェアに特化した製品が必要です。主に、Microsoft Exchange用、Lotus Notes/Domino用などがあります。

  5. ゲートウェイ用製品

    事業所内ネットワークと外部にあるインターネットなどとの出入り口であるゲートウェイにインストールし、通過するファイルをリアルタイムにチェックするのが主な機能です。

    監視するプロトコルとして、「SMTP」「HTTP」「FTP」、また「POP3」がありますが、全プロトコルをサポートしている製品もあれば、プロトコル別に製品が分かれているものなどがあります。

    ゲートウェイ用製品によって、ウイルスが事業所内に侵入する前に被害を防ぐことができ、事業所内から外に出て行くファイルについてクリーンな状態を保つことができます。メール型ウイルスが全盛の現在に於いては必須の製品と言えるでしょう。

以上のように、ワクチンソフトは侵入経路それぞれに応じた製品がありますので、自社の環境を考慮して、抜けがないようにワクチンソフトを配備する必要があります。

しかしながら、ウイルス対策だけに大きな予算は掛けられないという場合もあるでしょう。その場合の企業がとるべき対策の優先順位を考察します。ウイルスの攻撃対象はクライアントPCです。したがって、まず必須なのはクライアントPC用製品になります。1台の抜けもないように全てのクライアントPCに導入します。次に重要なのはゲートウェイ用製品です。事業所の社内ネットワークとインターネットとの出入り口でウイルスをシャットアウトします。その後は必要に応じ、また予算に応じてその他の経路に対応した製品を導入することをお薦めします。

次回予告

ワクチンソフトの導入時の注意点、運用上の注意などを紹介し、どうしたら被害が減らせるかを考えて行きます。

このページの最上部へ