説明

ウイルスチェック装置及びシステム

本発明は、ウイルス監視にハードウェアを用いて、ネットワークを介して取得されるディジタルデータから高速にコンピュータウイルスを検出する。本発明は、通信ネットワーク005を介して他の情報処理装置と通信可能な情報処理端末002において、ハードウェア回路で構成されたウイルスチェック装置001をネットワーク005の入力通信路側に設け、ウイルスチェック装置001によって、ネットワーク005からの入力データからウイルスをチェックする。入力データと照合されるウイルスパターンをハードウェアにより変更するには、ハードウェア回路を着脱自在とするか、或いは、書換え可能な論理デバイスをハードウェア回路に用いる。サーバ004のウイルス定義情報又はこれに基づいて生成される制御データをウイルスチェック装置001に送ることによって、論理デバイスのウイルスパターンを書き換えることができる。

【発明の詳細な説明】
【技術分野】
この発明は、ハードウェアを用いて、通信ネットワーク或いはストレージデバイスを介して取得するディジタルデータから高速に“コンピュータウイルス”或いは単に“ウイルス”と呼ばれる有害データを検出するウイルスチェック装置及びシステムに関する。
【背景技術】
通信ネットワークに接続するコンピュータが増えるにつれ、通信ネットワークを流れるデータの量は飛躍的に増加している。これらのデータの中には、利用者や管理者が容認しない情報やコンピュータの動作を阻害するようなソフトウェアなどの“(コンピュータ)ウイルス”が含まれるので、ネットワーク等の通信路を流れるデータを監視し、ウイルスからコンピュータ資源や情報等を保全する必要性が高くなっている。
このようなウイルスの監視は、従来より、個々のコンピュータやデータを中継する機器等において専用ソフトウェアを用いて行われており、例えば、特許文献1に示されるとおりである。
【特許文献1】 特表2001−508564号公報
しかしながら、ネットワーク等の通信路の転送速度の向上に従い通信路を流れるデータ量は増大しており、このような通信路の高速化により、ソフトウェアの処理速度がいずれ追従できなくなり、ウイルス監視ソフトウェアでは、パーソナルコンピュータのCPU負荷が高くなって隘路となることが予想される。
一方、ハードウェアはソフトウェアと比較して高速に動作することが可能であり、通信路のデータを遅延を抑えて高速に監視することが可能である。しかし、一般に、ウイルスチェック用ハードウェア内の監視目標となるデータ(ウイルスチェックパターン)を変更するためには機器を変更する必要があり、日々変化する監視対象データに対応する用途には不向きである。
【発明の開示】
この発明は、このような事情に鑑み、ウイルス監視にハードウェアを用いることにより、ネットワーク或いはストレージデバイスを介して取得されるディジタルデータから高速に有害データ(ウイルス)を検出することができるウイルスチェック装置及びシステムを提供することを目的とする。
この発明の主たる特徴によると、通信ネットワークを介して他の情報処理装置と通信可能な情報処理端末において、通信ネットワーク或いはストレージデバイスの入力通信路側に設けられ、通信ネットワーク或いはストレージデバイスからの入力データからウイルスをチェックするハードウェア回路(015)を備えるウイルスチェック装置〔請求項1〕が提供される。なお、括弧書きは、理解の便のために例示的に付記したもので、後述する実施例において対応する記号等を表わしており、以下においても同様である。
また、この発明の別の特徴によると、サーバ装置と、サーバ装置と通信ネットワークを介して通信可能に接続される情報処理端末と、情報処理端末の通信ネットワーク或いはストレージデバイスの入力通信路側に設けられたウイルスチェック装置(001,101)とから成り、サーバ装置は、ウイルス定義情報を更新可能に蓄積するウイルス定義ファイルと、該ウイルス定義情報に基づいて生成される制御データを送信する制御データ(コンフィグレーションデータ)の送信部とを備え、ウイルスチェック装置は、通信ネットワーク或いはストレージデバイスから上記情報処理端末への入力データからウイルスをチェックするハードウェア回路(015)を備え、ハードウェア回路は、サーバ装置からの制御データに基づいて、入力データと照合されるウイルスパターンを更新する制御部(021)を有するウイルスチェックシステム〔請求項8〕が提供される。
この発明によるウイルスチェック装置のハードウェア回路は、入力データを保持するデータ入力部(030)と、ウイルスパターンを保持するウイルス定義部と入力データをウイルスパターンと照合するパターン照合部(031)とを有する論理デバイスを備える〔請求項4,9〕構成にすることができる。
この発明によるウイルスチェック装置は、入力通信路の媒体中に挿入される〔請求項2〕構成としたり、情報処理端末の通信ネットワークへのインターフェースに追加して設けられる〔請求項3〕構成とすることができる。また、ウイルスチェック装置のハードウェア回路は、着脱自在に実装される〔請求項5〕構成とすることができる。さらに、他の情報処理装置から通信ネットワークを介して送信される制御データによって書換え可能である〔請求項6〕構成としたり、他の情報処理装置から通信ネットワークを介して送信される制御データに基づいて論理デバイスを書き換える書換え制御部(021)を備える〔請求項7〕ことができる。
〔作用〕
この発明によるウイルスチェックでは、例えば、通信機能を有するパーソナルコンピュータ(PC)のように、インターネットのような広域ネットワークやイーサネット(Ethernet、登録商標)のようなLANなどの通信ネットワークを介して他の情報処理装置と通信可能な情報処理端末において、ウイルスチェック用ハードウェアを用いて、通信ネットワークから入力されてくるデータをウイルス特徴データと照合することにより、ウイルスのパーソナルコンピュータ等への侵入をリアルタイムに検知することができる。すなわち、ハードウェアはソフトウェアに比べ高速な処理が可能であり、ウイルスチェックをネットワークに挿入もしくはネットワークカード(NIC、Network Interface Card)に追加したハードウェアで行うことにより、高速に有害データ即ちウイルスを検出し、ウイルスの侵入阻止や除去などの対応する対策を講じることができる。
また、ハードウェアはウイルス定義ファイルの変更が困難であるという問題に対して、この発明では、入力データと照合されるウイルスパターンをハードウェアにより変更するために、ハードウェア回路を着脱自在とするか、或いは、書換え可能な論理デバイスをハードウェア回路に用いる。論理デバイスのウイルスパターンを書き換える場合は、サーバ装置のウイルス定義情報又はこの情報に基づいて生成される制御データをウイルスチェック装置に送ることで、ウイルスパターンを更新する。
特に、論理デバイスを書換え可能とする点については、ウイルス定義と照合部分についてプログラマブルロジックデバイス(PLD:Programmable Logic Device)のような書換え可能な論理デバイスを用いることができる。例えば、PLDは、容易に回路の変更が可能であり、このような論理デバイスはハードウェアなので高速動作を維持することができる。従って、通信ネットワークが高速化してトラフィックが増大しても、端末パソコンのCPUに負荷をかけることなく高速にウイルス検査を実施することができる。
さらに、PLDなどの書換え可能な論理デバイスに書き込む制御データ(コンフィグレーションデータ)は、通信ネットワークを介してサーバ装置などから配信することができる。このためには、ウイルスチェック装置内にPIC等の小規模CPU、Flashメモリなど制御を一時的に蓄積するための記憶領域を付加し、PLDを更新する制御部を設けるだけでよい。また、コンフィグレーションデータが大きくなるときには、差分を用いたりデータ圧縮技術を用いることも可能である。
サーバ装置による制御データ(PLDコンフィグレーションデータ)を配信する方式を説明すると、例えば、データが装置のバッファに蓄積完了したとして、通信がアイドルになったときに装置内のCPU(PICなど)がネットワークを停止する。PLDを書換えモードにして、データを書き換えた後、リスタートする。制御データがウイルスチェック装置のバッファに蓄積完了したとして、通信がアイドルになったときに装置内のCPU(PICなど)がネットワークを停止する。PLDを書換えモードにして、データを書き換えた後、リスタートする。なお、制御データを端末側に配信する場合、デジタル署名や暗号化などのセキュアな仕組みを利用することが好ましい。
この発明によるウイルスチェック装置は、ネットワークの通信路に挿入することができる。通信プロトコルを合わせれば、全ゆる通信路(ネットワーク、IDEケーブル、データバスなど)に挿入可能である。この発明によるウイルスチェック装置をコンピュータの外付け装置として用いる場合は電源の供給が必要であるが、供給方法には制約はなく、通常の商用電源コンセントから供給する方法の他に、たとえば、イーサネット(Ethernet)のケーブル経由で供給することも可能である。また、USB接続のネットワークアダプタに組み込んだり、IEEE1394接続のネットワークアダプタに組み込むこともできる。
また、ウイルスチェック装置をコンピュータ端末に内蔵させることもできる。例えば、コンピュータに内蔵されるイーサネット(Ethernet)アダプタカード(NIC)上に組み込むこともできる。コンピュータに内蔵された無線LANアダプタや無線LAN用PCMCIAカードアダプタ等についても同様である。
この発明によるウイルスチェックシステムでは、コンピュータ等の端末装置側においては、ウイルスチェック用のハードウェア回路にウイルス定義を構成される。この場合、ウイルス定義を定数としてあらかじめ構成された回路に埋め込むこともできる。また、ウイルス定義ファイルはサーバ上に置き、その後、書換え可能論理デバイス(PLD)用の論理合成ソフトウェアを使用して制御データ(PLDコンフィグレーションデータ)を生成させることができる。これらの一連の生成過程は、サーバ上で全て行っても良いし、ウイルス定義をそのまま装置へ配信することもできるし、或いは、途中の段階のものを端末装置へ配信して、残りの処理を端末装置上で行うように実装することも可能である。
この発明によるウイルスチェック装置では、実施例(第3図、第4図)で詳述するように、論理回路(論理デバイス)を用いてウイルス定義と通信路を流れるデータの比較を行う。この場合、前処理(コンテンツ以外の除去)を施されたデータは、論理回路の入力部(FIFO)を通過する間にウイルス定義と比較され、ウイルス定義と符合しなければそのまま通過し、符合(一致)した場合は、警報情報を出力し、例えば、パケットの削除やパケットの受け取り先への通知など、適宜、必要な処理を行うことができる。
この発明によると、上述したように、通信路等を通過するディジタルデータを、ウイルスチェックハードウエア(ウイルスチェッカー)によって、高速に照合するようにしているので、特に、1Gbpsを超えるような高速なデータ転送を行うシステムに対して、極めて有効である。
【図面の簡単な説明】
第1図は、この発明の一実施例によるウイルスチェックシステム全体の構成例を表わす図である。
第2図は、この発明の一実施例によるウイルスチェック装置(ウイルスチェッカー)の一構成例〔1〕を表わす図である。
第3図は、この発明の一実施例によるウイルスチェック装置におけるウイルス照合器の一構成例を表わす図である。
第4図は、この発明の一実施例によるウイルスチェック装置におけるバイト一致検出器の一構成例を表わす図である。
第5図は、この発明の一実施例によるウイルスチェック装置におけるウイルス照合器の他の構成例〔2〕を表わす図である。
第6図は、この発明の一実施例によるウイルスチェック装置におけるウイルス照合器の別の構成例〔3〕を表わす図である。
第7図は、この発明の一実施例によるウイルスチェックパターン書換器の一構成例を表わす図である。
第8図は、この発明の一実施例による双方向性のウイルスチェック装置(双方向ウイルスチェッカー)の一構成例を示す図である。
第9図は、この発明の一実施例によるウイルスチェックパターン書換器のウイルスチェッカーへの組込構成例を表わす図である。
第10図は、この発明の一実施例によるウイルスチェックパターン書換装置の別設構成例を表わす図である。
第11図は、この発明の一実施例によるPC端末によるウイルスチェックパターン書換構成例を表わす図である。
第12図は、この発明の一実施例によるウイルスチェックパターンの生成工程例を表わす図である。
第13図は、この発明の一実施例による圧縮ウイルスチェックパターンの生成工程例を表わす図である。
第14図は、この発明の一実施例によるウイルスチェックパターンの書換フローを表わす図である。
第15図は、第1図に示した例とは異なる本発明の別の実施例によるウイルスチェックシステム全体の構成例を表わす図である。
第16図は、第15図に示されるウイルスチェッカーの詳細を示す図であり、第2図で示したLANの模式図をストレージデバイスに適用した一例を示した図である。
第17図は、コントローラの詳細を示す図である。
第18図は、USBコントローラへの実装例を示す図である。
【発明を実施するための最良の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、各図面では、電源供給に係る要素等、回路動作に必要であってもこの発明の要旨に直接関係のない要素の記述は省略している。
〔システムの全体構成〕
第1図は、この発明の一実施例によるウイルスチェックシステムの全体構成を概略的に示している。本体装置であるコンピュータ(図中符号002)は、通信ネットワーク(図中符号005)との入力通信路側にウイルスチェック用ハードウェア装置(本発明の装置、図中符号001)が挿入されており、このハードウェア装置は、本明細書において“ウイルスチェッカー”と呼ばれる。ウイルスチェッカー001とコンピュータ002を結ぶ通信ネットワーク(図中符号006)は通信ネットワーク005と同じ媒体でも異なる媒体でも本発明の機能には影響はなく、イーサネット(Ethernet、登録商標)などの有線ネットワークでも、無線LANなどの無線ネットワークでも適用可能である。例えば、005が100BASE−TXで006が10BASE−Tの場合などである。コンピュータ002はパーソナルコンピュータ(PC、パソコン)の他、ワークステーション、Macintoshコンピュータ、コンピュータ・クラスタ、大型コンピュータ、PDA(Personal Digital Assistant)など通信ネットワークに接続される計算機類であれば何でもよい。このウイルスチェッカーは、通信ネットワークから入力されてくるデータをウイルス特徴データ(ウイルスパターン)と照合することにより、ウイルスのコンピュータ等への侵入をリアルタイムに検知あるいは阻止することができる。また、ウイルスチェッカーのウイルスパターン及び照合機能デバイスは再構成可能なPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)で構成することができ、この場合、必要時に通信ネットワーク上のサーバ(図中符号004)から最新のウイルスパターンを受信し、それを用いて再構成を行うことができる。サーバ004は、パーソナルコンピュータやワークステーションなど、インターネットに接続され、他のコンピュータに対してデータを配信する能力を持つものであれば何でもよい。また、サーバ004は、ウイルスチェッカー001と直接つながっていても、第1図のように通信データを中継する機能を持つネットワーク・ハブ(図中符号003)を介してつながっていても、また、他の中継やLAN(Local Area Network)同士を接続する機能を有する機器類で接続されていてもよい。
第2図は、ウイルスチェッカー001を、片方向の通信ネットワーク中に接続した一例を模式的に示した図である。第2図中、符号005はデータが流れてくる通信ネットワーク(外部からのデータ入力路)、006はコンピュータ002側の通信ネットワークである。013は通信ネットワーク上の電気的な信号を1バイト(8ビット)幅のディジタルデータに変換する処理回路、014はバイト幅のネットワークデータを導く配線、015はバイトデータを高速に比較・照合するウイルス照合器、016はウイルスデータが除去されたバイトデータを導く配線、017はバイトデータを通信ネットワーク上の電気的な信号に変換する処理回路である。ウイルス照合器015は再構成可能なデバイスを用いて実装される。たとえば、Altera社やXilinx社などの製品であるCPLDやFPGAなどを用いる。ウイルス照合器015のもう一つの出力信号019はウイルスを検出したことを示す信号であり、ウイルスの検出をコンピュータやユーザに通知するためのウイルス検出通知器020に入力される。ウイルス検出信号019は、ウイルスを検出したことと検出したウイルスの種類をウイルス検出通知器020に知らせる。ウイルス検出通知器020は、検出したウイルスの情報をLEDなどで表示してユーザに通知する、ウイルスを検出したネットワークデータの006への出力を阻止する、コンピュータ002に対して検出したウイルスの情報を通知するなど、コンピュータ002が必要とする様々な機能を実装することが可能である。第2図中、符号021はウイルスパターン書換器で、LAN経由で供給される最新版のウイルスパターンを記録し、ウイルス照合器を更新する操作を行う。
通信ネットワーク005上をコンピュータ002に向かってくるネットワークデータは、すべて処理回路013でバイトデータに変換され、ウイルス照合器015に導かれる。ウイルス照合器015では、導かれたネットワークデータを、そのまま又は前処理を行い、内部に構成された照合回路により高速に監視してパターンとの比較を行い、その判定結果をウイルス検出信号019として用途に応じて適切な形で出力する。
ウイルス照合器015の実装に再構成可能な論理デバイス(PLD、FPGAなど)を用いることにより、ウイルスパターンに変更が生じた場合は、ウイルス照合器015を最新のウイルスパターンに即した回路に再構成することで対応できる。また、このウイルス照合器015の回路はハードウェアであるため、高速な比較が可能であり、ネットワークデータ通信に大きな遅延を引き起こすことなく、なおかつ、コンピュータ002に負荷をかけることもなく、ネットワークデータの監視を行うことができる。
ウイルス照合器015の内部は第3図のように実装することもできる。図中、符号030はネットワークデータ014を受け取ってウイルスパターンの長さ以上のバイトデータを保持するFIFOであり、FIFOに保持されたネットワークバイトデータ031はバイト一致照合器032に対してバイト単位で出力され、032はバイト単位でウイルスパターンとの照合を行う。バイト一致照合器032は入力されるネットワークデータバイト031を、常時ウイルスパターンを照合し続け、一致を検出した瞬間にウイルス信号019を出力することが可能である。再構成可能なデバイスで015を構成する場合は、構成が固定的なFIFOの部分を再構成可能デイバスに含めることも、含めないことも可能である。
バイト一致検出器032の、1つのウイルスパターンと照合するための回路構成を第4図に示す。図中符号041はバイト比較器であり、ネットワークデータを1バイト単位でウイルスパターンと比較する。バイト比較器041の列は、ウイルスパターンを構成するバイトデータの並びに沿って定数比較回路として実装され、並べられるので、その出力信号であるバイト一致信号042が全て一致した場合は、入力されたネットワーク上のデータ中にウイルスが含まれることを示す。一致信号統合器040は、バイト一致信号が全て一致を示した場合にウイルス検出信号019を生成するような回路である。
第3図のウイルス照合器015は、1つのウイルスパターンに対する照合を実現するための実装例であるが、この構成を拡張することにより、同時に複数個のウイルスパターンに対する照合を実現することが可能である。第5図は第3図の拡張方法の一つを示す。これは、FIFOの出力を複数のバイト一致検出器032に分配して、異なるウイルスパターンに対して同時に照合を行う方法である。バイト一致検出器032には、第4図の構成を使用することが可能であり、それぞれのバイト一致検出器032が異なるウイルスパターンに対する照合を行う。この構成では、複数のバイト一致検出器032の出力から、1つのウイルス検出信号019を生成するためにウイルス検出統合器033を用いる。これは、複数のバイト一致検出器032のうちのどれか1つから個別ウイルス信号034が出力された場合に、ウイルスが検出されたことと検出されたウイルスの種類を示す信号であるウイルス検出信号019を生成する回路である。
また、第3図のウイルス照合器015は、第6図のようにしても拡張が可能である。第6図では、第3図のウイルス照合器015、すなわち単一段ウイルス照合器050をその一部として含む。そして、図のように単一段ウイルス照合器050を従属接続して、複数のウイルスパターンに対して、順次比較を行うことが可能となる。この場合も第5図の構成同様、複数のウイルス検出信号を統合するために、複数段ウイルス検出統合器052を用いる。この複数段ウイルス検出統合器も、第5図のウイルス検出統合器と同じ機能を有し、複数のウイルス照合器050のうちのどれか1つから単一段ウイルス信号051が出力された場合に、ウイルスが検出されたことと検出されたウイルスの種類を示す信号であるウイルス検出信号019を生成する回路である。
なお、第3図のウイルス照合器015の拡張には、第5図の方法と第6図の方法を同時に適用してもよい。
第7図に、ウイルスパターン書換器021の実装例を示す。この例では、書換パターン検出器060が、常時、ネットワークデータバイト014を監視し、ウイルスパターンの更新データを示す印のついたデータ列を検出した場合に、書換パターン一致検出信号063を生成して、パターン書換器062を起動する。書換パターン検出器060の実装には、第3図のウイルス照合器と全く同じハードウェア構成を用いることもでき、また、同等な機能を有する他の構成を用いることも可能である。書換パターンバッファメモリ061はネットワークデータバイト014に流れるデータバイト列のうち、ある長さの最新のデータを常に保持する機能を持つ。書換パターンバッファメモリ061が保持するデータバイトの長さは、書換パターン長の最大値よりも長い値に設定する。書換パターン一致検出信号063により起動されたパターン書換器062は、書換パターン操作信号064を介して書換パターンバッファメモリ061のデータ更新を停止させ、続いて、ウイルス照合器015の動作を停止させる。次に、パターン書換器062は、書換パターンバッファメモリ061中に保持されている更新用のウイルスパターンを用いて、ウイルス照合器015内部に用いられている再構成可能デイバスを更新する。更新方法などは、実装に使用している再構成可能デバイスごとに適切な方法を用いる。更新が終了した後、書換パターンバッファメモリ061の動作を再開させ、続いて、ウイルス照合器015の動作も再開させる。
第2図のウイルスチェッカーは、通信ネットワークが片方向にデータをやり取りする場合の例を示したが、この実装を用いて通常の通信ネットワークの形態である双方向データ通信路用に拡張した例を第8図に示す。図中、符号001は第2図に示したようなウイルスチェッカーであり、通信ネットワーク005と006は双方向のネットワークである。双方向ウイルスチェッカー101に入力された通信ネットワークデータは、双方向信号分離器102によって片方向ずつの信号の流れに分離され、ウイルスチェッカーを通過後、再度、双方向信号分離器102によって双方向信号に統合される。双方向信号分離器102には、イーサネット用のNIC(Network Interface Card)のネットワーク入力部に使用されるハイブリッドと呼ばれる回路などを用いて実装することができる。
第9図を用いて、ウイルス照合器015のパターン書き換えを説明する。まず、ネットワーク・ハブ003などを介して通信ネットワーク005につながっているか、もしくはインターネット上に存在するサーバ004が、ある特定の印をつけたウイルスパターン更新データを、ウイルスチェッカー001に入力されるような何らかの方法で通信ネットワーク005に出力する。たとえば、ウイルスチェッカー001が入力側に挿入されているコンピュータ002に対する通信データとして出力する方法や、可能な場合にはブロードキャストなどの通信方法で出力することも可能である。ウイルスチェッカー001内部では、通信ネットワークデータはネットワークデータバイト014としてウイルス照合器015やウイルスパターン書換器021に入力されているが、ウイルスパターン更新データの印のついたネットワークデータをウイルスパターン書換器021が認識すると、前々節の説明のようにウイルスパターン更新データを取り出して、ウイルス照合器の機能を停止させ、パターン書き換え信号110を用いてウイルス照合器015を再構成した後に再起動する。
第9図では、ウイルスパターン書換器021はウイルスチェッカー001の内部に組み込まれているが、第10図のように外部ウイルスパターン書き換え装置120としてウイルスチェッカー001の外部に実装することも可能である。この構成の場合は、外部ウイルスパターン書き換え装置120をウイルスチェッカー001に常時接続した状態にして、ウイルスパターンを自動更新することもできるが、更新が必要になったときにのみ外部ウイルスパターン書き換え装置120をウイルスチェッカー001に接続して、ユーザの手で書き換え操作を行うことも可能である。
さらに、第11図のようにウイルスパターン書換機能を外部に置き、かつ、コンピュータ002に通信ネットワーク006とは別の媒体によって、あるいは通信ネットワーク006を用いて接続し、コンピュータ002上のソフトウェアを利用してウイルスパターンの書き換えを行うことも可能である。この構成の場合、通常動作時にはウイルスチェッカー001はコンピュータ002から独立して動作しているが、コンピュータ002にウイルスパターン更新データが到着した場合には、コンピュータ002がウイルスチェッカー001の動作を停止して、PCウイルスチェッカーパターン書換インターフェース130を介してウイルス照合器015を書き換え、再起動することにより、ウイルスパターンの更新を実現することも可能である。また、この構成の場合、必要になったときにサーバ004がコンピュータ002に対してウイルスパターン更新データを送ることも可能であり、あるは、コンピュータ002が能動的かつ定期的にサーバ004に対してウイルスパターン更新データの存在をチェックすることも可能である。また、両者を併用することも、ユーザの指示により更新のチェックや更新操作を行うことも可能である。さらに、ウイルス照合器015を構成する再構成可能デバイスをこの装置から取り外し、市販のデータ書き込み装置を用いてコンピュータ002内のデータをこの再構成可能デバイスに書き込むことでウイルスパターンの更新を実現することも可能である。
ウイルスチェッカー001が用いるウイルスパターンは、ウイルス本体の特徴を示すデータ列そのままでもよく、ウイルス照合器015を再構成するためのデータの形式を取ることも可能である。このPLDなどの再構成用のデータはコンフィグレーションデータなどと呼ばれ、第12図のように生成することも可能である。図中、符号200はウイルスの特徴を示すデータバイト列そのままのデータである。定数バイト列であるこの生データ200を用いて、定数との比較を行うハードウェアを生成するようなHDL(Hardware Description Language)で記述されたウイルス照合器の一部あるいは全部を生成する。出力がウイルス識別HDLデータ202である。より具体的には、ウイル識別HDL生成ソフトウェア201は回路の枠組みを記述したようなテンプレートのHDLファイルに比較対照の定数値である生のウイルスパターンのデータを書き込む処理を行う。このウイルス識別HDLデータ202は、HDLファイルから実際にウイルス照合器015の実装に使用されている再構成可能デバイス用のコンフィグレーションデータを生成可能なFPGA用論理合成ソフトウェアと呼ばれるプログラムを用いて、最終的なウイルスパターン204に変換される。
ウイルスパターン204のサイズが大きくなってしまう場合には、第13図のようにさらに何らかの圧縮ソフトウェア205を用いてデータ圧縮を行い、圧縮ウイルスパターン206をウイルスチェッカーに送信してもよい。この時、ウイルスチェッカー001パターン書換器021を内蔵する場合には、パターン書換器021が圧縮ウイルスパターン206から元のウイルスパターン204を生成し、また、ウイルスパターンの更新をコンピュータ002が行う場合には、コンピュータ002上のソフトウェアが圧縮ウイルスパターン206から元のウイルスパターン204を生成してもよい。この圧縮に用いるアルゴリズムとしては、一般に用いられているような様々なデータ圧縮法を用いてもよく、また、一つ前の版のウイルスパターンとの差分のみを送る、あるいは、差分をさらにデータ圧縮をかけて送るといった方法でもよい。
第14図にウイルスパターンの更新を含む本システムの動作ステップを示す。状態300は初期状態であり、電源を入れた直後に装置として必要な初期化などの動作を行い、それらが終了後自動的に次の状態301に移行する。状態301では、ウイルスチェッカー001内部に記憶されている最新のウイルスパターンのデータを、ウイルス照合器015内部の再構成可能デバイスにロードし、可能な場合には機能チェックなどを行い、次の状態302に進む。状態302は通常の動作状態であり、通信ネットワーク上のデータを監視すると同時に、ウイルスパターン更新データのチェックを行う。続く判断303ではウイルスパターン更新データが到着しているか否かをチェックし、到着していれば状態304に、到着していなければ状態302に移行する。ウイルスパターン更新データが到着していた場合、状態304でウイルスパターンの更新処理を行い、到着した更新データを最新のウイルスパターンデータとして記録し、必要な場合には初期化を行い、さらに可能な場合には機能チェックなどを行い、状態302に移行する。本システムでは、終了に際して特別な処理は行わず、電源を切ることにより処理を終了する。
本発明のウイルスチェッカーは、コンピュータに内蔵するNIC(Network Interface Card)やコンピュータの主要素が実装されるマザーボード、あるいはネットワーク機器であるルータ、スイッチングハブなどのデバイスに組み込むような設置方法も有効である。また、コンピュータ内部に実装されている各ネットワーク類の途中に挿入する設置方法も有効である。
ウイルスのコンピュータへの侵入路を考えるとき、ネットワークの他に、着脱可能なストレージデバイスが考えられる。このようなストレージデバイスはウイルスに感染したコンピュータと接続されることで、そのストレージ内にウイルスに感染したファイルを保有することになる可能性がある。
この発明によるウイルスチェック装置は、通信プロトコルを適応させることにより、コンピュータがアクセス可能なあらゆるストレージデバイスとの通信路にも挿入できる。この場合の電源供給条件や組み込み方法も、ネットワークの通信路に挿入する場合と同様である他、ストレージデバイス本体にウイルスチェック装置を組み込むことも可能である。この場合のPLDなどの書き換え可能な論理デバイスに書き込む制御データは、コンピュータ端末内のコンピュータ上のソフトウェアを利用してウィルスパターンの書き換えを行うことができるほか、ウイルスチェック装置本体にネットワークや書き換え用のストレージデバイスを接続して書き換えを行うこともできる。
この装置をコンピュータ端末とストレージデバイス間に挿入することにより、CPUにウイルスチェックによる負荷をかけずにデータ転送やプログラムの実行が可能となる。
第15図は、本体装置であるコンピュータ002と、ストレージデバイス140との接続ケーブル141にウイルスチェッカー001が挿入されている。ウイルスチェッカー001とコンピュータ002を結ぶ接続ケーブルは、いかなる媒体でも本発明の機能には影響はなく、USBやIEEE1394、シリアル、パラレル、SCSI、IDE、イーサネットなどの有線ネットワーク、無線LANなどの無線ネットワークなどでも適用可能である。また、このストレージデバイスはウイルスチェッカー001と直接つながっていても、接続ケーブル途中に中継するハブを介してつながっていてもよい。
ウイルスチェッカーは、ケーブル上を通過するデータをウイルスパターンと照合することにより、ウイルスのストレージデバイスからコンピュータ等への侵入またはコンピュータ等からストレージデバイスへの侵入をリアルタイムに検知あるいは阻止することができる。
ウイルスチェッカーは、必要時に通信ネットワーク上のサーバ004からコンピュータ002上のソフトウェアを利用するか、直接LANケーブル142を通じて最新のウイルスパターンを受信し、それを用いて再構成を行うことができる。
第16図は、第2図で示したLANの模式図をストレージデバイスに適用した一例を示した図である。第2図中で示した017のようなエンコーダが取り除かれているが、この例でもエンコーダを用いた適用は可能であり、もちろんその逆に第2図中からエンコーダを取り除いた第16図のような適用も可能である。
第16図中、146は141を流れてくるデータを分離する回路である。分離してバッファ等のウイルス照合が終了するまでの間、遅延を生ずる回路145を挿入することにより、一度デコーダ144でデコードしたデータをエンコードして通信路に戻すような処理を省略できる。ウイルスチェックが十分に高速な場合は、回路145を省略することもできる。
本発明のウイルスチェッカーは、コンピュータに内蔵する様々なデータの伝送路に挿入する設置方法も有効である。またストレージデバイス本体の入出力装置に設置する方法も有効である。
パソコンの外部ストレージ本体に本発明のウイルスチェッカーを適用する場合は、USB、IEEE1394などのデータ通信を制御するコントローラに内蔵する方法も有効である。コントローラには第17図に示すように、データを一時的に保持するFIFOなどのバッファ151を設けてあり、データ153がバッファ151からデータバイト154としてバイト一致検出器152に出力されウイルスパターンの照合を行う。コントローラ内蔵のバッファがウイルスパターンに見合う十分な大きさでない場合は、別途バッファを設けることで適用できる。ウイルス照合器については第3図に説明している。
第18図ではUSBコントローラへの実装例を示す。USBコントローラではエンドポイント161と呼ばれるFIFOにより、データを一時的にバッファリングしている。第17図でも示したようにこの位置にバイト一致検出器162を設置することで、ウイルス照合器を構成できる。エンドポイント161を単独で使用する場合は、ミキサー166はなくてもよく、ウイルスパターンとの部分一致のために一致検出信号165をバッファ167に保持し次の一致検出信号とミキサー168で合わせてウイルス一致検出器169で検出を行い、ウイルス検出信号170を出力する。エンドポイント161は複数をまとめて使用することもできる。その場合はミキサー166を通してグループであるエンドポイント161のバイト一致検出器162からの一致検出信号165をまとめ、一致検出信号バッファ167およびミキサー168へ送出する。第18図では166〜169をUSBコントローラ150の外に置いているが、必ずしもそうする必要はなく、166〜169のどこまでをUSBコントローラに取り込んでもよいし、バイト一致検出器162から後ろをコントローラの外に置くこともできる。
第18図ではUSB接続のストレージについて実装例を示したが、同様の用途に使用される、IEEE1394やSCSIなどをインタフェースとするストレージについても、同様な適用ができる。
もちろんコントローラに内蔵されたバッファを利用する以外にも、照合対象となるデータの識別が可能な位置であれば、本発明のウイルスチェッカーを挿入することが可能である。
さらに現在ソフトウェアで実装されているウイルス対策ツールは、ウイルスの検出以外に侵入阻止や除去などの機能を有しているが、それらの機能はいずれも検出後に実行される処理であり、検出部に本アイデアを適応することで処理の高速化及び高効率化を図ることが可能である。逆に本検出部にウイルス侵入阻止部やウイルス除去部などの機能を付加することで、現行のウイルス対策ツールと機能的に全く同等の物を構築可能である。
以上、図示例に基づき説明したが、この発明は上述の例に限定されるものでなく、特許請求の範囲の記載の範囲内で当業者が容易に改変し得る他の構成をも含むものである。
以上説明したように、この発明によれば、通信ネットワーク通信路に挿入又はネットワークカード等に追加したウイルスチェック用ハードウェアを用いて、通信ネットワークから入力されてくるデータをウイルス特徴データと照合するようにしているので、ソフトウェアに比べ高速な処理が可能であるというハードウェアの利点を生かして、有害データ即ちウイルスのパーソナルコンピュータ等への侵入をリアルタイムで検知することができ、高速にウイルスを検出して侵入阻止や除去などの対応する対策を講じることができる。
【図1】

