(57)【特許請求の範囲】
【請求項１】
ウィルスチェックを行って、ウィルス侵入を防止するウィルスチェックネットワークシステムにおいて、
ウィルスパターンを格納するウィルスパターン格納手段と、受信したパケットを前記ウィルスパターンにもとづいて、ウィルスに感染している感染パケットか否かの前記ウィルスチェックを行い、前記ウィルスチェックを行う領域を複数設けて、装置毎に担当するウィルスチェック領域を分担し、ネットワーク上新規に置かれた場合には、他装置から前記ウィルスチェックの担当領域情報を収集して担当領域を決定するウィルスチェック手段と、前記感染パケットを検知した場合は、感染を示すパケット内のビットを立てて感染表示パケットとして送信するパケット送信手段と、から構成される複数のウィルスチェック装置と、
前記ビットにもとづいて、前記感染パケットを検出する感染パケット検出手段と、前記感染パケットに対応するファイルを実行不可にするファイル実行制御手段と、から構成されるクライアント端末と、
ウィルスパターン情報をマルチキャストで前記ウィルスチェック装置に配布するウィルスパターン情報配布手段と、前記ウィルスパターン情報を一元管理するウィルスパターン情報管理手段と、から構成されるウィルス情報管理局と、
を有することを特徴とするウィルスチェックネットワークシステム。
【請求項２】
前記ウィルスチェック手段は、前記パケットのヘッダを見て前記ウィルスチェックすべき前記パケットを選定することを特徴とする請求項１記載のウィルスチェックネットワークシステム。
【請求項３】
前記ウィルスチェック装置は、ルータに配置されることを特徴とする請求項１記載のウィルスチェックネットワークシステム。
【請求項４】
前記ウィルスチェック装置は、前記ウィルスパターン情報を前記マルチキャストで互いに通知することを特徴とする請求項１記載のウィルスチェックネットワークシステム。
【請求項５】
前記ウィルスチェック装置は、前記ウィルスの脅威レベルに応じて警戒モードを設定し、ホストとの通信を一定時間遮断させる警戒モード設定手段をさらに含むことを特徴とする請求項１記載のウィルスチェックネットワークシステム。
【請求項６】
前記パケット送信手段は、前記感染表示パケットの送信と共に、前記感染パケットの送信元に警告パケットを送信し、かつ他の前記ウィルスチェック装置に警戒すべき前記感染パケットの情報が記された警戒情報パケットをマルチキャストで配布することを特徴とする請求項１記載のウィルスチェックネットワークシステム。
【請求項７】
前記ウィルスチェック手段は、前記警戒情報パケットに記された前記感染パケットの前記ウィルスパターンの優先順位を上げて、前記ウィルスチェックを行うことを特徴とする請求項６記載のウィルスチェックネットワークシステム。
【請求項８】
ウィルスチェックを行って、ウィルス侵入を防止するウィルスチェック装置において、
ウィルスパターンを格納するウィルスパターン格納手段と、
受信したパケットを前記ウィルスパターンにもとづいて、ウィルスに感染している感染パケットか否かの前記ウィルスチェックを行い、前記ウィルスチェックを行う領域を複数設けて、装置毎に担当するウィルスチェック領域を分担し、ネットワーク上新規に置かれた場合には、他装置から前記ウィルスチェックの担当領域情報を収集して担当領域を決定するウィルスチェック手段と、
前記感染パケットの場合は、感染を示すパケット内のビットを立てて感染表示パケットとして送信するパケット送信手段と、
を有することを特徴するウィルスチェック装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はウィルスチェックネットワークシステム及びウィルスチェック装置に関し、特にウィルスチェックを行って、ウィルス侵入を防止するウィルスチェックネットワークシステム及びウィルスチェックを行って、ウィルス侵入を防止するウィルスチェック装置に関する。
【０００２】
【従来の技術】
近年、マルチメディア通信などの情報通信ネットワーク技術が急速に進歩している。また、インターネット等の流行により、企業のみならず一般家庭に対しても、ネットワークが提供するサービスが幅広く利用されている。
【０００３】
この反面、コンピュータウィルスの増加と感染のスピードは、ネットワークの普及と共に加速しており、多くの企業ユーザがウィルスの被害に遭っている現状が報告されている。
【０００４】
従来、ネットワークをウィルスの感染から守るには、クライアントやプロキシサーバ等にワクチン・ソフトを導入していた。このワクチン・ソフトを用いることにより、ウィルスに感染しているファイルからウィルスを取り去って、ファイルを修復することができる。
【０００５】
【発明が解決しようとする課題】
しかし、上記のような従来のウィルス対策は、クライアント側で行っているため、感染防止にはクライアントすべてに対して、個々にワクチン・ソフトを導入しなければならない。
【０００６】
このため、新種ウィルスに対しては、バージョンアップしたワクチン・ソフトを最初から逐一導入しなければならず、時間が非常にかかり効率が悪いといった問題があった。
【０００７】
また、従来のクライアント側でのウィルス対策では、新種ウィルス発見時のパターンファイルの更新などをはじめとする運用管理等は、各自ユーザに任されるため、ウィルス監視を徹底させることが難しいといった問題があった。
【０００８】
本発明はこのような点に鑑みてなされたものであり、ネットワーク側でウィルスを未然に防ぎ、ウィルス対策効率の向上を図ったウィルスチェックネットワークシステムを提供することを目的とする。
【０００９】
また、本発明の他の目的は、ネットワーク側でウィルスを未然に防ぎ、ウィルス対策効率の向上を図ったウィルスチェック装置を提供することである。  
【００１１】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示すような、ウィルスチェックを行って、ウィルス侵入を防止するウィルスチェックネットワークシステム１において、ウィルスパターンを格納するウィルスパターン格納手段１１と、受信したパケットをウィルスパターンにもとづいて、ウィルスに感染している感染パケットＰａか否かのウィルスチェックを行い、ウィルスチェックを行う領域を複数設けて、装置毎に担当するウィルスチェック領域を分担し、ネットワーク上新規に置かれた場合には、他装置からウィルスチェックの担当領域情報を収集して担当領域を決定するウィルスチェック手段１２と、感染パケットＰａを検知した場合は、感染を示すパケット内のビットを立てて感染表示パケットＰｂとして送信するパケット送信手段１３と、から構成される複数のウィルスチェック装置１０ａ〜１０ｎと、ビットにもとづいて、感染パケットＰａを検出する感染パケット検出手段２１と、感染パケットＰａに対応するファイルを実行不可にするファイル実行制御手段２２と、から構成されるクライアント端末２０ａ〜２０ｍと、ウィルスパターン情報をマルチキャストでウィルスチェック装置１０ａ〜１０ｎに配布するウィルスパターン情報配布手段３１と、ウィルスパターン情報を一元管理するウィルスパターン情報管理手段３２と、から構成されるウィルス情報管理局３０と、を有することを特徴とするウィルスチェックネットワークシステム１が提供される。
【００１２】
ここで、ウィルスパターン格納手段１１は、ウィルスパターンを格納する。ウィルスチェック手段１２は、受信したパケットをウィルスパターンにもとづいて、ウィルスに感染している感染パケットＰａか否かのウィルスチェックを行い、ウィルスチェックを行う領域を複数設けて、装置毎に担当するウィルスチェック領域を分担し、ネットワーク上新規に置かれた場合には、他装置からウィルスチェックの担当領域情報を収集して担当領域を決定する。パケット送信手段１３は、感染パケットＰａを検知した場合は、感染を示すパケット内のビットを立てて感染表示パケットＰｂとして送信する。感染パケット検出手段２１は、ビットにもとづいて、感染パケットＰａを検出する。ファイル実行制御手段２２は、感染パケットＰａに対応するファイルを実行不可にする。ウィルスパターン情報配布手段３１は、ウィルスパターン情報をマルチキャストでウィルスチェック装置１０ａ〜１０ｎに配布する。ウィルスパターン情報管理手段３２は、ウィルスパターン情報を一元管理する。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は本発明のウィルスチェックネットワークシステムの原理図である。
【００１４】
ウィルスチェックネットワークシステム１は、ウィルスチェック装置１０ａ〜１０ｎと、クライアント端末２０ａ〜２０ｍと、ウィルス情報管理局３０と、から構成され、ウィルスチェックを行って、ウィルス侵入を防止する。
【００１５】
ウィルスパターン格納手段１１は、ウィルスパターンを格納する。ウィルスチェック手段１２は、受信したパケットと、格納してあるウィルスパターンと、を比較し、パケットがウィルスに感染している感染パケットＰａか否かのウィルスチェックを行う。
【００１６】
パケット送信手段１３は、感染パケットＰａを検知した場合は、感染パケットＰａ内のあらかじめ設定した感染を示すビットを立てて、感染表示パケットＰｂとして送信する。
【００１７】
感染パケット検出手段２１は、感染表示パケットＰｂのビットにもとづいて、それが感染パケットＰａと検出する。ファイル実行制御手段２２は、感染パケットＰａに対応するファイルを実行不可にする。
【００１８】
ウィルスパターン情報配布手段３１は、最新のウィルスパターン情報をマルチキャストでウィルスチェック装置１０ａ〜１０ｎに配布する。配布されたウィルスパターンは、ウィルスパターン格納手段１１で格納される。
【００１９】
ウィルスパターン情報管理手段３２は、ウィルスパターン情報の新規設定、更新等の管理を一元的に行う。
次に本発明のウィルスチェックネットワークシステム１を、ルータで構成されているインターネット上のネットワークに適用した場合の実施の形態について以降説明する。本発明のウィルスチェック装置１０ａ〜１０ｎをいくつかのルータに配置させ、ウィルスチェックを行う。
【００２０】
なお、ウィルスチェック装置を配置したルータを以降では、ウィルスチェックルータと呼ぶ。
図２はウィルスチェックルータを配置したネットワークの概要を示す図である。ネットワーク１は、ルータＲ１〜Ｒ８と、クライアント端末２０ａ〜２０ｍと、ウィルス情報管理局３０と、から構成される。
【００２１】
図ではルータＲ１、Ｒ２、Ｒ３、Ｒ４がウィルスチェックルータであり、その他は通常のルータ機能のみを持つ。ウィルスチェックルータＲ２にウィルス情報管理局３０が接続し、ウィルスチェックルータＲ４にクライアント端末２０ａ〜２０ｍが接続する。
【００２２】
ウィルスチェックルータＲ１〜Ｒ４はウィルスのどの部分（先頭部、中間部、終端部）をチェックをするかを分担させており、各担当を最低１回は通過するように配置させる。
【００２３】
各ウィルスチェックルータＲ１〜Ｒ４は、ウィルス情報管理局３０からマルチキャストで配布されるウィルスパターンＶＰを受け取り、常に最新のウィルス情報を保持させておく。
【００２４】
受信したパケットに対し、ウィルスチェックルータＲ１〜Ｒ４は保持してあるウィルスパターンＶＰと比較する。もし感染している場合にはパケットにビットを立てる。
【００２５】
その際同時に送信元に対しては警告パケットＰｗ１を返し、各ウィルスチェックルータＲ１〜Ｒ４に対しては、警戒情報パケットＰｗ２をマルチキャストで配布する。
【００２６】
警戒情報パケットＰｗ２を受け取った各ウィルスチェックルータＲ１〜Ｒ４は、そのウィルスを優先的に検出、あるいは感染元との通信の遮断を行う。
クライアント端末２０ａ〜２０ｍでは、パケットを常に監視しており、感染を示すビットが立っている場合、あるいは警告パケットＰｗ１だった場合にはユーザにメッセージを表示し、受け取ったファイルの削除を促す。
【００２７】
次にウィルスパターンＶＰについて説明する。ウィルスパターンＶＰは、マルチキャストにのせて定期的に配布される。また新種のウィルスが発見されたら、ウィルス情報管理局３０は新たに作成したウィルスパターンＶＰをマルチキャストで各ウィルスチェックルータ１０ａ〜１０ｎに送り、各ウィルスチェックルータ１０ａ〜１０ｎは変更があればウィルスパターンを更新する。
【００２８】
図３はウィルスパターンＶＰのフォーマットを示す図である。ウィルスパターンＶＰは、ヘッダＶＰ−１にＥｔｈｅｒ  ＨｅｄｄｅｒとＩＰ  Ｈｅｄｄｅｒ（Ｍｕｌｔｉｃａｓｔ）とを持つ。
そして、ウィルスパターン配布を示すコードＶＰ−２と、ウィルスの種類を示すシリアル番号ＶＰ−３と、そのバージョン（改版番号）ＶＰ−４を持つ。
【００２９】
これらのあとに、実際のウィルスのバイナリから先頭部分（第１領域のウィルスパターン）ＶＰ−６、中間部分（第２領域のウィルスパターン）ＶＰ−７、終端部分（第３領域のウィルスパターン）ＶＰ−７を固定長バイトごと抽出したものをつける。
【００３０】
なお、抽出部分はウィルス情報管理局３０によって任意に決められ、定期的に変更してバージョンＶＰ−４を更新する。
また、ウィルスの危険度に応じて脅威レベルＶＰ−５をウィルス情報管理局側３０で決定しておく。これにより危険度に応じた対応を可能にする。
【００３１】
ウィルスチェックルータ１０ａ〜１０ｎでは、受け取ったデータを元に自分の持つウィルスパターンＶＰを後述の検索テ−ブルに追加する。その際、各ウィルスチェックルータ１０ａ〜１０ｎはどの領域を分担するか決められており、受信したパケットから自分の担当するパターンのみを受け取る。
【００３２】
次にウィルスパターンＶＰの格納形式について説明する。図４はウィルスパターン格納手段１１の格納形式を示す図である。
ウィルスパターン格納手段１１は、ウィルスパターンＶＰを検索テ−ブル１１ａと、シリアル番号保持情報１１ｂと、に分けて格納する。
【００３３】
検索テ−ブル１１ａは、階層木構造をとる。それぞれ木の深さに応じて第１次階層、第２次階層、第３次階層…と呼ぶ。また、それぞれの枝部分とシリアル番号を対応させておく。
【００３４】
シリアル番号保持情報１１ｂは、現在自分の持っているシリアル番号とバージョンと脅威レベルを保持しており、ウィルスパターンＶＰのマルチキャストパケットが来た際、これと比較して変更が必要かどうかを判断する。
【００３５】
次に検索テ−ブル１１ａに新規にウィルスパケットＶＰを追加する場合の処理について説明する。各ウィルスチェックルータ１０ａ〜１０ｎは、自分の保持しているウィルスパターンＶＰのシリアル番号と、バージョン番号と、をシリアル番号保持情報１１ｂに検索テ−ブル１１ａとは別に保管している。
【００３６】
マルチキャストによる新規のウィルスパターンＶＰから自分の担当分を受け取ると、ウィルスパターンＶＰ情報を記録したシリアル番号保持情報１１ｂをもとにウィルスパターンＶＰの検索テ−ブル１１ａを更新する。
【００３７】
まず、シリアル番号とバージョンをチェックして変更が必要か判断する。変更が必要と判断すると検索テ−ブル１１ａの第１次階層、第２次階層、…と比較していって重ならなくなる部分を探し、そこから新規に枝を伸ばす。その後、新規追加した枝を最上位に移動させ、登録を終了する。
【００３８】
図５はウィルスパターン格納手段１１でのウィルスパターンＶＰを新規登録する際の処理手順を示すフローチャートである。
〔Ｓ１〕シリアル番号を自分のウィルスチェックルータ内に持っているかどうかを判断する。持っている場合はステップＳ２へ、持っていない場合はステップＳ４へ行く。
〔Ｓ２〕バージョン更新かどうかを判断する。更新ならばステップＳ３へ、更新でなければ終了する。
〔Ｓ３〕対象のシリアル番号の枝を削除する。
〔Ｓ４〕第１次階層と比較する。ステップＳ４の詳細は図６で説明する。
【００３９】
図６は第ｎ次階層と比較して、新たに枝を作成する際の処理手順を示すフローチャートである。
〔Ｓ１０〕ウィルスパターンから１文字とる。
〔Ｓ１１〕既存の検索テ−ブル１１ａの第ｎ次階層と比較する。
〔Ｓ１２〕ヒットした場合はステップＳ１３へ、そうでなければステップＳ１４へ行く。
〔Ｓ１３〕次の第ｎ＋１次階層と比較する。
〔Ｓ１４〕枝を追加する。
〔Ｓ１５〕枝の優先順位を上にもってくる。
【００４０】
以上説明したような処理手順で、新種のウィルスパターンＶＰに対して対応する枝を作成していき格納しておく。
次にウィルスチェックルータ１０の構成について説明する。図７はウィルスチェックルータ１０の構成を示す図である。
【００４１】
図に示す通常のパケットは、本発明のウィルスチェック手段１２に該当するウィルスチェックフィルタ１２でウィルスチェックが行われる。
ここでウィルスチェックを行うべきパケットは、パケットの中身がＴＣＰかつｆｔｐ、ｈｔｔｐ、ｓｍｔｐのいずれかのパケットで、かつまだチェックが完了していないパケットである。
【００４２】
ただし、それ以外のパケットは、負荷軽減のためウィルスチェックフィルタ１２をウィルスチェックせずに通過させる。また、オフセット値がある一定以上のパケット、つまりフローの後ろの方のパケットも通過させる。なお、この際ウィルスチェック済みのビットを立てる。
【００４３】
一方、マルチキャストのパケットは、シリアル番号保持情報１１ｂでウィルスパターンの更新処理が行われ、検索テ−ブル１１ａに階層木構造形式で格納される。
【００４４】
そして、経路計算部１３ａで経路計算をした後、パケット生成送信部１３ｂは、ウィルスチェックに引っかかったパケットに対して、後述のＩＰヘッダのオプションのフィールドにビットを立てた感染表示パケットＰｂを生成する。以降の同一のフローのパケットに対してもビットを立てる。
【００４５】
また、パケット生成送信部１３ｂは、ＩＰパケットの送信元に向けて警告パケットＰｗ１を生成する。その後、感染表示パケットＰｂ、警告パケットＰｗ１を送信する。
【００４６】
なお、警戒モードに設定して、感染元との通信を遮断する警戒モード設定手段１４については後述する。
一方、クライアント端末２０では、ソフトウェアによってＩＰヘッダのウィルス感染を示すビットを監視している。ビットが立った感染表示パケットＰｂ及び警告パケットＰｗ１を受け取ったクライアント端末２０は，ユーザに対してウィルスに感染した旨のメッセージ表示を行う。
【００４７】
次にＩＰヘッダの構成について説明する。図８はＩＰヘッダの構成を示す図である。
バージョンは４ビットで、インターネットヘッダの形式を示す。ＩＨＬ（Ｉｎｔｅｒｎｅｔ  Ｈｅａｄｅｒ  Ｌｅｎｇｔｈ）  は４ビットで、ヘッダ長が３２ビットワード単位で示される。サービスタイプは８ビットで、スループット等のサービス品質が示される。全長は１６ビットで、オクテット単位で図った長さを示す。なお、全長にはヘッダとデータとを含む。
【００４８】
識別番号は１６ビットで、送信側を識別するために割り当てられた値でデータグラムのフラグメントを組み立てる際に使用される。Ｆｌａｇは３ビットで、フラグメントの分割許可または継続等の制御を示す。フラグメントオフセットは１３ビットで、データグラム内でフラグメントの占める位置を示す。
【００４９】
ｔｔｌは８ビットでデータグラムがインターネットのシステムに留まっていられる時間の最小値を示す。プロトコルは８ビットで、データグラムのデータ部を渡すべきトランスポートレイヤプロトコルを示す。ヘッダチェックサムは１６ビットでヘッダに対するチェックサムを示す。
【００５０】
始点アドレスは３２ビットで、始点のＩＰアドレスを示す。終点アドレスは３２ビットで終点のＩＰアドレスを示す。オプションは可変長で、ユーザが任意に定義できる。本発明ではこのオプション領域を利用して感染表示パケットＰｂ、、警告パケットＰｗ１及び警戒情報パケットＰｗ２を生成する。
【００５１】
次にウィルスチェック手段１２について説明する。図９はウィルスチェックの処理手順を示すフローチャートである。
〔Ｓ２０〕すでに別のウィルスチェックルータでチェック済みかどうかを判断する。チェック済みならステップＳ３０へ、そうでない場合はステップＳ２１へ行く。
〔Ｓ２１〕オフセット値が一定以上かどうかを判断する。一定以上の場合はステップＳ３０へ、そうでなければステップＳ２２へ行く。
〔Ｓ２２〕ＴＣＰパケットでかつｈｔｔｐ、ｆｔｐ、ｓｍｔｐのいずれかのパケットかどうかを判断する。その場合はステップＳ２３へ、そうでなければステップＳ３０へ行く。
〔Ｓ２３〕ウィルスチェックを行う。なお、詳細は図１０で説明する。
〔Ｓ２４〕感染しているかどうかを判断する。感染している場合はステップＳ２８へ、そうでなければステップＳ２５へ行く。
〔Ｓ２５〕次のパケットの１バイトをとる。
〔Ｓ２６〕終了かどうかを判断する。終了の場合はステップＳ２７へ、そうでなければステップＳ２３へ戻る。
〔Ｓ２７〕チェック済みのビットを立てる。
〔Ｓ２８〕ＩＰヘッダのオプションフィールドにビットを立てる。
〔Ｓ２９〕警告パケットＰｗ１、警戒情報パケットＰｗ２を発行する。
〔Ｓ３０〕経路計算を行う。
【００５２】
次に上記のステップＳ２３のウィルスチェックルーティンについて説明する。パケット内の１バイトをとり、まず検索テ−ブル１１ａ内の第１次階層と比較する。同じものがあった場合は、パケットから次の１バイトをとり、一致した枝の配下の第２次階層と比較する。
【００５３】
もし当てはまらなくなったらパケットの次の１バイトを取り出して最初から比較をやり直す。これを繰り返し最後まで当てはまる場合は、このバイトはウィルスに感染したと判断しＩＰヘッダのオプションのフィールドのビットを立てる。
【００５４】
また、もし検索の途中でパケットが終了した場合は感染していないものとみなし、代わりに別の領域を担当しているウィルスチェックルータにまかせる。
図１０はウィルスチェックルーティンの処理手順を示すフローチャートである。
〔Ｓ４０〕パケットから１バイトを取り出す。
〔Ｓ４１〕パケット完了かどうかを判断する。パケット完了の場合は終了し、そうでなければステップＳ４２へ行く。
〔Ｓ４２〕ウィルスパターン第ｎ次階層と比較する。
〔Ｓ４３〕ヒットしたかどうかを判断する。ヒットした場合はステップＳ４６へ、そうでなければステップＳ４４へ行く。
〔Ｓ４４〕階層を１次に戻す。
〔Ｓ４５〕第１次階層をチェックする。
〔Ｓ４６〕階層をｎ＋１次にする。
〔Ｓ４７〕ウィルスチェック完了かどうかを判断する。完了の場合はステップＳ４９へ、そうでなければステップＳ４８へ行く。
〔Ｓ４８〕第ｎ＋１次階層をチェックする。
〔Ｓ４９〕ウィルス感染と判断する。
【００５５】
次にウィルスチェック時に立てるビットについて説明する。ウィルスチェックルータでウィルスチェックを実施すると、まずＩＨＬフィールドを１増加してオプション領域を確保する。そして、確保されたオプション領域にビットを立てる。
【００５６】
図１１は感染表示パケットＰｂのＩＰパケットのフォーマットを示す図である。まず、ＩＨＬフィールドを１増加する。そして、オプション領域をＴｈｅ  Ｃｏｐｉｅｄ  ｆｌａｇ＝０  、Ｔｈｅ  ｏｐｔｉｏｎ  Ｃｌａｓｓｅｓ＝３（将来の予約用領域）、  Ｔｈｅ  ｏｐｔｉｏｎ  Ｎｕｍｂｅｒ＝１（感染表示パケットＰｂ：ウィルスチェックをしたことを示すコード）、  Ｌｅｎｇｔｈ＝５  と設定する。
【００５７】
また、Ｏｐｔｉｏｎ  Ｖａｌｕｅとして第１ビットは第１領域チェック未／済、第２ビットは第２領域チェック未／済、第３ビットは第３領域チェック未／済と割り当てる。すなわち、ウィルスチェックをしたかどうかの情報を記す。
【００５８】
そして、第４ビットはウィルス未感染／感染を示し、未感染なら０、感染している場合は１を立てて、感染表示パケットＰｂを表す。なお、第５ビット以降はシリアル番号である。
【００５９】
次に警告パケットＰｗ１について説明する。ウィルスチェックルータでウィルスを検知した際に送信元には警告パケットＰｗ１を送信し、周囲のウィルスチェックルータには警戒情報パケットＰｗ２をマルチキャストで送信する。これによってウィルスの早期発見、拡大防止をはかる。
【００６０】
警告パケットＰｗ１は、ウィルス検知時のパケットと同様にＩＰヘッダのオプション領域のビットを立て、以下のフォーマットで送信元に配送される。
図１２は警告パケットＰｗ１のフォーマットを示す図である。まず、ＩＨＬフィールドを１増加する。そして、オプション領域をＴｈｅ  Ｃｏｐｉｅｄ  ｆｌａｇ＝０  、Ｔｈｅ  ｏｐｔｉｏｎ  Ｃｌａｓｓｅｓ＝３（将来の予約用領域）、  Ｔｈｅ  ｏｐｔｉｏｎ  Ｎｕｍｂｅｒ＝２（警告パケットＰｗ１を示すコード）、  Ｌｅｎｇｔｈ＝３  と設定する。そして、図１１で説明したチェック未／済のオプションを付加する。また、終点アドレスが感染元のアドレスとなる。
【００６１】
次にクライアント側の処理について説明する。図１３はクライアント端末２０の構成を示す図である。本発明の感染パケット検出手段２１はＬＡＮドライバ２１ａに、ファイル実行制御手段２２はＴＣＰ／ＩＰドライバ２２ｂに含まれる。
【００６２】
ＬＡＮドライバ２１ａは、送られてくる各フローについて、各パケットのウィルスチェックビットを見る。そして、ビットが立っているかどうかを判断し、その結果をＴＣＰ／ＩＰドライバ２２ｂに通知する。
【００６３】
ＴＣＰ／ＩＰドライ２２ｂは、ビットが立っている旨の通知を受けると、対応するファイルを実行不可にした後、ファイルを削除する旨のメッセージ２０−１を表示する。
【００６４】
次にクライアント端末２０でのビット監視の流れについて説明する。図１４、図１５はクライアント端末２０のビット監視の処理手順を示すフローチャートである。
〔Ｓ５０〕パケットを読み込む。
〔Ｓ５１〕新規のフローかどうかを判断する。新規のフローの場合はステップＳ５２へ、そうでなければステップＳ５３へ行く。
〔Ｓ５２〕フロー情報を追加する。
〔Ｓ５３〕終了フローかどうかを判断する。終了フローの場合はステップＳ５４へ、そうでなければステップＳ５５へ行く。
〔Ｓ５４〕フロー情報から該当フローを削除する。
〔Ｓ５５〕ビットをチェックする。
〔Ｓ５６〕ヒットしたかどうかを判断する。ヒットした場合はステップＳ５８へ、そうでなければステップＳ５７へ行く。
〔Ｓ５７〕ＴＣＰ／ＩＰドライバ２２ｂに処理を渡す。
〔Ｓ５８〕警告パケットＰｗ１かどうかを判断する。警告パケットの場合はステップＳ５９へ、そうでなければステップＳ６０へ行く。
〔Ｓ５９〕警告の旨のメッセージを表示する。
〔Ｓ６０〕ファイルの実行権をなくす。
〔Ｓ６１〕警告メッセージ２０−１の表示を行う。
【００６５】
次に警戒情報パケットＰｗ２について説明する。ウィルスチェックルータでウィルス検知された際、各ウィルスチェックルータにはマルチキャストで警戒情報パケットＰｗ２を出す。警戒情報パケットＰｗ２はウィルスパケットのシリアル番号と送信元ＩＰアドレスを情報として持ち、マルチキャストで配布される。
【００６６】
警戒情報パケットＰｗ２を受け取った各ウィルスチェックルータは受け取ったシリアル番号のウィルスパターンＶＰの検索の優先順位を上げる。
図１６は警戒情報パケットＰｗ２のフォーマットを示す図である。警戒情報パケットＰｗ２は、ヘッダＰｗ２−１にＥｔｈｅｒ  ＨｅｄｄｅｒとＩＰ  Ｈｅｄｄｅｒ（Ｍｕｌｔｉｃａｓｔ）とを持つ。
【００６７】
そして、警戒情報を示すコードＰｗ２−２と、ウィルスの種類を示すシリアル番号Ｐｗ２−３と、そのバージョン（改版番号）Ｐｗ２−４を持つ。
さらに、ウィルスの危険度に応じた脅威レベルＰｗ２−５と、ウィルス感染元のＩＰアドレスＰｗ２−６をつける。
【００６８】
次に警戒情報パケットＰｗ２を受け取った際の検索順番の処理手順について説明する。図１７は警戒情報パケットＰｗ２を受け取った際の検索順番の処理手順を示す図である。
〔Ｓ７０〕警戒情報パケットＰｗ２からシリアル番号を取得する。
〔Ｓ７１〕第１次階層、第２次階層、…第ｎ次階層、の検索順位を最上位に上げる。
【００６９】
次に感染元との通信遮断を行うための警戒モード設定手段１４について説明する。脅威レベルがある一定以上の場合、拡大を防止するためウィルスチェックルータ側でホストとの通信を一定時間遮断させる。
【００７０】
警戒情報パケットＰｗ２の中の脅威レベルを見て、ある一定以上の場合はＩＰアドレスをテ−ブルに保存し、警戒モードに移行する。
警戒モードでは通常の処理の前にくるパケットをチェックし、テ−ブルにあるアドレスから来たパケットと、テ−ブルにあるアドレスに向かうパケットと、を一定時間だけすべて廃棄する。
【００７１】
廃棄させる時間は、再送要求がタイムアウトする程度の時間とし、テ−ブルに保存された時にカウンタが一緒に設定される。
もしこの時間内にパケットが来なかったらテ−ブルから削除し、警戒モードを解除する。逆にパケットが来たら時間（カウンタのカウント値）を延長させる。
【００７２】
図１８は警戒モード設定手段１４が行う警戒モードの処理手順を示すフローチャートである。
〔Ｓ８０〕脅威レベルは一定以上かどうかを判断する。一定以上の場合は、ステップＳ８１へ、そうでなければステップＳ８９へ行く。
〔Ｓ８１〕警戒ＩＰアドレスを保持する警戒ＩＰアドレステ−ブルにＩＰアドレスと、警戒モードにしておく時間をカウントするカウンタ値と、を設定する。
〔Ｓ８２〕パケットを読み込む。
〔Ｓ８３〕始点／終点のアドレスがテ−ブルと一致するかどうかを判断する。一致する場合はステップＳ８４へ、そうでなければステップＳ８６へ行く。
〔Ｓ８４〕パケットを廃棄する。
〔Ｓ８５〕カウンタ値を延長する。すなわち、警戒モードにする時間をさらに長くする。
〔Ｓ８６〕カウンタ値を減少する。すなわち、警戒モードにする時間を短くする。
〔Ｓ８７〕カウンタを終了するかどうかを判断する。終了の場合はステップＳ８８へ、終了しない場合はステップＳ８２へ戻る。
〔Ｓ８８〕警戒ＩＰアドレステ−ブルからＩＰアドレスと、カウンタ値を削除する。
〔Ｓ８９〕通常モードにする。
【００７３】
次にウィルスチェックルータの協調による負荷分散及びチェック精度向上について説明する。ウィルスのバイナリデータは小さく、パケットをまたがってバイナリが分割してしまう場合がある。したがって、各ウィルスチェックルータ毎に担当するウィルスパターンＶＰを異なるように分担させ保持させる。
【００７４】
これにより、もしある領域で仮りにパケットの途中でウィルスのバイナリが切れてしまった場合でも、別なパケットでは別の領域のチェックにかかるようになる。
【００７５】
ウィルスチェックルータに対するウィルスパターンの各分担は、手動でも自動でも設定可能とする。ただし、手動で設定する場合は、パケットは受信先に到着するまでにはすべての領域がチェックされるような構成、つまりそれぞれ分担しているウィルスチェックルータを最低１回ずつは通るような構成にする必要がある。
【００７６】
次に自動で設定する場合について説明する。図１９は担当分担領域要求パケットのフォーマットを示す図である。図に示すフォーマットを用いて自動設定する。
【００７７】
まず、新規のウィルスチェックルータは担当分担領域要求パケット１００を自分が配布可能な全てのウィルスチェックルータに配布する。
この場合ｔｔｌ領域は小さく設定して，余計な負荷は極力かけないようにしておく必要がある。
【００７８】
また、自分が持つルーティング情報から自分の接続している全ウィルスチェックルータそれぞれに対して、終点アドレスを挿入したパケットを発行する。
オプション領域は、Ｔｈｅ  Ｃｏｐｉｅｄ  ｆｌａｇ＝０  、Ｔｈｅ  ｏｐｔｉｏｎ  Ｃｌａｓｓｅｓ＝３（将来の予約用領域）、  Ｔｈｅ  ｏｐｔｉｏｎ  Ｎｕｍｂｅｒ＝３（担当分担領域要求パケット１００を示すコード）、  Ｌｅｎｇｔｈ＝３  、「空き」と設定する。
【００７９】
この担当分担領域要求パケット１００を受け取った各ウィルスチェックルータは、送信元に対して自分の担当領域を以下のような担当領域要求応答パケット１０１にのせて返送する。図２０は担当分担領域要求応答パケット１０１のフォーマットを示す図である。
【００８０】
ｔｔｌがまだ残っていれば、自分が受け取ったウィルスチェックルータ以外の配送できる範囲の全てのウィルスチェックルータに対して同報する。
担当分担領域要求応答パケット１０１のオプション領域は、Ｔｈｅ  Ｃｏｐｉｅｄ  ｆｌａｇ＝０  、Ｔｈｅ  ｏｐｔｉｏｎ  Ｃｌａｓｓｅｓ＝３（将来の予約用領域）、  Ｔｈｅ  ｏｐｔｉｏｎ  Ｎｕｍｂｅｒ＝４（担当分担領域要求応答パケット１０１を示すコード）、  Ｌｅｎｇｔｈ＝３  、「担当領域」と設定する。
【００８１】
また、送信側のウィルスチェックルータは、返ってきた担当分担領域要求応答パケット１０１から各領域を担当しているルータの台数を集計して、最も担当しているルータの少ない領域を自分の担当領域とする。
【００８２】
以上説明したように、本発明のウィルスチェックネットワークシステム１は、ウィルスチェックルータにウィルスチェック機能を搭載させることにより、ネットワーク側でウィルスを検知させることができ、ウィルス侵入防止をより多くのクライアントに対して、またより確実に行うことができる。
【００８３】
また、常に最新のウィルスパターン情報をウィルスチェックルータ間でマルチキャストにより交換通知し、またその更新方法もマルチキャストのパケットを発行するだけであるので、新たなウィルスへの対応が簡単にかつ迅速に行うことができる。またクライアント側で更新をかける必要がない。
【００８４】
さらに、検知したウィルスに対する警告を各ウィルスチェックルータが同時に行うことで早期発見、拡大防止を図る。そして、送信元に対しても警告パケットを送ることでウィルス感染を通知することができる。
【００８５】
また、各ウィルスチェックルータでウィルスチェック領域を分担することで、各々ウィルスチェックルータにかかる負荷を分散することができ、フレーム間にまたがってウィルスが存在する場合においてもいずれかを担当しているウィルスチェックルータでチェックすることができ、ウィルスチェックの精度が向上する。
【００８６】
さらに、ウィルスが検知されたパケットを落とすことはせずに、ＩＰヘッダにビットを立てて受信側に通知することで再送などによる余計なトラヒックの増加を防ぐことができる。そして、ウィルスの脅威レベルに応じて通信を遮断させるため、感染の拡大を防止させることができる。
【００８７】
【発明の効果】
以上説明したように、本発明のウィルスチェックネットワークシステムは、複数のウィルスチェック装置を設けて、ウィルスチェックを行う構成とした。これにより、ネットワーク側でウィルスを未然に防ぐことができるので、ウィルスの感染及び拡大を防止でき、ウィルスチェック対策効率の向上を図ることが可能になる。
【図面の簡単な説明】
【図１】本発明のウィルスチェックネットワークシステムの原理図である。
【図２】ウィルスチェックルータを配置したネットワークの概要を示す図である。
【図３】ウィルスパターンＶＰのフォーマットを示す図である。
【図４】ウィルスパターンＶＰ格納手段の格納形式を示す図である。
【図５】ウィルスパターン格納手段でのウィルスパターンＶＰを新規登録する際の処理手順を示すフローチャートである。
【図６】第ｎ次階層と比較して、新たに枝を作成する際の処理手順を示すフローチャートである。
【図７】ウィルスチェックルータの構成を示す図である。
【図８】ＩＰヘッダの構成を示す図である。
【図９】ウィルスチェックの処理手順を示すフローチャートである。
【図１０】ウィルスチェックルーティンの処理手順を示すフローチャートである。
【図１１】感染表示パケットのＩＰパケットのフォーマットを示す図である。
【図１２】警告パケットのフォーマットを示す図である。
【図１３】クライアント端末の構成を示す図である。
【図１４】クライアント端末のビット監視の処理手順を示すフローチャートである。
【図１５】クライアント端末のビット監視の処理手順を示すフローチャートである。
【図１６】警戒情報パケットのフォーマットを示す図である。
【図１７】警戒情報パケットを受け取った際の検索順番の処理手順を示す図である。
【図１８】警戒モードの処理手順を示すフローチャートである。
【図１９】担当分担領域要求パケットのフォーマットを示す図である。
【図２０】担当分担領域要求応答パケットのフォーマットを示す図である。
【符号の説明】
１  ウィルスチェックネットワークシステム
１０ａ〜１０ｎ  ウィルスチェック装置
１１  ウィルスパターン格納手段
１２  ウィルスチェック手段
１３  パケット送信手段
２０ａ〜２０ｍ  クライアント端末
２１  感染パケット検出手段
２２  ファイル実行制御手段
３０  ウィルス情報管理局
３１  ウィルスパターン情報配布手段
３２  ウィルスパターン情報管理手段
Ｐａ  感染パケット
Ｐｂ  感染表示パケット
【図１】
0003597686.tif 000002
【図２】
0003597686.tif 000003
【図３】
0003597686.tif 000004
【図４】
0003597686.tif 000005
【図５】
0003597686.tif 000006
【図６】
0003597686.tif 000007
【図７】
0003597686.tif 000008
【図８】
0003597686.tif 000009
【図９】
0003597686.tif 000010
【図１０】
0003597686.tif 000011
【図１１】
0003597686.tif 000012
【図１２】
0003597686.tif 000013
【図１３】
0003597686.tif 000014
【図１４】
0003597686.tif 000015
【図１５】
0003597686.tif 000016
【図１６】
0003597686.tif 000017
【図１７】
0003597686.tif 000018
【図１８】
0003597686.tif 000019
【図１９】
0003597686.tif 000020
【図２０】
0003597686.tif 000021