(57)【要約】【課題】ウイルス監視にハードウェアを用いることにより、ネットワーク或いはストレージデバイスを介して取得されるディジタルデータから高速に有害データ（ウイルス）を検出する。【解決手段】サーバ装置と通信ネットワークを介して通信可能に接続される情報処理端末を備える。サーバ装置は、ウイルス定義ファイルと、該ウイルス定義情報に基づいて生成される制御データを送信する制御データ送信部とを備える。ウイルスチェック装置は、通信ネットワーク或いはストレージデバイスから上記情報処理端末への入力データから、ウイルスをチェックするハードウェア回路を備え、該ハードウェア回路は、上記サーバ装置からの制御データに基づいて、該入力データと照合されるウイルスパターンを更新する制御部を有する。【選択図】図１
2008299864.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、該サーバ装置と通信ネットワークを介して通信可能に接続される情報処理端末と、該情報処理端末の通信ネットワーク或いはストレージデバイスの入力通信路側に設けられたウイルスチェック装置とから成り、
上記サーバ装置は、ウイルス定義情報を更新可能に蓄積するウイルス定義ファイルと、該ウイルス定義情報に基づいて生成される制御データを送信する制御データ送信部とを備え、
上記ウイルスチェック装置は、通信ネットワーク或いはストレージデバイスから上記情報処理端末への入力データから、ウイルスをチェックするハードウェア回路を備え、該ハードウェア回路は、上記サーバ装置からの制御データに基づいて、該入力データと照合されるウイルスパターンを更新する制御部を有することを特徴とするウイルスチェックシステム。
【請求項２】
前記ハードウェア回路は、さらに、
前記入力データを保持するデータ入力部と、
前記ウイルスパターンを保持するウイルス定義部と、
前記入力データを該ウイルスパターンと照合するパターン照合部と
を有する論理デバイスを備えることを特徴とする請求の範囲第１項に記載のウイルスチェックシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ハードウェアを用いて、通信ネットワーク或いはストレージデバイスを介して取得するディジタルデータから高速に“コンピュータウイルス”或いは単に“ウイルス”と呼ばれる有害データを検出するウイルスチェックシステムに関する。
【背景技術】
【０００２】
通信ネットワークに接続するコンピュータが増えるにつれ、通信ネットワークを流れるデータの量は飛躍的に増加している。これらのデータの中には、利用者や管理者が容認しない情報やコンピュータの動作を阻害するようなソフトウェアなどの“（コンピュータ）ウイルス”が含まれるので、ネットワーク等の通信路を流れるデータを監視し、ウイルスからコンピュータ資源や情報等を保全する必要性が高くなっている。
【０００３】
このようなウイルスの監視は、従来より、個々のコンピュータやデータを中継する機器等において専用ソフトウェアを用いて行われており、例えば、特許文献１に示されるとおりである。
【特許文献１】特表２００１−５０８５６４号公報
【０００４】
しかしながら、ネットワーク等の通信路の転送速度の向上に従い通信路を流れるデータ量は増大しており、このような通信路の高速化により、ソフトウェアの処理速度がいずれ追従できなくなり、ウイルス監視ソフトウェアでは、パーソナルコンピュータのＣＰＵ負荷が高くなって隘路となることが予想される。
【０００５】
一方、ハードウェアはソフトウェアと比較して高速に動作することが可能であり、通信路のデータを遅延を抑えて高速に監視することが可能である。しかし、一般に、ウイルスチェック用ハードウェア内の監視目標となるデータ（ウイルスチェックパターン）を変更するためには機器を変更する必要があり、日々変化する監視対象データに対応する用途には不向きである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、このような事情に鑑み、ウイルス監視にハードウェアを用いることにより、ネットワーク或いはストレージデバイスを介して取得されるディジタルデータから高速に有害データ（ウイルス）を検出することができるウイルスチェックシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のウイルスチェックシステムは、サーバ装置と、該サーバ装置と通信ネットワークを介して通信可能に接続される情報処理端末と、該情報処理端末の通信ネットワーク或いはストレージデバイスの入力通信路側に設けられたウイルスチェック装置とから成る。サーバ装置は、ウイルス定義情報を更新可能に蓄積するウイルス定義ファイルと、該ウイルス定義情報に基づいて生成される制御データを送信する制御データ送信部とを備える。上記ウイルスチェック装置は、通信ネットワーク或いはストレージデバイスから上記情報処理端末への入力データから、ウイルスをチェックするハードウェア回路を備え、該ハードウェア回路は、上記サーバ装置からの制御データに基づいて、該入力データと照合されるウイルスパターンを更新する制御部を有する。
【０００８】
前記ハードウェア回路は、さらに、前記入力データを保持するデータ入力部と、前記ウイルスパターンを保持するウイルス定義部と、前記入力データを該ウイルスパターンと照合するパターン照合部とを有する論理デバイスを備える。
【発明の効果】
【０００９】
この発明によるウイルスチェックでは、例えば、通信機能を有するパーソナルコンピュータ（ＰＣ）のように、インターネットのような広域ネットワークやイーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））のようなＬＡＮなどの通信ネットワークを介して他の情報処理装置と通信可能な情報処理端末において、ウイルスチェック用ハードウェアを用いて、通信ネットワークから入力されてくるデータをウイルス特徴データと照合することにより、ウイルスのパーソナルコンピュータ等への侵入をリアルタイムに検知することができる。すなわち、ハードウェアはソフトウェアに比べ高速な処理が可能であり、ウイルスチェックをネットワークに挿入もしくはネットワークカード（ＮＩＣ、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）に追加したハードウェアで行うことにより、高速に有害データ即ちウイルスを検出し、ウイルスの侵入阻止や除去などの対応する対策を講じることができる。
【００１０】
また、ハードウェアはウイルス定義ファイルの変更が困難であるという問題に対して、この発明では、入力データと照合されるウイルスパターンをハードウェアにより変更するために、ハードウェア回路を着脱自在とするか、或いは、書換え可能な論理デバイスをハードウェア回路に用いる。論理デバイスのウイルスパターンを書き換える場合は、サーバ装置のウイルス定義情報又はこの情報に基づいて生成される制御データをウイルスチェック装置に送ることで、ウイルスパターンを更新する。
【００１１】
特に、論理デバイスを書換え可能とする点については、ウイルス定義と照合部分についてプログラマブルロジックデバイス（ＰＬＤ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）のような書換え可能な論理デバイスを用いることができる。例えば、ＰＬＤは、容易に回路の変更が可能であり、このような論理デバイスはハードウェアなので高速動作を維持することができる。従って、通信ネットワークが高速化してトラフィックが増大しても、端末パソコンのＣＰＵに負荷をかけることなく高速にウイルス検査を実施することができる。
【００１２】
さらに、ＰＬＤなどの書換え可能な論理デバイスに書き込む制御データ（コンフィグレーションデータ）は、通信ネットワークを介してサーバ装置などから配信することができる。このためには、ウイルスチェック装置内にＰＩＣ等の小規模ＣＰＵ、Ｆｌａｓｈメモリなど制御を一時的に蓄積するための記憶領域を付加し、ＰＬＤを更新する制御部を設けるだけでよい。また、コンフィグレーションデータが大きくなるときには、差分を用いたりデータ圧縮技術を用いることも可能である。
【００１３】
サーバ装置による制御データ（ＰＬＤコンフィグレーションデータ）を配信する方式を説明すると、例えば、データが装置のバッファに蓄積完了したとして、通信がアイドルになったときに装置内のＣＰＵ（ＰＩＣなど）がネットワークを停止する。ＰＬＤを書換えモードにして、データを書き換えた後、リスタートする。制御データがウイルスチェック装置のバッファに蓄積完了したとして、通信がアイドルになったときに装置内のＣＰＵ（ＰＩＣなど）がネットワークを停止する。ＰＬＤを書換えモードにして、データを書き換えた後、リスタートする。なお、制御データを端末側に配信する場合、デジタル署名や暗号化などのセキュアな仕組みを利用することが好ましい。
【００１４】
この発明によるウイルスチェック装置は、ネットワークの通信路に挿入することができる。通信プロトコルを合わせれば、全ゆる通信路（ネットワーク、ＩＤＥケーブル、データバスなど）に挿入可能である。この発明によるウイルスチェック装置をコンピュータの外付け装置として用いる場合は電源の供給が必要であるが、供給方法には制約はなく、通常の商用電源コンセントから供給する方法の他に、たとえば、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））のケーブル経由で供給することも可能である。また、ＵＳＢ接続のネットワークアダプタに組み込んだり、ＩＥＥＥ１３９４接続のネットワークアダプタに組み込むこともできる。
【００１５】
また、ウイルスチェック装置をコンピュータ端末に内蔵させることもできる。例えば、コンピュータに内蔵されるイーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））アダプタカード（ＮＩＣ）上に組み込むこともできる。コンピュータに内蔵された無線ＬＡＮアダプタや無線ＬＡＮ用ＰＣＭＣＩＡカードアダプタ等についても同様である。
【００１６】
この発明によるウイルスチェックシステムでは、コンピュータ等の端末装置側においては、ウイルスチェック用のハードウェア回路にウイルス定義を構成される。この場合、ウイルス定義を定数としてあらかじめ構成された回路に埋め込むこともできる。また、ウイルス定義ファイルはサーバ上に置き、その後、書換え可能論理デバイス（ＰＬＤ）用の論理合成ソフトウェアを使用して制御データ（ＰＬＤコンフィグレーションデータ）を生成させることができる。これらの一連の生成過程は、サーバ上で全て行っても良いし、ウイルス定義をそのまま装置へ配信することもできるし、或いは、途中の段階のものを端末装置へ配信して、残りの処理を端末装置上で行うように実装することも可能である。
【００１７】
この発明によるウイルスチェック装置では、実施例（図３、図４）で詳述するように、論理回路（論理デバイス）を用いてウイルス定義と通信路を流れるデータの比較を行う。この場合、前処理（コンテンツ以外の除去）を施されたデータは、論理回路の入力部（ＦＩＦＯ）を通過する間にウイルス定義と比較され、ウイルス定義と符合しなければそのまま通過し、符合（一致）した場合は、警報情報を出力し、例えば、パケットの削除やパケットの受け取り先への通知など、適宜、必要な処理を行うことができる。
【００１８】
この発明によると、上述したように、通信路等を通過するディジタルデータを、ウイルスチェックハードウエア（ウイルスチェッカー）によって、高速に照合するようにしているので、特に、１Ｇｂｐｓを超えるような高速なデータ転送を行うシステムに対して、極めて有効である。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、各図面では、電源供給に係る要素等、回路動作に必要であってもこの発明の要旨に直接関係のない要素の記述は省略している。
【００２０】
〔システムの全体構成〕
図１は、この発明の一実施例によるウイルスチェックシステムの全体構成を概略的に示している。本体装置であるコンピュータ（図中符号００２）は、通信ネットワーク（図中符号００５）との入力通信路側にウイルスチェック用ハードウェア装置（本発明の装置、図中符号００１）が挿入されており、このハードウェア装置は、本明細書において“ウイルスチェッカー”と呼ばれる。ウイルスチェッカー００１とコンピュータ００２を結ぶ通信ネットワーク（図中符号００６）は通信ネットワーク００５と同じ媒体でも異なる媒体でも本発明の機能には影響はなく、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））などの有線ネットワークでも、無線ＬＡＮなどの無線ネットワークでも適用可能である。例えば、００５が１００ＢＡＳＥ−ＴＸで００６が１０ＢＡＳＥ−Ｔの場合などである。コンピュータ００２はパーソナルコンピュータ（ＰＣ、パソコン）の他、ワークステーション、Ｍａｃｉｎｔｏｓｈコンピュータ、コンピュータ・クラスタ、大型コンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）など通信ネットワークに接続される計算機類であれば何でもよい。このウイルスチェッカーは、通信ネットワークから入力されてくるデータをウイルス特徴データ（ウイルスパターン）と照合することにより、ウイルスのコンピュータ等への侵入をリアルタイムに検知あるいは阻止することができる。また、ウイルスチェッカーのウイルスパターン及び照合機能デバイスは再構成可能なＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）で構成することができ、この場合、必要時に通信ネットワーク上のサーバ（図中符号００４）から最新のウイルスパターンを受信し、それを用いて再構成を行うことができる。サーバ００４は、パーソナルコンピュータやワークステーションなど、インターネットに接続され、他のコンピュータに対してデータを配信する能力を持つものであれば何でもよい。また、サーバ００４は、ウイルスチェッカー００１と直接つながっていても、図１のように通信データを中継する機能を持つネットワーク・ハブ（図中符号００３）を介してつながっていても、また、他の中継やＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）同士を接続する機能を有する機器類で接続されていてもよい。
【００２１】
図２は、ウイルスチェッカー００１を、片方向の通信ネットワーク中に接続した一例を模式的に示した図である。図２中、符号００５はデータが流れてくる通信ネットワーク（外部からのデータ入力路）、００６はコンピュータ００２側の通信ネットワークである。０１３は通信ネットワーク上の電気的な信号を１バイト（８ビット）幅のディジタルデータに変換する処理回路、０１４はバイト幅のネットワークデータを導く配線、０１５はバイトデータを高速に比較・照合するウイルス照合器、０１６はウイルスデータが除去されたバイトデータを導く配線、０１７はバイトデータを通信ネットワーク上の電気的な信号に変換する処理回路である。ウイルス照合器０１５は再構成可能なデバイスを用いて実装される。たとえば、Ａｌｔｅｒａ社やＸｉｌｉｎｘ社などの製品であるＣＰＬＤやＦＰＧＡなどを用いる。ウイルス照合器０１５のもう一つの出力信号０１９はウイルスを検出したことを示す信号であり、ウイルスの検出をコンピュータやユーザに通知するためのウイルス検出通知器０２０に入力される。ウイルス検出信号０１９は、ウイルスを検出したことと検出したウイルスの種類をウイルス検出通知器０２０に知らせる。ウイルス検出通知器０２０は、検出したウイルスの情報をＬＥＤなどで表示してユーザに通知する、ウイルスを検出したネットワークデータの００６への出力を阻止する、コンピュータ００２に対して検出したウイルスの情報を通知するなど、コンピュータ００２が必要とする様々な機能を実装することが可能である。図２中、符号０２１はウイルスパターン書換器で、ＬＡＮ経由で供給される最新版のウイルスパターンを記録し、ウイルス照合器を更新する操作を行う。
【００２２】
通信ネットワーク００５上をコンピュータ００２に向かってくるネットワークデータは、すべて処理回路０１３でバイトデータに変換され、ウイルス照合器０１５に導かれる。ウイルス照合器０１５では、導かれたネットワークデータを、そのまま又は前処理を行い、内部に構成された照合回路により高速に監視してパターンとの比較を行い、その判定結果をウイルス検出信号０１９として用途に応じて適切な形で出力する。
【００２３】
ウイルス照合器０１５の実装に再構成可能な論理デバイス（ＰＬＤ、ＦＰＧＡなど）を用いることにより、ウイルスパターンに変更が生じた場合は、ウイルス照合器０１５を最新のウイルスパターンに即した回路に再構成することで対応できる。また、このウイルス照合器０１５の回路はハードウェアであるため、高速な比較が可能であり、ネットワークデータ通信に大きな遅延を引き起こすことなく、なおかつ、コンピュータ００２に負荷をかけることもなく、ネットワークデータの監視を行うことができる。
【００２４】
ウイルス照合器０１５の内部は図３のように実装することもできる。図中、符号０３０はネットワークデータ０１４を受け取ってウイルスパターンの長さ以上のバイトデータを保持するＦＩＦＯであり、ＦＩＦＯに保持されたネットワークバイトデータ０３１はバイト一致照合器０３２に対してバイト単位で出力され、０３２はバイト単位でウイルスパターンとの照合を行う。バイト一致照合器０３２は入力されるネットワークデータバイト０３１を、常時ウイルスパターンを照合し続け、一致を検出した瞬間にウイルス信号０１９を出力することが可能である。再構成可能なデバイスで０１５を構成する場合は、構成が固定的なＦＩＦＯの部分を再構成可能デイバスに含めることも、含めないことも可能である。
【００２５】
バイト一致検出器０３２の、１つのウイルスパターンと照合するための回路構成を図４に示す。図中符号０４１はバイト比較器であり、ネットワークデータを１バイト単位でウイルスパターンと比較する。バイト比較器０４１の列は、ウイルスパターンを構成するバイトデータの並びに沿って定数比較回路として実装され、並べられるので、その出力信号であるバイト一致信号０４２が全て一致した場合は、入力されたネットワーク上のデータ中にウイルスが含まれることを示す。一致信号統合器０４０は、バイト一致信号が全て一致を示した場合にウイルス検出信号０１９を生成するような回路である。
【００２６】
図３のウイルス照合器０１５は、１つのウイルスパターンに対する照合を実現するための実装例であるが、この構成を拡張することにより、同時に複数個のウイルスパターンに対する照合を実現することが可能である。図５は図３の拡張方法の一つを示す。これは、ＦＩＦＯの出力を複数のバイト一致検出器０３２に分配して、異なるウイルスパターンに対して同時に照合を行う方法である。バイト一致検出器０３２には、図４の構成を使用することが可能であり、それぞれのバイト一致検出器０３２が異なるウイルスパターンに対する照合を行う。この構成では、複数のバイト一致検出器０３２の出力から、１つのウイルス検出信号０１９を生成するためにウイルス検出統合器０３３を用いる。これは、複数のバイト一致検出器０３２のうちのどれか１つから個別ウイルス信号０３４が出力された場合に、ウイルスが検出されたことと検出されたウイルスの種類を示す信号であるウイルス検出信号０１９を生成する回路である。
【００２７】
また、図３のウイルス照合器０１５は、図６のようにしても拡張が可能である。図６では、図３のウイルス照合器０１５、すなわち単一段ウイルス照合器０５０をその一部として含む。そして、図のように単一段ウイルス照合器０５０を従属接続して、複数のウイルスパターンに対して、順次比較を行うことが可能となる。この場合も図５の構成同様、複数のウイルス検出信号を統合するために、複数段ウイルス検出統合器０５２を用いる。この複数段ウイルス検出統合器も、図５のウイルス検出統合器と同じ機能を有し、複数のウイルス照合器０５０のうちのどれか１つから単一段ウイルス信号０５１が出力された場合に、ウイルスが検出されたことと検出されたウイルスの種類を示す信号であるウイルス検出信号０１９を生成する回路である。なお、図３のウイルス照合器０１５の拡張には、図５の方法と図６の方法を同時に適用してもよい。
【００２８】
図７に、ウイルスパターン書換器０２１の実装例を示す。この例では、書換パターン検出器０６０が、常時、ネットワークデータバイト０１４を監視し、ウイルスパターンの更新データを示す印のついたデータ列を検出した場合に、書換パターン一致検出信号０６３を生成して、パターン書換器０６２を起動する。書換パターン検出器０６０の実装には、図３のウイルス照合器と全く同じハードウェア構成を用いることもでき、また、同等な機能を有する他の構成を用いることも可能である。書換パターンバッファメモリ０６１はネットワークデータバイト０１４に流れるデータバイト列のうち、ある長さの最新のデータを常に保持する機能を持つ。書換パターンバッファメモリ０６１が保持するデータバイトの長さは、書換パターン長の最大値よりも長い値に設定する。書換パターン一致検出信号０６３により起動されたパターン書換器０６２は、書換パターン操作信号０６４を介して書換パターンバッファメモリ０６１のデータ更新を停止させ、続いて、ウイルス照合器０１５の動作を停止させる。次に、パターン書換器０６２は、書換パターンバッファメモリ０６１中に保持されている更新用のウイルスパターンを用いて、ウイルス照合器０１５内部に用いられている再構成可能デイバスを更新する。更新方法などは、実装に使用している再構成可能デバイスごとに適切な方法を用いる。更新が終了した後、書換パターンバッファメモリ０６１の動作を再開させ、続いて、ウイルス照合器０１５の動作も再開させる。
【００２９】
図２のウイルスチェッカーは、通信ネットワークが片方向にデータをやり取りする場合の例を示したが、この実装を用いて通常の通信ネットワークの形態である双方向データ通信路用に拡張した例を図８に示す。図中、符号００１は図２に示したようなウイルスチェッカーであり、通信ネットワーク００５と００６は双方向のネットワークである。双方向ウイルスチェッカー１０１に入力された通信ネットワークデータは、双方向信号分離器１０２によって片方向ずつの信号の流れに分離され、ウイルスチェッカーを通過後、再度、双方向信号分離器１０２によって双方向信号に統合される。双方向信号分離器１０２には、イーサネット（登録商標）用のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）のネットワーク入力部に使用されるハイブリッドと呼ばれる回路などを用いて実装することができる。
【００３０】
図９を用いて、ウイルス照合器０１５のパターン書き換えを説明する。まず、ネットワーク・ハブ００３などを介して通信ネットワーク００５につながっているか、もしくはインターネット上に存在するサーバ００４が、ある特定の印をつけたウイルスパターン更新データを、ウイルスチェッカー００１に入力されるような何らかの方法で通信ネットワーク００５に出力する。たとえば、ウイルスチェッカー００１が入力側に挿入されているコンピュータ００２に対する通信データとして出力する方法や、可能な場合にはブロードキャストなどの通信方法で出力することも可能である。ウイルスチェッカー００１内部では、通信ネットワークデータはネットワークデータバイト０１４としてウイルス照合器０１５やウイルスパターン書換器０２１に入力されているが、ウイルスパターン更新データの印のついたネットワークデータをウイルスパターン書換器０２１が認識すると、前々節の説明のようにウイルスパターン更新データを取り出して、ウイルス照合器の機能を停止させ、パターン書き換え信号１１０を用いてウイルス照合器０１５を再構成した後に再起動する。
【００３１】
図９では、ウイルスパターン書換器０２１はウイルスチェッカー００１の内部に組み込まれているが、図１０のように外部ウイルスパターン書き換え装置１２０としてウイルスチェッカー００１の外部に実装することも可能である。この構成の場合は、外部ウイルスパターン書き換え装置１２０をウイルスチェッカー００１に常時接続した状態にして、ウイルスパターンを自動更新することもできるが、更新が必要になったときにのみ外部ウイルスパターン書き換え装置１２０をウイルスチェッカー００１に接続して、ユーザの手で書き換え操作を行うことも可能である。
【００３２】
さらに、図１１のようにウイルスパターン書換機能を外部に置き、かつ、コンピュータ００２に通信ネットワーク００６とは別の媒体によって、あるいは通信ネットワーク００６を用いて接続し、コンピュータ００２上のソフトウェアを利用してウイルスパターンの書き換えを行うことも可能である。この構成の場合、通常動作時にはウイルスチェッカー００１はコンピュータ００２から独立して動作しているが、コンピュータ００２にウイルスパターン更新データが到着した場合には、コンピュータ００２がウイルスチェッカー００１の動作を停止して、ＰＣウイルスチェッカーパターン書換インターフェース１３０を介してウイルス照合器０１５を書き換え、再起動することにより、ウイルスパターンの更新を実現することも可能である。また、この構成の場合、必要になったときにサーバ００４がコンピュータ００２に対してウイルスパターン更新データを送ることも可能であり、あるいは、コンピュータ００２が能動的かつ定期的にサーバ００４に対してウイルスパターン更新データの存在をチェックすることも可能である。また、両者を併用することも、ユーザの指示により更新のチェックや更新操作を行うことも可能である。さらに、ウイルス照合器０１５を構成する再構成可能デバイスをこの装置から取り外し、市販のデータ書き込み装置を用いてコンピュータ００２内のデータをこの再構成可能デバイスに書き込むことでウイルスパターンの更新を実現することも可能である。
【００３３】
ウイルスチェッカー００１が用いるウイルスパターンは、ウイルス本体の特徴を示すデータ列そのままでもよく、ウイルス照合器０１５を再構成するためのデータの形式を取ることも可能である。このＰＬＤなどの再構成用のデータはコンフィグレーションデータなどと呼ばれ、図１２のように生成することも可能である。図中、符号２００はウイルスの特徴を示すデータバイト列そのままのデータである。定数バイト列であるこの生データ２００を用いて、定数との比較を行うハードウェアを生成するようなＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたウイルス照合器の一部あるいは全部を生成する。出力がウイルス識別ＨＤＬデータ２０２である。より具体的には、ウイル識別ＨＤＬ生成ソフトウェア２０１は回路の枠組みを記述したようなテンプレートのＨＤＬファイルに比較対照の定数値である生のウイルスパターンのデータを書き込む処理を行う。このウイルス識別ＨＤＬデータ２０２は、ＨＤＬファイルから実際にウイルス照合器０１５の実装に使用されている再構成可能デバイス用のコンフィグレーションデータを生成可能なＦＰＧＡ用論理合成ソフトウェアと呼ばれるプログラムを用いて、最終的なウイルスパターン２０４に変換される。
【００３４】
ウイルスパターン２０４のサイズが大きくなってしまう場合には、図１３のようにさらに何らかの圧縮ソフトウェア２０５を用いてデータ圧縮を行い、圧縮ウイルスパターン２０６をウイルスチェッカーに送信してもよい。この時、ウイルスチェッカー００１パターン書換器０２１を内蔵する場合には、パターン書換器０２１が圧縮ウイルスパターン２０６から元のウイルスパターン２０４を生成し、また、ウイルスパターンの更新をコンピュータ００２が行う場合には、コンピュータ００２上のソフトウェアが圧縮ウイルスパターン２０６から元のウイルスパターン２０４を生成してもよい。この圧縮に用いるアルゴリズムとしては、一般に用いられているような様々なデータ圧縮法を用いてもよく、また、一つ前の版のウイルスパターンとの差分のみを送る、あるいは、差分をさらにデータ圧縮をかけて送るといった方法でもよい。
【００３５】
図１４にウイルスパターンの更新を含む本システムの動作ステップを示す。状態３００は初期状態であり、電源を入れた直後に装置として必要な初期化などの動作を行い、それらが終了後自動的に次の状態３０１に移行する。状態３０１では、ウイルスチェッカー００１内部に記憶されている最新のウイルスパターンのデータを、ウイルス照合器０１５内部の再構成可能デバイスにロードし、可能な場合には機能チェックなどを行い、次の状態３０２に進む。状態３０２は通常の動作状態であり、通信ネットワーク上のデータを監視すると同時に、ウイルスパターン更新データのチェックを行う。続く判断３０３ではウイルスパターン更新データが到着しているか否かをチェックし、到着していれば状態３０４に、到着していなければ状態３０２に移行する。ウイルスパターン更新データが到着していた場合、状態３０４でウイルスパターンの更新処理を行い、到着した更新データを最新のウイルスパターンデータとして記録し、必要な場合には初期化を行い、さらに可能な場合には機能チェックなどを行い、状態３０２に移行する。本システムでは、終了に際して特別な処理は行わず、電源を切ることにより処理を終了する。
【００３６】
本発明のウイルスチェッカーは、コンピュータに内蔵するＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）やコンピュータの主要素が実装されるマザーボード、あるいはネットワーク機器であるルータ、スイッチングハブなどのデバイスに組み込むような設置方法も有効である。また、コンピュータ内部に実装されている各ネットワーク類の途中に挿入する設置方法も有効である。
【００３７】
ウイルスのコンピュータへの侵入路を考えるとき、ネットワークの他に、着脱可能なストレージデバイスが考えられる。このようなストレージデバイスはウイルスに感染したコンピュータと接続されることで、そのストレージ内にウイルスに感染したファイルを保有することになる可能性がある。
【００３８】
この発明によるウイルスチェック装置は、通信プロトコルを適応させることにより、コンピュータがアクセス可能なあらゆるストレージデバイスとの通信路にも挿入できる。この場合の電源供給条件や組み込み方法も、ネットワークの通信路に挿入する場合と同様である他、ストレージデバイス本体にウイルスチェック装置を組み込むことも可能である。この場合のＰＬＤなどの書き換え可能な論理デバイスに書き込む制御データは、コンピュータ端末内のコンピュータ上のソフトウェアを利用してウイルスパターンの書き換えを行うことができるほか、ウイルスチェック装置本体にネットワークや書き換え用のストレージデバイスを接続して書き換えを行うこともできる。
【００３９】
この装置をコンピュータ端末とストレージデバイス間に挿入することにより、ＣＰＵにウイルスチェックによる負荷をかけずにデータ転送やプログラムの実行が可能となる。
【００４０】
図１５は、本体装置であるコンピュータ００２と、ストレージデバイス１４０との接続ケーブル１４１にウイルスチェッカー００１が挿入されている。ウイルスチェッカー００１とコンピュータ００２を結ぶ接続ケーブルは、いかなる媒体でも本発明の機能には影響はなく、ＵＳＢやＩＥＥＥ１３９４、シリアル、パラレル、ＳＣＳＩ、ＩＤＥ、イーサネット（登録商標）などの有線ネットワーク、無線ＬＡＮなどの無線ネットワークなどでも適用可能である。また、このストレージデバイスはウイルスチェッカー００１と直接つながっていても、接続ケーブル途中に中継するハブを介してつながっていてもよい。
【００４１】
ウイルスチェッカーは、ケーブル上を通過するデータをウイルスパターンと照合することにより、ウイルスのストレージデバイスからコンピュータ等への侵入またはコンピュータ等からストレージデバイスへの侵入をリアルタイムに検知あるいは阻止することができる。
【００４２】
ウイルスチェッカーは、必要時に通信ネットワーク上のサーバ００４からコンピュータ００２上のソフトウェアを利用するか、直接ＬＡＮケーブル１４２を通じて最新のウイルスパターンを受信し、それを用いて再構成を行うことができる。
【００４３】
図１６は、図２で示したＬＡＮの模式図をストレージデバイスに適用した一例を示した図である。図２中で示した０１７のようなエンコーダが取り除かれているが、この例でもエンコーダを用いた適用は可能であり、もちろんその逆に図２中からエンコーダを取り除いた図１６のような適用も可能である。
【００４４】
図１６中、１４６は１４１を流れてくるデータを分離する回路である。分離してバッファ等のウイルス照合が終了するまでの間、遅延を生ずる回路１４５を挿入することにより、一度デコーダ１４４でデコードしたデータをエンコードして通信路に戻すような処理を省略できる。ウイルスチェックが十分に高速な場合は、回路１４５を省略することもできる。
【００４５】
本発明のウイルスチェッカーは、コンピュータに内蔵する様々なデータの伝送路に挿入する設置方法も有効である。またストレージデバイス本体の入出力装置に設置する方法も有効である。
【００４６】
パソコンの外部ストレージ本体に本発明のウイルスチェッカーを適用する場合は、ＵＳＢ、ＩＥＥＥ１３９４などのデータ通信を制御するコントローラに内蔵する方法も有効である。コントローラには図１７に示すように、データを一時的に保持するＦＩＦＯなどのバッファ１５１を設けてあり、データ１５３がバッファ１５１からデータバイト１５４としてバイト一致検出器１５２に出力されウイルスパターンの照合を行う。コントローラ内蔵のバッファがウイルスパターンに見合う十分な大きさでない場合は、別途バッファを設けることで適用できる。ウイルス照合器については図３に説明している。
【００４７】
図１８ではＵＳＢコントローラへの実装例を示す。ＵＳＢコントローラではエンドポイント１６１と呼ばれるＦＩＦＯにより、データを一時的にバッファリングしている。図１７でも示したようにこの位置にバイト一致検出器１６２を設置することで、ウイルス照合器を構成できる。エンドポイント１６１を単独で使用する場合は、ミキサー１６６はなくてもよく、ウイルスパターンとの部分一致のために一致検出信号１６５をバッファ１６７に保持し次の一致検出信号とミキサー１６８で合わせてウイルス一致検出器１６９で検出を行い、ウイルス検出信号１７０を出力する。エンドポイント１６１は複数をまとめて使用することもできる。その場合はミキサー１６６を通してグループであるエンドポイント１６１のバイト一致検出器１６２からの一致検出信号１６５をまとめ、一致検出信号バッファ１６７およびミキサー１６８へ送出する。図１８では１６６〜１６９をＵＳＢコントローラ１５０の外に置いているが、必ずしもそうする必要はなく、１６６〜１６９のどこまでをＵＳＢコントローラに取り込んでもよいし、バイト一致検出器１６２から後ろをコントローラの外に置くこともできる。
【００４８】
図１８ではＵＳＢ接続のストレージについて実装例を示したが、同様の用途に使用される、ＩＥＥＥ１３９４やＳＣＳＩなどをインタフェースとするストレージについても、同様な適用ができる。もちろんコントローラに内蔵されたバッファを利用する以外にも、照合対象となるデータの識別が可能な位置であれば、本発明のウイルスチェッカーを挿入することが可能である。
【００４９】
さらに現在ソフトウェアで実装されているウイルス対策ツールは、ウイルスの検出以外に侵入阻止や除去などの機能を有しているが、それらの機能はいずれも検出後に実行される処理であり、検出部に本アイデアを適応することで処理の高速化及び高効率化を図ることが可能である。逆に本検出部にウイルス侵入阻止部やウイルス除去部などの機能を付加することで、現行のウイルス対策ツールと機能的に全く同等の物を構築可能である。
以上、図示例に基づき説明したが、この発明は上述の例に限定されるものでなく、特許請求の範囲の記載の範囲内で当業者が容易に改変し得る他の構成をも含むものである。
【００５０】
以上説明したように、この発明によれば、通信ネットワーク通信路に挿入又はネットワークカード等に追加したウイルスチェック用ハードウェアを用いて、通信ネットワークから入力されてくるデータをウイルス特徴データと照合するようにしているので、ソフトウェアに比べ高速な処理が可能であるというハードウェアの利点を生かして、有害データ即ちウイルスのパーソナルコンピュータ等への侵入をリアルタイムで検知することができ、高速にウイルスを検出して侵入阻止や除去などの対応する対策を講じることができる。
【図面の簡単な説明】
【００５１】
【図１】この発明の一実施例によるウイルスチェックシステム全体の構成例を表わす図である。
【図２】この発明の一実施例によるウイルスチェック装置（ウイルスチェッカー）の一構成例〔１〕を表わす図である。
【図３】この発明の一実施例によるウイルスチェック装置におけるウイルス照合器の一構成例を表わす図である。
【図４】この発明の一実施例によるウイルスチェック装置におけるバイト一致検出器の一構成例を表わす図である。
【図５】この発明の一実施例によるウイルスチェック装置におけるウイルス照合器の他の構成例〔２〕を表わす図である。
【図６】この発明の一実施例によるウイルスチェック装置におけるウイルス照合器の別の構成例〔３〕を表わす図である。
【図７】この発明の一実施例によるウイルスチェックパターン書換器の一構成例を表わす図である。
【図８】この発明の一実施例による双方向性のウイルスチェック装置（双方向ウイルスチェッカー）の一構成例を示す図である。
【図９】この発明の一実施例によるウイルスチェックパターン書換器のウイルスチェッカーへの組込構成例を表わす図である。
【図１０】この発明の一実施例によるウイルスチェックパターン書換装置の別設構成例を表わす図である。
【図１１】この発明の一実施例によるＰＣ端末によるウイルスチェックパターン書換構成例を表わす図である。
【図１２】この発明の一実施例によるウイルスチェックパターンの生成工程例を表わす図である。
【図１３】この発明の一実施例による圧縮ウイルスチェックパターンの生成工程例を表わす図である。
【図１４】この発明の一実施例によるウイルスチェックパターンの書換フローを表わす図である。
【図１５】図１に示した例とは異なる本発明の別の実施例によるウイルスチェックシステム全体の構成例を表わす図である。
【図１６】図１５に示されるウイルスチェッカーの詳細を示す図であり、図２で示したＬＡＮの模式図をストレージデバイスに適用した一例を示した図である。
【図１７】コントローラの詳細を示す図である。
【図１８】ＵＳＢコントローラへの実装例を示す図である。
【図１】
2008299864.tif 000003
【図２】
2008299864.tif 000004
【図３】
2008299864.tif 000005
【図４】
2008299864.tif 000006
【図５】
2008299864.tif 000007
【図６】
2008299864.tif 000008
【図７】
2008299864.tif 000009
【図８】
2008299864.tif 000010
【図９】
2008299864.tif 000011
【図１０】
2008299864.tif 000012
【図１１】
2008299864.tif 000013
【図１２】
2008299864.tif 000014
【図１３】
2008299864.tif 000015
【図１４】
2008299864.tif 000016
【図１５】
2008299864.tif 000017
【図１６】
2008299864.tif 000018
【図１７】
2008299864.tif 000019
【図１８】
2008299864.tif 000020