【図2】

【図3】

【図4】

【図5】

【図6】

【図7】

【図8】

【図9】

【図10】

【図11】

【図12】

【図13】

【図14】

【図15】

【図16】

【図17】

【図18】


【特許請求の範囲】
【請求項1】
通信ネットワークを介して他の情報処理装置と通信可能な情報処理端末において、
通信ネットワーク或いはストレージデバイスの入力通信路側に設けられ、
該通信ネットワーク或いはストレージデバイスからの入力データからウイルスをチェックするハードウェア回路を備える
ことを特徴とするウイルスチェック装置。
【請求項2】
前記入力通信路の媒体中に挿入されることを特徴とする請求の範囲第1項に記載のウイルスチェック装置。
【請求項3】
前記情報処理端末の通信ネットワークへのインターフェースに追加して設けられることを特徴とする請求の範囲第1項に記載のウイルスチェック装置。
【請求項4】
前記ハードウェア回路は、
前記入力データを保持するデータ入力部と、
ウイルスパターンを保持するウイルス定義部と、
前記入力データを該ウイルスパターンと照合するパターン照合部と
を有する論理デバイスを備えることを特徴とする請求の範囲第1〜3項の何れか1項に記載のウイルスチェック装置。
【請求項5】
前記ハードウェア回路は、着脱自在に実装されることを特徴とする請求の範囲第1〜4項の何れか1項に記載のウイルスチェック装置。
【請求項6】
前記ハードウェア回路は、他の情報処理装置から通信ネットワークを介して送信される制御データによって書換え可能であることを特徴とする請求の範囲第1〜4項の何れか1項に記載のウイルスチェック装置。
【請求項7】
前記ハードウェア回路は、さらに、他の情報処理装置から通信ネットワークを介して送信される制御データに基づいて前記論理デバイスを書き換える書換え制御部を備えることを特徴とする請求の範囲第4項に記載のウイルスチェック装置。
【請求項8】
サーバ装置と、該サーバ装置と通信ネットワークを介して通信可能に接続される情報処理端末と、該情報処理端末の通信ネットワーク或いはストレージデバイスの入力通信路側に設けられたウイルスチェック装置とから成り、
上記サーバ装置は、ウイルス定義情報を更新可能に蓄積するウイルス定義ファイルと、該ウイルス定義情報に基づいて生成される制御データを送信する制御データ送信部とを備え、
上記ウイルスチェック装置は、通信ネットワーク或いはストレージデバイスから上記情報処理端末への入力データから、ウイルスをチェックするハードウェア回路を備え、該ハードウエア回路は、上記サーバ装置からの制御データに基づいて、該入力データと照合されるウイルスパターンを更新する制御部を有する
ことを特徴とするウイルスチェックシステム。
【請求項9】
前記ハードウェア回路は、さらに、
前記入力データを保持するデータ入力部と、
前記ウイルスパターンを保持するウイルス定義部と、
前記入力データを該ウイルスパターンと照合するパターン照合部と
を有する論理デバイスを備えることを特徴とする請求の範囲第9項に記載のウイルスチェックシステム。

【国際公開番号】WO2004/075056
【国際公開日】平成16年9月2日(2004.9.2)
【発行日】平成18年6月1日(2006.6.1)
【国際特許分類】
【出願番号】特願2005−502786(P2005−502786)
【国際出願番号】PCT/JP2004/001978
【国際出願日】平成16年2月20日(2004.2.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
Macintosh
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】