JP4729389B2 - パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 - Google Patents
パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4729389B2 JP4729389B2 JP2005336075A JP2005336075A JP4729389B2 JP 4729389 B2 JP4729389 B2 JP 4729389B2 JP 2005336075 A JP2005336075 A JP 2005336075A JP 2005336075 A JP2005336075 A JP 2005336075A JP 4729389 B2 JP4729389 B2 JP 4729389B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- matching
- original
- state
- registered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
まず、本発明の実施の形態1に係るパターン照合装置及びパターン照合方法の基本的な概念について説明する。なお、本実施の形態では1バイトずつパターン照合する場合について以下に説明するが、本発明は“1バイトずつ”パターンを照合するものに限定されるものではない。また、本実施の形態ではパケットのトレーラーとしてイーサネット(登録商標)(Ethernet(登録商標))フレームを用いる場合について述べているが、本発明がイーサネット(登録商標)を用いるものに限定されるものではない。(つまりATM(Asynchronous Transfer Mode)、またはFDDI(Fiber-Distributed Data Interface)等のプロトコルを用いるものであってもよい。
図1は、本実施の形態1のパターン照合装置を含むネットワークの構成図である。図1において、本実施の形態1のパターン照合装置であるファイヤーウォール101は、CPU装置として構成され、インターネット103、イントラネット107、サーバー群104とそれぞれリンク100により接続されている。アクセスポイント105は、リンク100を介してインターネット103或いはイントラネット107に接続している。そして、PC端末102はリンク100を介することにより、また、無線端末106はアクセスポイント105を介することにより、端末間の相互通信を実現している。またファイヤーウォール101をコントロールする制御PC108は、ファイヤーウォール101と制御リンク109によって接続されている。
送受信ユニット201では、インターネット103およびサーバー群104、イントラネット107とリンク100で接続されており、リンク100から受信したイーサネット(登録商標)フレーム803から、後で述べるようにMAC(Media Access Control)ヘッダとFCS(Frame Check Sequence)を取り除いたIPv4(Internet Protocol Version 4)パケットを転送ユニット202に転送し、また転送ユニット202から送られたIPv4パケットにMACヘッダとFCSでカプセル化したものリンク100に送信する(図5参照)。
ここで、転送ユニット202で抽出され、ルーティング検索処理の検索キーおよび、フラグメントパケットの識別、フラグメントパケット間の接続判定のために使用されるヘッダ情報(L3ヘッダ宛先・送信元アドレス、プロトコル、トータルレングス、識別子、フラグ、フラグメントオフセット、L4ヘッダ宛先・送信元ポート番号、シーケンス番号(L4ヘッダがTCPの場合のみ))の詳細について図5から図8を用いて説明する。
次に、パターン登録工程(パターン登録手順)の一例として、パターン“ABC”がオートマトンテーブル206へ登録される場合について述べる。なお、本実施の形態ではパターン、およびデータは1文字を1バイトで示すものとして説明するが、1文字をNバイト(Nは任意数)示すものであってもよい。
図11は、パケットデータがIPフラグメント(パケットの分割)された様子を示す模式図である。ここでは、一例として、データ(X)“BDABE4FABCABD4FV”が、データ(I)“BDABE4FA”1102と、データ(II)“BCABD4FV”1104の2つのパケットにIPフラグメントされ、かつ受信順序が逆転して、データ(II)“BCABD4FV”1104、データ(I)“BDABE4FA”1102の順に到着した場合におけるパターン“ABC”を発見する動作について述べる。
パターン照合部601においてデータ(II)“BCABD4FV”1104を受信すると、ヘッダ情報(フラグメントオフセット307が“0”以外となっており、図12のフレーム(II)1103では“FO=1”)からIPフラグメントされていると判定されるため、ヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(II)1104と接続する分割パケットを検索する。
検索結果では、データ(II)1104と接続する分割パケットは登録されていないので、データ(II)“BCABD4FV”1104に対するパターン照合処理が行われる。まず、パターン照合開始から初期状態0に戻った場合に“1”となるフラグ(以下、照合リセットフラグ)を“0”にセットし、オートマトンの初期状態0において先頭のデータ“B”から照合処理が行われる。図10よりパケットのデータと一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“C”が入力されると、これも一致する文字“C”が登録されているため状態4から状態5に遷移する。ここで、状態5では、派生パターンを示すパターン識別フラグが立っており(図10中、破線丸で示す)かつ、検索開始からここまで初期状態0に戻っていないため(照合リセットフラグが“0”のままのため)データ(II) 1104の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定される。
次に、データ(I)“BDABE4FA”1102を含むフレーム(I)1101がリンク100を介して送受信ユニット201で受信されると、フレームからパケットに変換され転送ユニット202に転送される。転送ユニット202では、ヘッダ情報、およびL5以上のデータ(本例の場合はデータ(I)“BDABE4FA”1102)を抽出し、抽出後パケット照合ユニット203に送られてパターン照合処理が行われる。
パターン照合部601においてデータ(I)“BDABE4FA”1102を受信すると、ヘッダ情報(フラグMF308が“1”となっている。図12のフレーム(I)1101では“MF=1”)からIPフラグメントされていると判定されるため、まずヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(I)1102と接続する分割パケットを検索する。検索結果からデータ(I)1102と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。
図10より一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“D”が入力されると、一致する文字“D”が登録されていないため状態4から状態0に移り、照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→1と遷移してデータ(I)1102に対するパターン照合が終了する。次に分割パケット状態管理テーブル604の検索結果から接続可能な分割パケットの照合終了状態が状態5であったことからオートマトンを状態5から初期状態0まで逆にたどり、その際に得られる文字列“CB”を用いて、データ(I)1102の照合終了状態1より照合を再開すると、状態1→2→3と遷移することができる。ここで、状態3(ノード907)にてオリジナルパターンであることを示すフラグ(図10中、二重丸で示す)が登録されているためパターン“ABC”にヒットしたことが判定でき、状態3のノードに登録してあるパターン“ABC”に対する登録パターン番号を得ることができる。
図13は、パケットデータがIPフラグメント(パケットの分割)された様子を示す模式図である。ここでは、一例として、データ(Xa)“BDABE4FABCDEFGHIJABD4FVX”が、データ(Ia)“BDABE4FA”1302と、データ(IIa)“BCDEFGHI”1304、データ(IIIa)“JABD4FVX”1306の3つのパケットにIPフラグメントされ、かつ受信順序が逆転して、データ(Ia)“BDABE4FA”1302、データ(IIIa)“JABD4FVX”1306、データ(IIa)“BCDEFGHI”1304の順番に到着した場合におけるパターン“ABCDEFGHIJ”を発見する動作について述べる。
データ(Ia)“BDABE4FA”1302を含むフレーム(Ia)1301がリンク100を介して送受信ユニット201で受信されると、フレームからパケットに変換され転送ユニット202に転送される。転送ユニット202では、ヘッダ情報、およびL5以上のデータ(本例の場合はデータ(Ia)“BDABE4FA”1302)を抽出し、抽出後パケット照合ユニット203に送られてパターン照合処理が行われる。
検索結果では、データ(Ia)1302と接続する分割パケットは登録されていないので、次にデータ(Ia)“BDABE4FA”1302に対するパターン照合処理が行われる。まず、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。図14より一致する文字“B”が登録されているため状態0から状態11に遷移し、これ以降状態は、データ“DABE4FA”が入力されると、状態11→0→1→2→35→0→41→1と遷移してデータ(Ia)1302に対する照合が終了する。
次にデータ(IIIa)“JABD4FVX”1306を含むフレームがリンク100を介して送受信ユニット201で受信されると、フレームからパケットに変換され転送ユニット202に転送される。転送ユニット202では、ヘッダ情報、およびL5以上のデータ(本例の場合はデータ(IIIa)“JABD4FVX”1306)は、パケット照合ユニット203に送られ、パターン照合処理が行われる。
パターン照合部601においてデータ(IIIa)“JABD4FVX”1306を受信すると、ヘッダ情報(フラグメントオフセット307が“0”以外となっている。図15のフレーム(IIIa)1305では“FO=2”)からIPフラグメントされていると判定されるため、まずヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(IIIa)1306と接続する分割パケットを検索する。検索結果からデータ(IIIa)1306と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。
判定の結果、データ(IIIa)1306は、すでに照合の終わったデータ(Ia)1302とは直接接続しないと判定され、データ(IIIa)1306に対するパターン照合が行われる。まず前述と同様に、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“J”から照合処理が行われる。図12より一致する文字“J”が登録されているため状態0から状態55に遷移する。ここで、状態55では、派生パターンを示すパターン識別フラグが立っており(図12中、破線丸で示す)かつ、検索開始からここまで初期状態0に戻っていないため(照合リセットフラグが“0”のままのため)データ(IIIa)1306の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定され、分割パケット状態管理テーブル604に、ヘッダ情報(IPアドレス、識別子)を検索キーに、データ部分に状態情報(この例では状態番号である55)、フラグメントオフセット(この例ではフレーム(IIIa)1305でのフラグメントオフセット値が2なので2)、パケット長(この例ではデータ(IIIa)1306の文字列長が“8”なので“8”)が登録される。さらにデータ“A”が入力されると、状態55以降に子ノードが存在しないため一旦初期状態0に移り、初期状態0からは文字“A”が登録されているため状態1に遷移する。また、照合リセットフラグは“1”にセットされる。これ以降、残りのデータ“BD4FVX”が入力されると状態は、状態1→2→28→0→41→0→0と遷移して、データ(IIIa)1306に対する照合が終了する。
次にデータ(IIa)“BCDEFGHI”1304を含むフレームがリンク100を介して送受信ユニット201で受信されると、フレームからパケットに変換され転送ユニット202に転送される。転送ユニット202では、ヘッダ情報、およびL5以上のデータ(本例の場合はデータ(IIa)“BCDEFGHI”1304)は、パケット照合ユニット203に送られ、パターン照合処理が行われる。
パターン照合部601においてデータ(IIa)“BCDEFGHI”1304を受信すると、ヘッダ情報(フラグメントオフセット307が“0”以外となっている。図15のフレーム(IIa)1303では“FO=1”)からIPフラグメントされていると判定されるため、まずヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(IIa)1304と接続する分割パケットの状態を検索する。検索結果からデータ(IIa)1304と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。
判定の結果、データ(IIa)1304は、データ(Ia)1302の後、およびデータ(IIIa) 1306の前に接続することが判定されるため、データ(Ia)1302の照合終了状態(状態1)からデータ(IIa)1304のパターン照合が行われる。状態前述と同様に、照合リセットフラグを“0”にセットし、データ(Ia)1302の照合終了状態である状態1からデータ“B”の照合処理が行われる。図14より一致する文字“B”が登録されているため状態1から状態2に遷移する。これ以降の状態は、状態2→3→4→5→6→7→8→9と遷移してデータ(IIa)1304に対するパターン照合が終了する。次に分割パケット状態管理テーブル604の検索結果からデータ(IIa)1304と後方で接続可能な分割パケットがデータ(IIIa)1306であるので、その照合終了状態(状態55)からオートマトンを初期状態0まで逆にたどり、その際に得られる文字列“J”を用いて、データ(IIa)1304の照合終了状態9より照合を再開すると、状態9→10と遷移し、状態10にてオリジナルパターンであることを示すフラグ(図14中、二重線丸で示す)によりパターン“ABCDEFGHIJ”にヒットしたことが判定でき、登録パターン番号を得る。
本発明の実施の形態2に係るパターン照合装置及びパターン照合方法の概念について説明する。ネットワーク構成、ファイヤーウォール101の内部構成は、実施の形態1と同様であるため説明を省略する。実施の形態1との違いであるパターン照合部601、分割パケット状態管理テーブル604、オートマトン制御部701の動作についてはこれ以降で説明する。
パターン登録工程(パターン登録手順)の一例として、第1のパターン“ABC”、第2のパターン“BC”がオートマトンテーブル206へ登録される場合について述べる。
次に一例として、図11のようにデータ“BDABE4FABCABD4FV”が、データ(I)“BDABE4FA”1102と、データ(II)“BCABD4FV”1104の2つのパケットにIPフラグメントされ、かつ受信順序が逆転した場合においてマルチヒットした場合に、最長一致パターンである第1のパターン“ABC”を発見する動作について述べる。
パターン照合部601においてデータ(II)“BCABD4FV”1104を受信すると、ヘッダ情報(フラグメントオフセット307が“0”以外となっている)からIPフラグメントされていると判定されるため、ヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(II)1104と接続する分割パケットを検索する。
検索結果では、データ(II)1104と接続する分割パケットはまだ登録されていないので、次にデータ(II)“BCABD4FV”1104に対するパターン照合処理が行われる。まず、照合リセットフラグを“0”にセットし、さらに、初期状態0から初期状態“0”以外への遷移が起きるたびカウントアップを行い初期状態0へ遷移する場合には0にリセットされるパターン長カウンタも0にセットして、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。図16よりパケットのデータと一致する文字“B”が登録されているため状態0から状態4に遷移する。
次に、パターン照合部601においてデータ(I)“BDABE4FA”1102を受信すると、ヘッダ情報(フラグMF308が“1”となっている)からIPフラグメントされていると判定されるため、まずヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(I)1102と接続する分割パケットを検索する。検索結果からデータ(I)1102と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。判定の結果、データ(I)1102は、データ(II)1104の前に接続することが判定された後、データ(I)1102に対するパターン照合が行われる。
まず、前述と同様に、照合リセットフラグを“0”にセットし、パターン長カウンタも0にセットされて、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。図16より一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“D”が入力されると、一致する文字“D”が登録されていないため状態4から状態0に移り、照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→1と遷移してデータ(I)1102に対するパターン照合が終了する。
本発明の実施の形態3に係るパターン照合装置及びパターン照合方法の概念について説明する。ネットワーク構成、ファイヤーウォール101の内部構成は、実施の形態1と同様であるため説明を省略する。実施の形態1との違いであるパターン照合部601、分割パケット状態管理テーブル604、オートマトン制御部701の動作についてはこれ以降で説明する。
パターン登録工程(パターン登録手順)のさらなる一例として、第1のパターン“ABC”、第2のパターン“BC”がオートマトンテーブル206へ登録される場合について述べる。
次に、一例として、データ“BDABE4FABCABD4FV”が、データ(I)“BDABE4FA”1102と、データ(II)“BCABD4FV”1104の2つのパケットにIPフラグメントされ、かつ受信順序が逆転した場合においてマルチヒットした場合に、優先度の高い第1のパターン“ABC”を発見する動作について述べる。
パターン照合部601においてデータ(II)“BCABD4FV”1104を受信すると、ヘッダ情報(フラグメントオフセット307が“0”以外となっている)からIPフラグメントされていると判定されるため、ヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(II)1104と接続する分割パケットを検索する。検索結果では、データ(II)1104と接続する分割パケットはまだ登録されていないので、データ(II)“BCABD4FV”1104に対するパターン照合処理が行われる。
まず、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われ、図16より一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“C”が入力されると、一致する文字“C”が登録されているため状態4から状態5に遷移する。
次に、パターン照合部601においてデータ(I)“BDABE4FA”1102を受信すると、ヘッダ情報(フラグMF308が“1”となっている)からIPフラグメントされていると判定されるため、まずヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(I)1102と接続する分割パケットを検索する。検索結果からデータ(I)1102と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。判定の結果、データ(I)1102は、データ(II)1104の前に接続することが判定された後、データ(I)1102に対するパターン照合が行われる。
まず、前述と同様に、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。図16より一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“D”が入力されると、一致する文字“D”が登録されていないため状態4から状態0に移り、照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→1と遷移してデータ(I)1102に対するパターン照合が終了する。次に分割パケット状態管理テーブル604の検索結果から接続可能な分割パケットの照合終了状態が状態5であることからオートマトンを状態5から開始状態0まで逆にたどり、その際に得られる文字列“CB”を逆順に用いて、データ(I)1102の照合終了状態1より照合を再開すると、状態1→2→3と遷移し、状態3にてオリジナルパターンであることを示すフラグ(図16中、二重丸で示す)により第1のパターン“ABC”にヒットしたことが判定でき、登録パターン番号(第1のパターン)を得る。
本発明の実施の形態4に係るパターン照合装置及びパターン照合方法の概念について説明する。ネットワーク構成、ファイヤーウォール101の内部構成は、実施の形態1と同様であるため説明を省略する。実施の形態1との違いであるパターン照合部601、分割パケット状態管理テーブル604、オートマトン制御部701の動作についてはこれ以降で説明する。
パターン登録工程(パターン登録手順)の一例として、パターン“ABC”がオートマトンテーブル206へ登録される場合について述べる。
次に、パターン照合の一例として、データ“BDABE4FABCABD4FV”が、データ(I)“BDABE4FA”1102と、データ(II)“BCABD4FV”1104の2つのパケットにIPフラグメントされ、かつ受信順序が逆転した場合においてパターン“ABC”を高速に発見する動作について述べる。
パターン照合部601においてデータ(II)“BCABD4FV”1104を受信すると、ヘッダ情報(フラグメントオフセット307が“0”以外となっている)からIPフラグメントされていると判定されるため、ヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(II)1104と接続する分割パケットを検索する。この場合、データ(II)1104と接続する分割パケットはまだ登録されていないので、データ(II)“BCABD4FV”1104に対するパターン照合処理が行われる。
まず、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われ、図17より一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“C”が入力されると、一致する文字“C”が登録されているため状態4から状態5に遷移する。
次に、パターン照合部601においてデータ(I)“BDABE4FA”1102を受信すると、ヘッダ情報(フラグMF308が“1”となっている)からIPフラグメントされていると判定されるため、まずヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(I)1102と接続する分割パケットを検索する。検索結果からデータ(I)1102と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。判定の結果、データ(I)1102は、データ(II)1104の前に接続することが判定された後、データ(I)1102に対するパターン照合が行われる。
まず、前述と同様に、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。図11より一致する文字“B”が登録されているため状態0から状態4に遷移する。次にデータ“D”が入力されると、一致する文字“D”が登録されていないため状態4から状態0に移り、照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→1と遷移してデータ(I)1102に対するパターン照合が終了する。次に分割パケット状態管理テーブル604の検索結果から接続可能な分割パケットの照合終了状態が状態5であり、かつジャンプ先が状態1と同じ枝にある状態3であることから、状態1から状態3にジャンプし、状態3にてオリジナルパターンであることを示すフラグ(図10では二重丸としている)によりパターン(I)“ABC”にヒットしたことが判定でき、登録パターン番号(第1のパターン)を得る。
101 ファイヤーウォール
102 PC端末
103 インターネット
104 サーバー群
105 無線アクセスポイント
106 無線端末
107 イントラネット
108 制御PC
109 制御リンク
201 送受信ユニット
202 転送ユニット
203 照合ユニット
204 制御ユニット
205 ルーティングテーブル
206 オートマトンテーブル(オートマトン記憶部)
215 ポリシーテーブル
601 パターン照合部
602 動作判定部
604 分割パケット状態管理テーブル
701 オートマトン制御部
702 ルーティング制御部
703 ポリシー制御部
Claims (28)
- フラグメントパケットの分割データに対して、オートマトンによるパターン照合を行うパターン照合装置であって、
オリジナルパターンおよび前記オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンを含む複数のパターンが登録されるオートマトン記憶部と、
前記分割データに対して、前記パターンをそれぞれ照合させ、
前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、前に続く分割データと前記オリジナルパターンの残る部分との照合を行い、
前記分割データの後端部が前記オリジナルパターンの先頭部と一致した際には、後に続く分割データと前記オリジナルパターンの残る部分との照合を行うパターン照合部と、を有し、
前記パターン毎に、それぞれオリジナルパターン及び派生パターンのいずれかであるかを識別するパターン識別フラグが登録され、前記パターン照合部は、前記パターン識別フラグによりオリジナルパターン及び派生パターンのいずれかであるかを識別する
ことを特徴とするパターン照合装置。 - 前記パターン識別フラグは、前記オリジナルパターンの最後尾のノードに登録されたオリジナルパターンフラグ(明細書中、二重線丸)と、前記派生パターンの最後尾のノードに登録された派生パターンフラグ(明細書中、破線丸)とを含む
ことを特徴とする請求項1に記載のパターン照合装置。 - 前記パターン照合部は、パターン照合処理において、所定の文字を照合した際に、当該文字のノードに前記派生パターンフラグが登録されており、かつ、当該パターン照合処理において、検索開始から一度も初期状態に戻っていないとき、前記分割データの先頭部が前記派生パターンに一致したと判定し、前に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
ことを特徴とする請求項2に記載のパターン照合装置。 - 前記パターン照合部は、パターン照合処理において、所定の文字を照合した際に、当該文字のノードが子ノードにオリジナルパターンフラグをもつノードがあるノードであり、かつ、当該パターン照合処理において、少なくとも1度初期状態に戻っているとき、前記分割データの後端部が前記オリジナルパターンの先頭部と一致したと判定し、後に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
ことを特徴とする請求項2に記載のパターン照合装置。 - 前記パターン照合部は、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、一致した位置の状態から開始状態まで前記派生パターンを逆にたどり、このとき得られる文字列を保持するとともに、前に続く分割データと前記オリジナルパターンとの照合を行い、この照合の終了状態に続くように前記保持した文字列に対して照合を開始する
ことを特徴とする請求項1に記載のパターン照合装置。 - 複数の前記オリジナルパターンが登録されており、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、最長一致のパターンを照合結果とする
ことを特徴とする請求項1から5のいずれか1項に記載のパターン照合装置。 - 初期状態から初期状態以外への遷移をする度にカウントアップを行うとともに、初期状態へ遷移する場合にはリセットされるパターン長カウンタをさらに有し、前記パターン照合部は、前記パターン長カウンタに基づいて前記最長一致のパターンを選択する
ことを特徴とする請求項6に記載のパターン照合装置。 - 複数の前記オリジナルパターンが登録されており、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、オリジナルパターンとの一致を示す状態情報に予め登録されている優先順位を前記一致した複数のパターン間で比較して、最も優先順位の高いパターンを照合結果とする
ことを特徴とする請求項1から5のいずれか1項に記載のパターン照合装置。 - 前記オリジナルパターンの遷移状態から前記派生パターンの遷移状態へのジャンプ先、及び前記派生パターンの遷移状態から前記オリジナルパターンの遷移状態へのジャンプ先を登録して置き、前記パターン照合部は、パターン照合処理の際、前記ジャンプ先に基づいて状態を遷移させる
ことを特徴とする請求項1から8のいずれか1項に記載のパターン照合装置。 - フラグメントパケットの分割データに対して、オートマトンを用いてパターン照合を行うパターン照合方法であって、
オリジナルパターンおよび前記オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンを含む複数のパターンを、予めオートマトン記憶部に登録する登録工程と、
前記分割データに対して、予め登録しておいた前記パターンをそれぞれ照合させ、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、前に続く分割データと前記オリジナルパターンの残る部分との照合を行い、前記分割データの後端部が前記オリジナルパターンの先頭部と一致した際には、後に続く分割データと前記オリジナルパターンの残る部分との照合を行う照合工程と、
を有し、
前記登録工程においては、前記パターン毎に、それぞれオリジナルパターン及び派生パターンのいずれかであるかを識別するパターン識別フラグが登録され、
前記照合工程においては、前記パターン照合部が、前記パターン識別フラグによりオリジナルパターン及び派生パターンのいずれかであるかを識別する
ことを特徴とするパターン照合方法。 - 前記パターン識別フラグは、前記オリジナルパターンの最後尾のノードに登録されたオリジナルパターンフラグ(明細書中、二重線丸)と、前記派生パターンの最後尾のノードに登録された派生パターンフラグ(明細書中、破線丸)とを含む
ことを特徴とする請求項10に記載のパターン照合方法。 - 前記照合工程においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードに前記派生パターンフラグが登録されており、かつ、当該パターン照合処理において、検索開始から一度も初期状態に戻っていないとき、前記分割データの先頭部が前記派生パターンに一致したと判定し、前に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
ことを特徴とする請求項11に記載のパターン照合方法。 - 前記照合工程においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードが子ノードにオリジナルパターンフラグをもつノードがあるノードであり、かつ、当該パターン照合処理において、少なくとも1度初期状態に戻っているとき、前記分割データの後端部が前記オリジナルパターンの先頭部と一致したと判定し、後に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
ことを特徴とする請求項11に記載のパターン照合方法。 - 前記照合工程においては、前記パターン照合部は、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、一致した位置の状態から開始状態まで前記派生パターンを逆にたどり、このとき得られる文字列を保持するとともに、前に続く分割データと前記オリジナルパターンとの照合を行い、この照合の終了状態に続くように前記保持した文字列に対して照合を開始する
ことを特徴とする請求項10に記載のパターン照合方法。 - 前記登録工程において、複数の前記オリジナルパターンを登録して置き、
前記照合工程においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、最長一致のパターンを照合結果とする
ことを特徴とする請求項10から14のいずれか1項に記載のパターン照合方法。 - 初期状態から初期状態以外への遷移をする度にカウントアップを行うとともに、初期状態へ遷移する場合にはリセットされるパターン長カウンタをさらに有し、前記照合工程においては、前記パターン照合部は、前記パターン長カウンタに基づいて前記最長一致のパターンを選択する
ことを特徴とする請求項15に記載のパターン照合方法。 - 前記登録工程において、複数の前記オリジナルパターンを登録して置き、
前記照合工程においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、オリジナルパターンとの一致を示す状態情報に予め登録されている優先順位を前記一致した複数のパターン間で比較して、最も優先順位の高いパターンを照合結果とする
ことを特徴とする請求項10から14のいずれか1項に記載のパターン照合方法。 - 前記オリジナルパターンの遷移状態から前記派生パターンの遷移状態へのジャンプ先、及び前記派生パターンの遷移状態から前記オリジナルパターンの遷移状態へのジャンプ先を登録しておき、前記パターン照合部は、パターン照合処理の際、前記ジャンプ先に基づいて状態を遷移させる
ことを特徴とする請求項10から17のいずれか1項に記載のパターン照合方法。 - フラグメントパケットの分割データに対して、オートマトンを用いてパターン照合を行うパターン照合プログラムであって、
オリジナルパターンおよび前記オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンを含む複数のパターンを、予めオートマトン記憶部に登録する登録手順と、
前記分割データに対して、予め登録しておいた前記パターンをそれぞれ照合させ、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、前に続く分割データと前記オリジナルパターンの残る部分との照合を行い、前記分割データの後端部が前記オリジナルパターンの先頭部と一致した際には、後に続く分割データと前記オリジナルパターンの残る部分との照合を行う照合手順と、
をCPU装置に実行させ、
前記登録手順においては、前記パターン毎に、それぞれオリジナルパターン及び派生パターンのいずれかであるかを識別するパターン識別フラグが登録され、
前記照合手順においては、前記パターン照合部が、前記パターン識別フラグによりオリジナルパターン及び派生パターンのいずれかであるかを識別する
ことを特徴とするパターン照合プログラム。 - 前記パターン識別フラグは、前記オリジナルパターンの最後尾のノードに登録されたオリジナルパターンフラグ(明細書中、二重線丸)と、前記派生パターンの最後尾のノードに登録された派生パターンフラグ(明細書中、破線丸)とを含む
ことを特徴とする請求項19に記載のパターン照合プログラム。 - 前記照合手順においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードに前記派生パターンフラグが登録されており、かつ、当該パターン照合処理において、検索開始から一度も初期状態に戻っていないとき、前記分割データの先頭部が前記派生パターンに一致したと判定し、前に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
ことを特徴とする請求項20に記載のパターン照合プログラム。 - 前記照合手順においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードが子ノードにオリジナルパターンフラグをもつノードがあるノードであり、かつ、当該パターン照合処理において、少なくとも1度初期状態に戻っているとき、前記分割データの後端部が前記オリジナルパターンの先頭部と一致したと判定し、後に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
ことを特徴とする請求項20に記載のパターン照合プログラム。 - 前記照合手順においては、前記パターン照合部は、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、一致した位置の状態から開始状態まで前記派生パターンを逆にたどり、このとき得られる文字列を保持するとともに、前に続く分割データと前記オリジナルパターンとの照合を行い、この照合の終了状態に続くように前記保持した文字列に対して照合を開始する
ことを特徴とする請求項19に記載のパターン照合プログラム。 - 前記登録手順において、複数の前記オリジナルパターンを登録して置き、
前記照合手順においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、最長一致のパターンを照合結果とする
ことを特徴とする請求項19から23のいずれか1項に記載のパターン照合プログラム。 - 初期状態から初期状態以外への遷移をする度にカウントアップを行うとともに、初期状態へ遷移する場合にはリセットされるパターン長カウンタをさらに有し、前記照合手順においては、前記パターン照合部は、前記パターン長カウンタに基づいて前記最長一致のパターンを選択する
ことを特徴とする請求項24に記載のパターン照合プログラム。 - 前記登録手順において、複数の前記オリジナルパターンを登録して置き、
前記照合手順においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、オリジナルパターンとの一致を示す状態情報に予め登録されている優先順位を前記一致した複数のパターン間で比較して、最も優先順位の高いパターンを照合結果とする
ことを特徴とする請求項19から23のいずれか1項に記載のパターン照合プログラム。 - 前記オリジナルパターンの遷移状態から前記派生パターンの遷移状態へのジャンプ先、及び前記派生パターンの遷移状態から前記オリジナルパターンの遷移状態へのジャンプ先を登録しておき、前記パターン照合部は、パターン照合処理の際、前記ジャンプ先に基づいて状態を遷移させる
ことを特徴とする請求項19から23のいずれか1項に記載のパターン照合プログラム。 - 請求項19から27のいずれか1項に記載のパターン照合プログラムを記録したCPU装置が読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005336075A JP4729389B2 (ja) | 2005-11-21 | 2005-11-21 | パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005336075A JP4729389B2 (ja) | 2005-11-21 | 2005-11-21 | パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007141084A JP2007141084A (ja) | 2007-06-07 |
JP4729389B2 true JP4729389B2 (ja) | 2011-07-20 |
Family
ID=38203842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005336075A Expired - Fee Related JP4729389B2 (ja) | 2005-11-21 | 2005-11-21 | パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4729389B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2202937B1 (en) * | 2008-12-24 | 2011-11-30 | Mitsubishi Electric R&D Centre Europe B.V. | Partial reassembly for pattern matching |
JP5339236B2 (ja) * | 2010-03-05 | 2013-11-13 | 独立行政法人 国立印刷局 | 要素列の近似的な照合又は検索及びその方法を実行するためのプログラムを格納した記録媒体 |
JP5977209B2 (ja) * | 2013-07-18 | 2016-08-24 | 日本電信電話株式会社 | ステートマシン回路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236080A (ja) * | 2005-02-25 | 2006-09-07 | Nippon Telegr & Teleph Corp <Ntt> | 不正アクセス検知装置および方法 |
-
2005
- 2005-11-21 JP JP2005336075A patent/JP4729389B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007141084A (ja) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100910818B1 (ko) | 비-macsec 노드들을 통해 macsec 패킷들을터널링하기 위한 방법 및 시스템 | |
US8738800B1 (en) | Data structures and state tracking for network protocol processing | |
US8239341B2 (en) | Method and apparatus for pattern matching | |
US8274979B2 (en) | Method and system for secure communication between a public network and a local network | |
US8561140B2 (en) | Method and system for including network security information in a frame | |
US8448234B2 (en) | Method and apparatus for deep packet inspection for network intrusion detection | |
US7706378B2 (en) | Method and apparatus for processing network packets | |
US20030110208A1 (en) | Processing data across packet boundaries | |
US7913294B1 (en) | Network protocol processing for filtering packets | |
US7974209B1 (en) | Packet processing with re-insertion into network interface circuitry | |
WO2001048980A1 (fr) | Appareil et procede de communication de paquets et support de stockage | |
CN112039904A (zh) | 一种网络流量分析与文件提取系统及方法 | |
US7359983B1 (en) | Fragment processing utilizing cross-linked tables | |
WO2008031346A1 (fr) | Procédé, appareil et système de classification de flux complexe de datagrammes fragmentés | |
Choi et al. | A marking scheme using Huffman codes for IP traceback | |
JP4340653B2 (ja) | 通信処理装置及び通信処理方法 | |
US7359380B1 (en) | Network protocol processing for routing and bridging | |
JP4263718B2 (ja) | 通信処理装置及び通信処理方法 | |
JP4729389B2 (ja) | パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 | |
JP4167866B2 (ja) | データ伝送方法、データ伝送システム及びデータ伝送装置 | |
JP2004179999A (ja) | 侵入検知装置およびその方法 | |
WO2005050935A1 (ja) | 侵入検知装置およびその方法 | |
KR100875931B1 (ko) | 통합 ip 패킷 지원 보안 장치 및 방법 | |
JP4647479B2 (ja) | IPsec回路及びIPsec処理方法 | |
JP5092842B2 (ja) | パケット処理装置およびパケット処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101026 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110412 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110418 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |