(57)【要約】【課題】受信したパケットを解析して不正アクセスであるパケットの転送を制御するパケット転送装置、パケット転送方法及びパケット転送プログラム提供する。【解決手段】不正なアクセスに関する条件を含む不正アクセスデータ１６を記憶する記憶装置と、受信したパケットに不正アクセスデータ１６に含まれる条件を含んでいるか否かを判定する解析部１２と、受信したパケットが不正アクセスデータに含まれる条件に一致する場合、受信したパケットを破棄し、受信したパケットが不正アクセスデータに含まれる条件の一部に一致する場合、不正アクセスデータに含まれる条件の一部と一致する文字列をパケットから抽出して受信したパケットが不正なアクセスの可能性があることを特定するフラグと関連付けて、解析結果データ１７ａとして記憶装置に記憶させる処理部１３とを有する。【選択図】      図１
2007104104.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークセグメントから受信したパケットを第２のネットワークセグメントに送信するパケット転送装置において、
不正なアクセスに関する条件を含む不正アクセスデータを記憶する記憶装置と、
前記受信したパケットに前記不正アクセスデータに含まれる条件を含んでいるか否かを判定する解析部と、
前記受信したパケットが前記不正アクセスデータに含まれる条件に一致する場合、前記受信したパケットを破棄し、前記受信したパケットが前記不正アクセスデータに含まれる条件の一部に一致する場合、前記不正アクセスデータに含まれる条件の一部と一致する文字列を前記パケットから抽出して前記受信したパケットが不正なアクセスの可能性があることを特定するフラグと関連付けて、解析結果データとして記憶装置に記憶させる処理部と、
を有することを特徴とするパケット転送装置。
【請求項２】
前記解析部は、前記受信したパケットが前記解析結果データに不正なアクセスの可能性があることを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、前記続きの文字列から前記不正アクセスデータに含まれる残りの条件を含んでいるか否かを判定することを特徴とする請求項１記載のパケット転送装置。
【請求項３】
前記処理部は、不正アクセスデータに含まれる文字列を前記受信したパケットに含んでいない場合、不正アクセスデータに含まれる文字列の一部と一致しない文字列を前記受信したパケットから抽出して前記受信したパケットが不正なアクセスでないことを特定するフラグを関連付けて、解析結果データとして記憶装置に記憶させ、
前記解析部は、前記受信したパケットが前記解析結果データに不正なアクセスでないことを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、前記続きの文字列の解析の処理を省略する
ことを特徴とする請求項１記載のパケット転送装置。
【請求項４】
パケットを受信すると計時を開始するタイマ手段を備え、
前記解析部は、前記タイマ手段で計時が開始されてから所定の時刻が経過すると、前記解析部におけるパケットの解析を中断して解析の処理が中断されたパケットを受信データに蓄積して記憶装置に記憶させる
ことを特徴とする請求項１記載のパケット転送装置。
【請求項５】
第１のネットワークセグメントから受信したパケットを第２のネットワークセグメントに送信するパケット転送方法において、
前記受信したパケットに不正なアクセスに関する条件を有し記憶装置に記憶される不正アクセスデータに含まれる条件を含んでいるか否かを判定する解析ステップと、
前記受信したパケットが前記不正アクセスデータに含まれる条件に一致する場合、前記受信したパケットを破棄し、前記受信したパケットが前記不正アクセスデータに含まれる条件の一部に一致する場合、前記不正アクセスデータに含まれる条件の一部と一致する文字列を前記パケットから抽出して前記受信したパケットが不正なアクセスの可能性があることを特定するフラグと関連付けて、解析結果データとして記憶装置に記憶させる処理ステップと、
を有することを特徴とするパケット転送方法。
【請求項６】
前記解析ステップは、前記受信したパケットが前記解析結果データに不正なアクセスの可能性があることを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、前記続きの文字列から前記不正アクセスデータに含まれる残りの条件を含んでいるか否かを判定することを特徴とする請求項５記載のパケット転送方法。
【請求項７】
前記処理ステップは、不正アクセスデータに含まれる文字列を前記受信したパケットに含んでいない場合、不正アクセスデータに含まれる文字列の一部と一致しない文字列を前記受信したパケットから抽出して前記受信したパケットが不正なアクセスでないことを特定するフラグを関連付けて、解析結果データとして記憶装置に記憶させ、
前記解析ステップは、前記受信したパケットが前記解析結果データに不正なアクセスでないことを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、前記続きの文字列の解析の処理を省略する
ことを特徴とする請求項５記載のパケット転送方法。
【請求項８】
前記解析ステップは、パケットを受信すると計時を開始するタイマ手段で計時が開始されてから所定の時刻が経過すると、前記解析ステップにおけるパケットの解析を中断して解析の処理が中断されたパケットを受信データに蓄積して記憶装置に記憶させる
ことを特徴とする請求項５記載のパケット転送方法。
【請求項９】
第１のネットワークセグメントから受信したパケットを第２のネットワークセグメントに送信するパケット転送プログラムにおいて、
不正なアクセスに関する条件を含む不正アクセスデータを記憶する記憶装置と、
前記受信したパケットに前記不正アクセスデータに含まれる条件を含んでいるか否かを判定する解析ステップと、
前記受信したパケットが前記不正アクセスデータに含まれる条件に一致する場合、前記受信したパケットを破棄し、前記受信したパケットが前記不正アクセスデータに含まれる条件の一部に一致する場合、前記不正アクセスデータに含まれる条件の一部と一致する文字列を前記パケットから抽出して前記受信したパケットが不正なアクセスの可能性があることを特定するフラグと関連付けて、解析結果データとして記憶装置に記憶させる処理ステップと、
をコンピュータに実行させることを特徴とするパケット転送プログラム。
【請求項１０】
前記解析ステップは、前記受信したパケットが前記解析結果データに不正なアクセスの可能性があることを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、前記続きの文字列から前記不正アクセスデータに含まれる残りの条件を含んでいるか否かを判定することを特徴とする請求項９記載のパケット転送プログラム。
【請求項１１】
前記処理ステップは、不正アクセスデータに含まれる文字列を前記受信したパケットに含んでいない場合、不正アクセスデータに含まれる文字列の一部と一致しない文字列を前記受信したパケットから抽出して前記受信したパケットが不正なアクセスでないことを特定するフラグを関連付けて、解析結果データとして記憶装置に記憶させ、
前記解析ステップは、前記受信したパケットが前記解析結果データに不正なアクセスでないことを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、前記続きの文字列の解析の処理を省略する
ことを特徴とする請求項９記載のパケット転送プログラム。
【請求項１２】
前記解析ステップは、パケットを受信すると計時を開始するタイマ手段で計時が開始されてから所定の時刻が経過すると、前記解析ステップにおけるパケットの解析を中断して解析の処理が中断されたパケットを受信データに蓄積して記憶装置に記憶させる
ことを特徴とする請求項９記載のパケット転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したパケットを解析して不正アクセスであるパケットの転送を制御するパケット転送装置、パケット転送方法及びパケット転送プログラムに関する。
【背景技術】
【０００２】
図１０に従来のパケット転送装置４０の機能ブロック図を示す。図１０に示すパケット転送装置４０は、第１のネットワークセグメント２０及び第２のネットワークセグメントと接続されている。  
このパケット転送装置４０は、接続される第１のネットワークセグメント２０から受信部４１が受信したパケットを受信データ４６として蓄積し、データを構成するパケットを受信すると、受信する度に受信したパケットをそれ以前に受信した同一のデータを構成するパケットと合成する。その後、不正なアクセスであるパケットに関するデータとして予め記憶装置に記憶されている不正アクセスデータ４７に基づいて、この合成されたデータの先頭から、受信データ４６を解析部４２で解析する。
【０００３】
解析部４２における解析により、データが不正なアクセスであるという結果の場合、処理部４３により、例えば、データを構成するパケットの破棄や指定端末への通知等のようにアクセスが不正である場合の処理がされる。  
一方、解析部４２における解析により、データが不正なアクセスでないという結果の場合、通知処理部４４が、データを構成するパケットを送信部４５を介して第２のネットワークセグメント３０へ送信する。
【０００４】
具体的に、データＡをパケットＡ１、パケットＡ２及びパケットＡ３の３つのパケットで構成されている場合を例にして説明する。図１０に示す例では、解析部４２は、データＡを利用して解析するため、パケットＡ１、パケットＡ２及びパケットＡ３全てのパケットを受信するまで解析を開始しない。すなわち、複数のパケットで構成されるデータの場合、パケットを受信する度に受信データ４６に蓄積し、全てのパケットの受信が終了した後に解析部４２における処理が開始される。
【０００５】
また、受信したパケットを解析する際に送出済みパケット保持部に保持し、新たにパケットを受信すると、送出済みパケット保持部を参照して関連するパケットを含めて不正アクセスに関わるパケットであるか否かを判定する技術がある（例えば、特許文献１（第７実施例）参照）。
【特許文献１】特開２００２−６３０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したように従来の技術によれば、パケットを受信する度に合成されたデータを先頭から解析している。このようにパケットを受信する度に合成したデータを先頭から解析すると、解析処理の負荷が大きくなる。
【０００７】
また、上述したように従来の技術によれば、受信したパケットを蓄積して記憶しているため、記憶装置では多大な容量をパケットの記憶に使用されることになる。新たに受信したパケットが多大になり、記憶装置に記憶できなくなることを解決するため、例えば特許文献１では、送出済みのパケット保持部に新しいパケットが格納できなくなることを防ぐ機構が設けられている。
【０００８】
特許文献１に記載されるように新しいパケットが格納できなくなることを防ぐ機構を設けていても、受信したパケットを記憶しておく場合、依然として記憶装置では送信済みのパケットを記憶するために多大な容量が使用されることになる。
【０００９】
本発明は上記事情に鑑みてなされたものであり、受信したパケットを記憶装置に記憶する容量を制限して受信したパケットを解析して不正アクセスであるパケットの転送を制御するパケット転送装置、パケット転送方法及びパケット転送プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明のパケット転送装置は、不正なアクセスに関する条件を含む不正アクセスデータを記憶する記憶装置と、受信したパケットに不正アクセスデータに含まれる条件を含んでいるか否かを判定する解析部と、受信したパケットが不正アクセスデータに含まれる条件に一致する場合、受信したパケットを破棄し、受信したパケットが不正アクセスデータに含まれる条件の一部に一致する場合、不正アクセスデータに含まれる条件の一部と一致する文字列をパケットから抽出して受信したパケットが不正なアクセスの可能性があることを特定するフラグと関連付けて、解析結果データとして記憶装置に記憶させる処理部とを有する。
【００１１】
上記構成による本発明によれば、不正なアクセスの可能性があるパケットを記憶させ、後に受信したパケットの解析に利用することが出来る。
【００１２】
上記パケット転送装置では、解析部は、受信したパケットが解析結果データに不正なアクセスの可能性があることを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、続きの文字列から不正アクセスデータに含まれる残りの条件を含んでいるか否かを判定することが望ましい。
【００１３】
上記構成による本発明によれば、不正なアクセスの可能性があるパケットが記憶されている場合、残りの条件について解析することでパケットの解析における処理の負担を軽減することが出来る。
【００１４】
また、上記パケット転送装置では、処理部は、不正アクセスデータに含まれる文字列を受信したパケットに含んでいない場合、不正アクセスデータに含まれる文字列の一部と一致しない文字列を受信したパケットから抽出して受信したパケットが不正なアクセスでないことを特定するフラグを関連付けて、解析結果データとして記憶装置に記憶させ、解析部は、受信したパケットが解析結果データに不正なアクセスでないことを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、続きの文字列の解析の処理を省略することが望ましい。
【００１５】
上記構成による本発明によれば、不正なアクセスでないパケットを記憶させ、後に受信したパケットの解析に利用することが出来る。
【００１６】
さらに、上記パケット転送装置は、パケットを受信すると計時を開始するタイマ手段を備え、解析部は、タイマ手段で計時が開始されてから所定の時刻が経過すると、解析部におけるパケットの解析を中断して解析の処理が中断されたパケットを受信データに蓄積して記憶装置に記憶させることが望ましい。
【００１７】
上記構成による本発明によれば、解析の処理に制限時間を設けることで、処理に時間がかかるパケットの場合、一次的に解析の処理を中断して別のパケットの処理を優先することが出来る。
【発明の効果】
【００１８】
本発明は、受信したパケットを解析して、後の解析に利用することのできるパケットのみ記憶して、不正アクセスであるパケットの転送を制御するパケット転送装置、パケット転送方法及びパケット転送プログラムに関する。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の最良の実施の形態を説明する。  
図１は本発明の最良の実施の形態に係るパケット転送装置１０を説明する機能ブロック図である。パケット転送装置１０は、第１のネットワークセグメント２０及び第２のネットワークセグメント３０と接続されている。
【００２０】
パケット転送装置１０は、第１のネットワークセグメント２０から受信したパケットを、解析し、解析の結果、不正なアクセスのパケットである場合には、受信したパケットを破棄等の不正なアクセスに対する処理を行う。また、パケット転送装置１０は、解析の結果、不正なアクセスのパケットでない場合には、受信したパケットを第２のネットワークセグメント３０に送信する。
【００２１】
図１に示すように、パケット転送装置１０は、受信部１１、解析部１２、処理部１３、通知処理部１４、送信部１５、不正アクセスデータ１６及び解析結果データ１７ａ〜１７ｃを有している。
【００２２】
パケット転送装置１０は、中央処理制御装置、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、入力装置、表示装置、通信制御装置及び記憶装置等を有する一般的なコンピュータであって、記憶装置には中央処理制御装置で実行されるプログラムやデータが記憶されている。  
具体的に記憶装置は、不正アクセスデータ１６及び解析結果データ１７ａ〜１７ｃを記憶している。また、記憶装置は、パケット転送プログラムが中央処理制御装置に読み込まれることによって、受信部１１、解析部１２、処理部１３、通知処理部１４及び送信部１５が実装される。
【００２３】
なお、本発明の最良の実施の形態に係るパケット転送装置１０は、図１に示すように１台のコンピュータにおいて実行されても良いし、互いに通信可能な複数のコンピュータにおいて実行されても良い。例えば、パケット転送装置１０は、不正アクセスデータ１６や解析結果データ１７ａ〜１７ｃを記憶する記憶装置を外部に設ける構成や、記憶装置の一部のデータのみを外部に設ける構成であっても良い。
【００２４】
受信部１１は、第１のネットワークセグメント２０からパケットを受信する。
【００２５】
解析部１２は、受信部１１で受信したパケットに記憶装置に記憶される不正アクセスデータ１６に含まれる条件を含んでいるか否かを判定する。また解析部１２は、受信部１１で受信したパケットが解析結果データ１７ａに不正なアクセスの可能性があることを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、続きの文字列から記憶装置に記憶される不正アクセスデータ１６に含まれる残りの条件を含んでいるか否かを判定する。さらに、解析部１２は、受信部１１で受信したパケットが解析結果データ１７ａに不正なアクセスでないことを特定するフラグに関連付けられている文字列の続きの文字列を含んでいる場合、続きの文字列の解析の処理を省略する。
【００２６】
処理部１３は、受信したパケットが不正アクセスデータ１６に含まれる条件に一致する場合、受信したパケットの破棄、このパケットに関して不正なアクセスとしてログの記憶、管理端末等の特定の端末への不正データ受信の通知等の不正なアクセスであるパケットを受信した場合の処理を実行する。また、処理部１３は、受信したパケットが不正アクセスデータ１６に含まれる条件の一部に一致する場合、不正アクセスデータに１６含まれる条件の一部と一致する文字列をパケットから抽出し、受信したパケットが不正なアクセスの可能性があることを特定するフラグと関連付けて、解析結果データ１７ａとして記憶装置に記憶させる。さらに、処理部１３は、不正アクセスデータに含まれる文字列を受信したパケットに含んでいない場合、不正アクセスデータに含まれる文字列の一部と一致しない文字列を受信したパケットから抽出して受信したパケットが不正なアクセスでないことを特定するフラグを関連付けて、解析結果データ１７ａとして記憶装置に記憶させる。
【００２７】
通知処理部１４は、解析部１２における解析の結果、パケットが不正なアクセスでない場合、このパケットを送信する処理を実行する。
【００２８】
送信部１５は、通知処理部１４の指示に基づいて、受信部１１が受信したパケットを第２のネットワークセグメント３０に送信する。
【００２９】
不正アクセスデータ１６は、不正なアクセスである条件を有している。  
図２は、不正アクセスデータ１６の一例である。図２に示す不正アクセスデータの一例では、「ＩＤ」に不正なアクセスの条件である「不正条件」を関連付けている。「Ｉ０１」は、「変数ａにＸが含まれ、変数ｂにＹが含まれている。」データは不正なアクセスであることを条件としている。また、「Ｉ０２」は、「変数ｃにＺが含まれている。」データは不正なアクセスであることを条件としている。さらに、「Ｉ０３」は、「変数ｄが数字のみで変数ｅにＹが含まれている。」データは不正なアクセスであることを条件としている。
【００３０】
解析結果データ１７ａ〜１７ｃは、解析部１２における解析の結果、解析したパケットと同一のデータを構成するパケットを解析する際に必要なデータとして得られた結果を記憶している。図１に示す記憶装置は３つの解析結果データを記憶しているが、数は限られない。また、上記及び下記の説明では、主に解析結果データ１７ａを用いて説明するが、適切な解析結果データ１７ｂ及び１７ｃに置き換えても同一である。
【００３１】
図３に解析結果データ１７ａの一例を示している。図３に示す解析結果データ１７ａは、パケットから「抜き出したデータ」に、このパケットから抜き出したデータに対して「解析により得られた結果」を関連付けて記憶している。具体的に、図３に示す解析結果データ１７ａは、「抜き出したデータ」である「ａ＝Ｘ」に、「解析により得られた結果」として「フラグ１」に「１」、「フラグ２」に「０」、「フラグ３」に「０」を関連付ける例を示している。
【００３２】
「フラグ１」は、不正アクセスであるパケットの条件待ちのフラグであり、関連付けられる「抜き出したデータ」から、不正条件に当てはまる可能性が高いことが分かる場合、「１」に設定される。図３に示す例では、図２に示す「Ｉ０１」の不正条件の一部を満たしているため「フラグ１」が「１」に設定されている。具体的には、図２に示す「Ｉ０１」の不正条件のうち「変数ａにＸが含まれる」条件を満たしているため、「変数ｂにＹが含まれている」場合には不正なアクセスであり、不正条件に当てはまる可能性がある。そのため、パケットから不正条件の一部に一致する「ａ＝Ｘ」のみが抜き出されて「フラグ１」が「１」に設定された解析結果データ１７ａが生成される。
【００３３】
図４に解析結果データ１７ａの一例を示している。具体的に、図４に示す解析結果データ１７ａは、「抜き出したデータ」である「ｃ＝」に、「解析により得られた結果」として「フラグ１」に「０」、「フラグ２」に「１」、「フラグ３」に「０」を関連付ける例を示している。
【００３４】
「フラグ２」は、不正アクセスであるパケットの条件待ちのフラグであり、関連付けられる「抜き出したデータ」から、不正条件に当てはまる可能性があることが分かる場合、「１」が設定される。図４に示す例では、図２に示す「Ｉ０２」の不正条件の一部を満たしているため「フラグ２」が「１」に設定されている。具体的には、図２に示す「Ｉ０２」の不正条件のうち「変数ｃ」が含まれているため、この「変数ｃ」の実データに「Ｚ」が含まれている場合には不正なアクセスであり、不正条件に当てはまる可能性がある。そのため、パケットから不正条件の一部に一致する「ｃ＝」のみが抜き出されて「フラグ２」が「１」に設定された解析結果データ１７ａが生成される。
【００３５】
図５に解析結果データ１７ａの一例を示している。具体的に、図５に示す解析結果データ１７ａは、「抜き出したデータ」である「ｄ＝ＸＹＺ」に、「解析により得られた結果」として「フラグ１」に「０」、「フラグ２」に「０」、「フラグ３」に「１」を関連付ける例を示している。
【００３６】
「フラグ３」は、不正アクセスでないパケットの条件待ちのフラグであり、関連付けられる「抜き出したデータ」から、不正条件に当てはまることがないことが確実である場合、「１」が設定される。図５に示す例では、図２に示す「Ｉ０３」の不正条件を満たさないため「フラグ３」が「１」に設定されている。具体的には、図２に示す「Ｉ０３」の不正条件のうち「変数ｄが数字のみで構成」されておらず、不正条件に一致することがないため、「ｄ＝ＸＹＺ」が抜き出されて「フラグ３」に「１」を関連付ける例を示している。
【００３７】
（パケット転送処理）
図６に示すフローチャートを用いて、パケット転送装置１０における処理を説明する。  
パケット転送装置１０の受信部１１は、第１のネットワークセグメント２０からのパケットを待機している（Ｓ０１）。  
受信部１１が第１のネットワークセグメント２０からパケットを新たに受信すると受信したパケットを図示しないメモリに記憶し（Ｓ０１でＹＥＳ）、解析部１２は、ステップＳ０１で受信部１１が新たに受信してメモリに記憶されたパケットを解析する（Ｓ０２）。ステップＳ０２における解析処理は、図７を用いて後述する。
【００３８】
ステップＳ０２においてパケットが解析されると、解析部１２は、ステップＳ０２における解析の結果、パケットが不正なアクセスであるか否かを判定する（Ｓ０３）。  
ステップＳ０３において、解析部１２でパケットは不正なアクセスであると判定されると（Ｓ０３でＹＥＳ）、処理部１３は、不正アクセスのパケットに対する処理を実行する。不正アクセスのパケットに対する処理とは、上述したように例えば、ステップＳ０１で受信したパケットの破棄、このパケットに関して不正なアクセスとしてログの記憶、特定の端末への通知等がある。
【００３９】
一方、ステップＳ０３において解析部１２がパケットは不正なアクセスでないと判定すると（Ｓ０３でＮＯ）、解析部１２は、さらにこのパケットが不正なアクセスであるデータを構成する可能性があるパケットであるか否かを判定する（Ｓ０５）。
【００４０】
解析部１２でパケットは不正なアクセスの可能性があるデータを構成するパケットであると判定されると（Ｓ０５でＹＥＳ）、処理部１３は、この不正なアクセスの可能性があるデータを構成するパケットについて記憶処理をする（Ｓ０６）。ステップＳ０６における記憶処理は、図８を用いて後述する。
【００４１】
ステップＳ０５において不正なアクセスの可能性がないと判定された場合（Ｓ０５でＮＯ）、または、ステップＳ０６において記憶処理が終了すると、通知処理部１４は、送信部１５を介して第２のネットワークセグメント３０にパケットを送信する（Ｓ０７）。
【００４２】
（解析処理）
図７に示すフローチャートを用いて、図６におけるステップＳ０２の解析処理を説明する。  
解析処理が開始されると、解析部１２は、不正アクセスデータ１６と解析結果データ１７を記憶装置から読み出す（Ｓ０２１）。
【００４３】
ステップＳ０２１で不正アクセスデータ１６と解析結果データ１７を読み出すと、解析部１２は、新たに受信したパケットが構成するアクセスデータに関するデータを解析結果データ１７ａに含んでいるか否かを判定する（Ｓ０２２）。  
受信したパケットが構成するデータに関するデータを解析結果データ１７ａに含んでいる場合（Ｓ０２２でＹＥＳ）、この解析結果データ１７ａでパケットから「抜き出したデータ」が「フラグ１」と関連付けられているが判定される（Ｓ０２３）。
【００４４】
解析結果データ１７でパケットから「抜き出したデータ」に「フラグ１」が関連付けられている場合、ステップＳ０２４に進み、パケットが解析される（Ｓ０２４）。  
ステップＳ０２４の解析の処理について、データＢがパケットＢ１及びパケットＢ２で構成される場合を例にして具体的に説明する。始めに、図３に示すようにパケットＢ１から「ａ＝Ｘ」が抜き出されて、解析結果データ１７ａに記憶されていたとする。続いて、パケットＢ２が入力されると、データＢを構成するパケットＢ１に基づいて生成された解析結果データ１７ａを記憶装置で記憶しているため、ステップＳ０２２からステップＳ０２３に進み、「フラグ１」が「１」に設定されているためにステップＳ０２４で解析の処理がされる。具体的には、ステップＳ０２１で図２に示す不正アクセスデータ１６を読み出した場合、すでに「変数ａにＸが含まれている」ことが解析結果データ１７ａで明らかであるため、ステップＳ０２４の解析でパケットＢ２に「変数ｂにＹが含まれている」ことが判定されると、「Ｉ０１」の不正条件が成立するとして不正なアクセスであることが判定される。
【００４５】
また、解析結果データ１７でパケットから「抜き出したデータ」に「フラグ２」が関連付けられている場合、ステップＳ０２５に進み、パケットが解析される（Ｓ０２５）。  
ステップＳ０２５の解析の処理について、データＣがパケットＣ１及びパケットＣ２で構成される場合を例にして具体的に説明する。始めに、図４に示すようにパケットＣ１から「ｃ＝」が抜き出されて、解析結果データ１７ａに記憶されていたとする。続いて、パケットＣ２が入力されると、データＣを構成するパケットに基づいて生成された解析結果データ１７ａを記憶装置で記憶しているため、ステップＳ０２２からステップＳ０２３に進み、「フラグ２」が「１」に設定されているためにステップＳ０２５の解析の処理がされる。具体的には、ステップＳ０２１で図２に示す不正アクセスデータ１６を読み出した場合、既に「変数ｃを含む」ことが解析結果データ１７ａで明らかであるため、ステップＳ０２５の解析でＣ２の変数ｃに続く文字列にＺが含まれているか否かを判定し、Ｚが含まれていると判定されると、「Ｉ０２」の不正条件が成立して不正なアクセスであることが判定される。
【００４６】
一方、解析結果データ１７でパケットから「抜き出したデータ」に「フラグ３」が関連付けられている場合、ステップＳ０２６に進み、パケットが解析される（Ｓ０２６）。  
ステップＳ０２６の処理について、データＤがパケットＤ１及びパケットＤ２で構成される場合を例にして具体的に説明する。始めに、図５に示すようにパケットＤ１から「ｄ＝ＸＹＺ」が抜き出されて、解析結果データ１７ａに記憶されていたとする。続いて、パケットＤ２が入力されると、データＣを構成するパケットに基づいて生成された解析結果データ１７ａを記憶装置に記憶しているため、ステップＳ０２２からステップＳ０２３に進み、「フラグ３」が「１」に設定されているためにステップＳ０２６の解析の処理がされる。具体的には、ステップＳ０２１で図２に示す不正アクセスデータ１６を読み出した場合、パケットＤ２の変数ｄに続く文字列は読み飛ばして解析する。また、変数ｅに続く文字列が含まれている場合、読み飛ばして解析する。
【００４７】
ステップＳ０２２における判定で、受信したパケットが構成するアクセスデータに関するデータを解析結果データ１７が含んでいない場合（Ｓ０２２でＮＯ）、ステップＳ０２７に進み、パケットが解析される（Ｓ０２７）。  
なお、ステップＳ０２２〜Ｓ０２７の処理は、受信したパケットごとに不正アクセスデータ１６に含まれる全ての不正条件で解析が終了するまで繰り返される（Ｓ０２８）。
【００４８】
（記憶処理）
図８に示すフローチャートを用いて、図４におけるステップＳ０６の記憶処理を説明する。  
記憶処理が開始されると、解析部１２は、パケットから抜き出したデータの一部が不正アクセスデータ１６に含まれる条件に一致する場合（ステップＳ０６１でＹＥＳ）、ステップＳ０６２に進み、パケットから抜き出したデータに「フラグ１」を「１」に設定したレコードを挿入した解析結果データ１７を記憶装置に記憶させる。  
ステップＳ０６１における不正アクセスデータ１６に含まれる条件に一致する場合とは、図２に示す例で「Ｉ０１」に示すように不正条件に複数の条件が含まれている場合の一の条件のみを満たす場合（例えば、「変数ａにＸが含まれている」条件のみ満たす場合）等のように一部の条件を満たす場合のことである。
【００４９】
パケットから抜き出したデータの一部が不正アクセスデータ１６に含まれる条件に一致せず（Ｓ０６１でＮＯ）、不正アクセスデータ１６に含まれる条件に当てはまる可能性があると判定された場合（Ｓ０６３でＹＥＳ）、ステップＳＳ０６４に進み、パケットから抜き出したデータに「フラグ２」を「１」に設定したレコードを挿入した解析結果データ１７を記憶装置に記憶させる。  
ステップＳ０６３における不正アクセスデータ１６に含まれる条件に当てはまる可能性がある場合とは、図２に示す例で、不正条件に含まれる変数を含んでいる場合や不正条件に含まれる文字列の一部を含んでいる場合等である。
【００５０】
ステップＳ０６３の判定において、パケットから抜き出したデータの一部が不正アクセスデータに当てはまる可能性があると判定されず（Ｓ０６３でＮＯ）、同一のデータを構成するパケットの受信が続く可能性がある場合（Ｓ０６５でＹＥＳ）、ステップＳ０６５に進み、パケットから抜き出したデータに「フラグ３」を「１」に設定したレコードを挿入した解析結果データ１７を記憶装置に記憶させる。
【００５１】
上述したように、本発明の最良の実施の形態に係るパケット転送装置によれば、複数のパケットから構成されるデータであっても、パケットごとに解析をし、不正なアクセスであるパケットの転送を制限することが出来る。
【００５２】
具体的に解析の結果、不正なアクセスの可能性がある場合、可能性がある部分を抜き出して解析結果データとして記憶し、一連のパケットがアクセスの不正であるか否かを判定する解析をする際に利用することが出来る。このように、必要な部分のみを抜き出して解析結果データとして記憶するため、受信したパケットを全て記憶装置に記憶させる必要がなく、記憶装置の使用容量を減少させることが出来る。
【００５３】
また、不正アクセスでない場合、不正アクセスでない部分を抜き出して解析結果データとして記憶し、一連のパケットの解析をする際に該当する部分を読み飛ばして解析すること出来る。このように、解析結果に不正アクセスでない部分を抜き出して記憶することにより、解析の処理を軽減させることが出来る。
【００５４】
＜変形例＞
図９は、本発明の最良の実施の形態の変形例に係るパケット転送装置１０ａのブロック図である。図９に示すパケット転送装置１０ａは、図１で上述したパケット転送装置１０と比較して、解析部１２ａにタイマ手段１２１を有し、記憶装置に受信データ１８を記憶している点で異なる。
【００５５】
タイマ手段１２１は、パケットを受信すると計時を開始する。解析部１２ａは、上述した解析部１２と同様の機能を有しているが、更に、タイマ手段１２１で計時が開始されてから所定の制限時間が経過すると、パケットの解析を中断し、解析の処理が中断されたパケットを受信データ１８に蓄積して記憶装置に記憶させる。この制限時間は、予め定められていてもよいが、受信部１１に受信されるパケットの量により可変するようにしてもよい。
【００５６】
受信データ１８に蓄積されるパケットは、受信部１１にパケットの受信がなく、新たに受信したパケットの解析が解析部１２ａにおいて実行されなくなると解析部１２ａから読み出されて解析される。
【００５７】
上述したように、本発明の最良の実施の形態の変形例に係るパケット転送装置によれば、タイマ手段を設けることにより、解析に時間がかかる場合には、他のパケットについて先に解析をした後で、再び解析をすることもできる。
【００５８】
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００５９】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明に記載した事項と自明な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００６０】
【図１】本発明の最良の実施の形態に係るパケット転送装置の機能ブロック図。
【図２】本発明の最良の実施の形態に係るパケット転送装置に記憶される不正アクセスデータの一例。
【図３】本発明の最良の実施の形態に係るパケット転送装置に記憶される解析結果データの一例。
【図４】本発明の最良の実施の形態に係るパケット転送装置に記憶される解析結果データの他の例。
【図５】本発明の最良の実施の形態に係るパケット転送装置に記憶される解析結果データの他の例。
【図６】本発明の最良の実施の形態に係るパケット転送装置の処理を説明するフローチャート。
【図７】図６に示すフローチャートの解析処理を説明するフローチャート。
【図８】図６に示すフローチャートの記憶処理を説明するフローチャート。
【図９】本発明の最良の実施の形態の変形例に係るパケット転送装置の機能ブロック図。
【図１０】従来のパケット転送装置の機能ブロック図。
【符号の説明】
【００６１】
１０，１０ａ…パケット転送装置
１１…受信部
１２，１２ａ…解析部
１２１…タイマ手段
１３…処理部
１４…通知処理部
１５…送信部
１６…不正アクセスデータ
１７ａ〜１７ｃ…解析結果データ
１８…受信データ
２０，３０…ネットワークセグメント
【図１】
2007104104.tif 000003
【図２】
2007104104.tif 000004
【図３】
2007104104.tif 000005
【図４】
2007104104.tif 000006
【図５】
2007104104.tif 000007
【図６】
2007104104.tif 000008
【図７】
2007104104.tif 000009
【図８】
2007104104.tif 000010
【図９】
2007104104.tif 000011
【図１０】
2007104104.tif 000012