JP4729389B2 - パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 - Google Patents

パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 Download PDF

Info

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
Application number
JP2005336075A
Other languages
English (en)
Other versions
JP2007141084A (ja
Inventor
潤 水口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005336075A priority Critical patent/JP4729389B2/ja
Publication of JP2007141084A publication Critical patent/JP2007141084A/ja
Application granted granted Critical
Publication of JP4729389B2 publication Critical patent/JP4729389B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

通信パケットのデータ(文字列)に対してオートマトンを用いてパターン照合行うパターン照合技術に関するものであり、特にフラグメント(パケットの分割)されたパケットにおいて、パケットの順序が逆転した際にも適用することができるパターン照合装置、パターン照合、パターン照合プログラム及びこれを記録した記録媒体に関するものである。
通信ネットワークにおいて、ネットワークに流れるデータ単位の1つとして“パケット”が存在し、ネットワークに接続された端末及びネットワークを接続する各種機器は、このパケットを送受信して通信をおこなっている。
近年、悪意あるパケットを、故意に端末或いはネットワークを構成する装置に送りつけて通信不能に陥らせたり、また端末或いはネットワーク装置に不正アクセスしたりする事例が増えてきている。そのため、このような悪意あるパケットを見分ける手段として、あらかじめ登録された文字列のパターンとパケット中の文字列のパターンとを照合するパターン照合技術を用いて見分ける方法が提案されている。
例えば、受信した通信パケットと検出パターンとを比較して、パケットの通過/廃棄を判定したりすることが提案されている(例えば、特許文献1参照)。
また、複数のパターンから一つのオートマトンを構築し、このオートマトンを使って、フラグメントされたパケットの分割データに対するパターン照合処理をすることが提案されている(例えば、非特許文献1参照)。
特開2004−140618号公報 "オートマトンを用いたフラグメントパケット文字列検索手法の一検討"、2005年電子情報通信学会総合大会 B−6−44
しかしながら、上記1つめの提案である受信した通信パケットと検出パターンとを比較する提案に関しては、L5以上の高レイヤーのパターン照合を実現するためには、IDS(Intrusion Detection System)等のネットワーク装置と連携をする必要があり、音声や映像などのリアルタイム性が要求されるアプリケーションに対して、この連携による遅延が発生してしまうことがあるという未解決の課題を有している。
また、上記2つめの提案である複数のパターンから一つのオートマトンを構築し、このオートマトンを使って複数パターンに対するパターン照合処理に関しては、例えば1つの文字列が複数のパケットに分割されてかつ順序が逆転して装置に入力された場合、分割前のものであれば一致と判定されるべき文字列がパターン中に存在するにもかかわらず、複数のパケットに分割され且つ順序が逆転しているので、パターンに一致させることができないという未解決の課題を有している。
本発明は、上記課題に鑑みてなされたものであり、IDS等の他ネットワーク装置との連携による遅延や、パケットのリアセンブル処理による遅延を伴うことなく、L5以上の高レイヤーのパターン照合を可能とするとともに、複数のパケットに分割され且つパケット到着順序が逆転していてもリアセンブルなしでパターン照合をすることができるパターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体を得ることを目的とする。
この発明に係るパターン照合装置は、フラグメントパケットの分割データに対して、オートマトンによるパターン照合を行うパターン照合装置であって、オリジナルパターンとオリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンとを含む複数のパターンが登録されるオートマトン記憶部と、分割データに対して、パターンをそれぞれ照合させ、分割データの先頭部が派生パターンのいずれかと一致した際には、前に続く分割データとオリジナルパターンの残る部分との照合を行い、分割データの後端部がオリジナルパターンの先頭部と一致した際には、後に続く分割データとオリジナルパターンの残る部分との照合を行うパターン照合部とを有することを特徴とする。
また、この発明に係るパターン照合方法は、フラグメントパケットの分割データに対して、オートマトンを用いてパターン照合を行うパターン照合方法であって、オリジナルパターンとオリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンとを含む複数のパターンを、予めオートマトン記憶部に登録して置く登録工程と、分割データに対して、予め登録しておいたパターンをそれぞれ照合させ、分割データの先頭部が派生パターンのいずれかと一致した際には、前に続く分割データとオリジナルパターンの残る部分との照合を行い、分割データの後端部がオリジナルパターンの先頭部と一致した際には、後に続く分割データとオリジナルパターンの残る部分との照合を行う照合工程とを有することを特徴とする。
さらに、この発明に係るパターン照合プログラムは、フラグメントパケットの分割データに対して、オートマトンを用いてパターン照合を行うパターン照合プログラムであって、オリジナルパターンとオリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンとを含む複数のパターンを、予めオートマトン記憶部に登録する登録手順と、分割データに対して、予め登録しておいたパターンをそれぞれ照合させ、分割データの先頭部が派生パターンのいずれかと一致した際には、前に続く分割データとオリジナルパターンの残る部分との照合を行い、分割データの後端部がオリジナルパターンの先頭部と一致した際には、後に続く分割データとオリジナルパターンの残る部分との照合を行う照合手順とをCPU装置に実行させることを特徴とする。
さらにまた、この発明に係るCPU装置が読み取り可能な記録媒体は、上記パターン照合プログラムを記録したことを特徴とする。
この発明によれば、オートマトンに登録するパターンを、オリジナルパターンだけでなく、オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンも登録することで、フラグメントされ、かつ順序逆転して到達したパケットにおいてもパターン照合を行うことができる。そのため、フラグメントパケットをリアセンブルすることなくパターン照合処理を行うことができ、フラグメントパケットのリアセンブル処理による遅延を抑制することができる。
以下、本発明にかかるパターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
まず、本発明の実施の形態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によって接続されている。
図2は、図1のファイヤーウォール101の内部構成を示すブロック図である。図2において、ファイヤーウォール101は、送受信ユニット201、転送ユニット202、照合ユニット203及び制御ユニット204から構成されている。送受信ユニット201と転送ユニット202とは、転送経路207で接続されている。転送ユニット202と照合ユニット203とは、データ経路208、および判定結果経路210で接続されており、ルーティングテーブル205に対しては、転送ユニット202とルーティング検索経路211で、さらに制御ユニット204とルーティングテーブル制御経路212で接続しており、オートマトンテーブル(オートマトン記憶部)206に対しては、照合ユニット203とパターン検索経路209で、さらに制御ユニット204とオートマトン制御経路213で接続されており、ポリシーテーブル215とは、ポリシー制御経路214で制御ユニット204と、照合ユニット203とポリシー検索経路216で接続されている。ルーティングテーブル205、オートマトンテーブル206及びポリシーテーブル215は、メモリ或いはハードディスク等の図示しない記憶装置に記憶されている。
[機能構成]
送受信ユニット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ヘッダの宛先・送信元ポート番号を抽出し、ルーティング検索経路211を介してルーティングテーブル205に対してルーティング検索処理をおこなう。また、前述したヘッダ情報、およびL5ヘッダ以上のデータは、データ経路208を介して照合ユニット203へ渡し、照合ユニット203から判定結果経路210を介して判定結果を受け取り、判定結果とルーティング検索結果をもとに送受信ユニット201へフレーム転送経路207を使いフレームを転送する。
図3は、図2に示された照合ユニット203内部の構成図である。照合ユニット203は、記憶媒体に記録可能でCPU装置としてのファイヤーウォール101に読み込まれたプログラムで構成され、パターン照合部601、動作判定部602、分割パケット状態管理テーブル604から構成されている。パターン照合部601では、データ経路208をとおして転送ユニット202から送られてきたヘッダ情報、およびL5以上のデータを受け取り、データに対してパターン検索経路209を介してオートマトンテーブル206に対して登録パターンとデータ内の文字列とを照合し、一致するパターンがあった場合、検索結果経路603をとおして動作判定部602にデータ内の文字列と一致したパターン情報を渡し、動作判定部602では、検索結果経路603から送られてきたパターン情報から、ポリシーテーブル215に対してポリシーテーブル検索経路216を介して検索し、該当フレームの扱いについて検索結果をもとに判定し、判定結果は、判定結果経路210を介して転送ユニット202に通知する。
図4は、図2に示された制御ユニット204内部の構成図である。制御ユニット204は、記憶媒体に記録可能でCPU装置としてのファイヤーウォール101に読み込まれたプログラムで構成され、オートマトン制御部701、ルーティング制御部702、ポリシー制御部703で構成されている。オートマトン制御部701は、オートマトンテーブル206に対してパターン情報の設定をおこなうためにオートマトン制御経路213を介してオートマトンテーブル206と接続し、ルーティング制御部702は、ルーティングテーブル205に対してルーティング情報の制御をおこなうため、ルーティングテーブル制御経路212を介してルーティングテーブル205と接続されており、ポリシー制御部703は、ポリシーテーブル215に対して一致したパターン情報に対して廃棄/通過判定等のポリシー制御をおこなうためポリシー制御経路214を介してポリシーテーブル215と接続されており、さらにオートマトン制御部701、ルーティング制御部702、ポリシー制御部703はそれぞれ、制御PC108と制御リンク109を介して接続されている。
[データ構造]
ここで、転送ユニット202で抽出され、ルーティング検索処理の検索キーおよび、フラグメントパケットの識別、フラグメントパケット間の接続判定のために使用されるヘッダ情報(L3ヘッダ宛先・送信元アドレス、プロトコル、トータルレングス、識別子、フラグ、フラグメントオフセット、L4ヘッダ宛先・送信元ポート番号、シーケンス番号(L4ヘッダがTCPの場合のみ))の詳細について図5から図8を用いて説明する。
図5は、イーサネット(登録商標)フレームのフォーマット図である。図5に示すように、IPv4ヘッダ300、TCP(Transmission Control Protocol)ヘッダ400およびUDP(User Datagram Protocol)ヘッダ500が、それぞれ、イーサネット(登録商標)フレーム803にカプセル化されている。上述したように、受信ユニット201では、図5に示すリンク100から受信したイーサネット(登録商標)フレーム803からマックヘッダ801とFCS802を取り除いたIPv4パケット804を転送ユニット202に転送し、また転送ユニット202から送られたIPv4パケット804にMACヘッダ801とFCS802でカプセル化してリンク100に送信をおこなう。
図6は、L3ヘッダであるIPv4ヘッダのフォーマットを示しており、IPv4ヘッダの先頭から4バイト目にトータル長304、5バイト目に識別子305、7バイト目のうち上位3ビットがフラグ306であり、その上位3ビットのうち最下位ビットがMF(More Fragments)308、7バイト目の下位5ビットと8バイト目がフラグメントオフセット307、10バイト目にプロトコル301、13バイト目に送信元IPアドレス302、17バイト目に宛先IPアドレス303が位置している。
図7は、L4ヘッダであるTCPヘッダのフォーマットを示しており、TCPヘッダの1バイト目に送信元ポート番号401、4バイト目に宛先ポート番号402、5バイト目にシーケンス番号403が位置している。
図8は、L4ヘッダであるUDPヘッダのフォーマットを示しており、UDPヘッダの1バイト目に送信元ポート番号501、4バイト目に宛先ポート番号502が位置している。
また、実施の形態によっては、L3ヘッダの宛先・送信元アドレス、プロトコル、L4ヘッダの宛先・送信元ポート番号の他にフローを識別するフィールド(VLANID等)が検索キーとして加わる、またはL3ヘッダの宛先・送信元アドレス、プロトコル、L4ヘッダの宛先・送信元ポート番号のうち一部のフィールドがない場合もある。
[パターン登録工程の例1]
次に、パターン登録工程(パターン登録手順)の一例として、パターン“ABC”がオートマトンテーブル206へ登録される場合について述べる。なお、本実施の形態ではパターン、およびデータは1文字を1バイトで示すものとして説明するが、1文字をNバイト(Nは任意数)示すものであってもよい。
図9は、パターン“ABC”のオートマトンへの登録の様子を説明するための遷移図である。登録するべきパターン“ABC”が制御PC108より制御リンク109を介して制御ユニット204内のオートマトン制御部701に入力されると、図9のようにパターン“ABC”(以下、オリジナルパターン)として初期状態901からパターン“A”の登録により枝902とノード903が登録され、次にパターン“B”の登録により枝904とノード905が登録され、パターン“C”の登録により枝906とノード907が登録される。また、オリジナルパターンの最後尾であるパターン“C”のノード907が登録される際に、オリジナルパターンの最後尾のノードを示すノード識別フラグ(図9中、二重線丸で示す)が登録され、さらに、登録したパターンに対する登録パターン番号も登録される。また、オリジナルパターンのフラグを持つノード(ここでは、ノード907)に子ノードが存在する場合(図9の状態1(ノード903)、2(ノード905)が相当する)には、その存在を示すフラグ(図9中、太線丸で示す)も登録される。
図10は、派生パターンも含めたパターン“ABC”のオートマトンへの登録の様子を説明するための遷移図である。本実施の形態1では、1バイトずつパターン照合をおこなうために、オリジナルパターンに対して、文字列の先頭から1バイトずつ削除した複数パターン(以下、派生パターン)として図10のように状態遷移0→4→5(派生パターン“BC”)、状態遷移0→6(派生パターン“C”)が登録される。また、派生パターンの最後尾である状態5および状態6のノード1001を登録する際に、派生パターンの最後尾のノードを示すノード識別フラグ(図10中、破線丸で示す)が登録される。
[パターン照合工程の例1]
図11は、パケットデータがIPフラグメント(パケットの分割)された様子を示す模式図である。ここでは、一例として、データ(X)“BDABE4FABCABD4FV”が、データ(I)“BDABE4FA”1102と、データ(II)“BCABD4FV”1104の2つのパケットにIPフラグメントされ、かつ受信順序が逆転して、データ(II)“BCABD4FV”1104、データ(I)“BDABE4FA”1102の順に到着した場合におけるパターン“ABC”を発見する動作について述べる。
図12は、データ“BDABE4FABCABD4FV”が2つのパケットにIPフラグメントされた場合を示しており、データ(I)1102、データ(II)1104がイーサネット(登録商標)フレームによりそれぞれカプセル化されて、フレーム(I)1101、フレーム(II)1103と2つのフレームとなっている。これらのフレームが、上述のように、フレーム(II)1103、フレーム(I)1101の順番に到着したとする。
データ(II)“BCABD4FV”1104を含むフレーム(II)1103がリンク100を介して送受信ユニット201で受信されると、フレームからパケットに変換され転送ユニット202に転送される。転送ユニット202では、ヘッダ情報、およびL5以上のデータ(本例の場合はデータ(II)“BCABD4FV”1104)を抽出し、抽出後パケット照合ユニット203に送られて、パターン照合処理が行われる。
(データ受信)
パターン照合部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の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定される。
データ(II)1104の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定されると、分割パケット状態管理テーブル604に、ヘッダ情報(IPアドレス、識別子)を検索キーに、データ部分に状態情報(この例では状態番号である“5”)、フラグメントオフセット(この例ではフレーム(II)1103でのフラグメントオフセット値が“1”なので“1”)、パケット長(この例ではデータ(II)1104の文字列長が“8”なので“8”)が登録される。さらに、データ“A”が入力されると、状態5以降に子ノードが存在しないため一旦初期状態0に移り、初期状態0からは文字“A”が登録されているため状態1に遷移する。また、初期状態に戻ったことにより照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→0と遷移して、データ(II)1104に対する照合が終了する。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターンの後部分に一致する可能性あり)だけが通知されたため、ポリシーテーブル215に対して検索を行わず、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送するように通知され、該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信される。
(データ受信)
次に、データ(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と接続可能なデータを検索結果のフラグメントオフセット、パケット長と、自パケットのフラグメントオフセット、パケット長から判定する。
なお、本実施の形態ではIPフラグメントの場合について述べているが、TCPセグメントにてフラグメントされている場合には、フラグメントオフセットおよびパケット長に代わって、シーケンス番号およびセグメント長が接続判定に用いられる。
判定の結果、データ(I)1102は、データ(II)1104の前に接続することが判定され、データ(I)1102に対するパターン照合が行われる。まず、前述と同様に、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。
(パターン照合処理)
図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”に対する登録パターン番号を得ることができる。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターン番号)が通知されるため、登録パターン番号を検索キーとしてポリシーテーブル215に対して検索を行い、該当パケットの処遇(転送/廃棄等)について解決する。解決後、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送または、廃棄するよう通知され、転送が通知されれば該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信され、廃棄と通知されれば、該当パケットは廃棄されるためエンド端末ではフラグメントパケットを再構築できないために廃棄される。
[パターン照合工程の例2]
図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”を発見する動作について述べる。
図14はパターン“ABCDEFGHIJ”を登録したオートマトンを示しており、状態10は、オリジナルパターンを示すフラグ(図14中、二重線丸で示す)が、状態19、27、34、40、45、49、52、54、55には、派生パターンを示すパターン識別フラグ(図14中、破線丸で示す)が登録されており、また状態1〜9までは子ノードにオリジナルパターンを示すフラグを持つノードが存在しているため、それを識別するためのフラグ(図14中、太線丸で示す)が登録されている。
図15は、データ“BDABE4FABCDEFGHIJABD4FVX”が3つのパケットにIPフラグメントされ、データ(Ia)1302、データ(IIa)1304、データ(IIIa)1306がイーサネット(登録商標)フレームによりカプセル化されフレーム(Ia)1301、フレーム(IIa)1303、フレーム(IIIa)1305と3つのフレームとなっている。これらのフレームが、上述のように、フレーム(Ia)1301、フレーム(IIIa)1305、フレーム(IIa)1303の順番に到着したとする。
(データ受信)
データ(Ia)“BDABE4FA”1302を含むフレーム(Ia)1301がリンク100を介して送受信ユニット201で受信されると、フレームからパケットに変換され転送ユニット202に転送される。転送ユニット202では、ヘッダ情報、およびL5以上のデータ(本例の場合はデータ(Ia)“BDABE4FA”1302)を抽出し、抽出後パケット照合ユニット203に送られてパターン照合処理が行われる。
パターン照合部601においてデータ(Ia)“BDABE4FA”1302を受信すると、ヘッダ情報(フラグMF308が“1”となっている。図15のフレーム(Ia)1301では“MF=1”)からIPフラグメントされていると判定されるため、ヘッダ情報(IPアドレス、識別子)を検索キーに分割パケット状態管理テーブル604に対して検索処理が行われ、データ(Ia)1302と接続する分割パケットを検索する。
(パターン照合処理)
検索結果では、データ(Ia)1302と接続する分割パケットは登録されていないので、次にデータ(Ia)“BDABE4FA”1302に対するパターン照合処理が行われる。まず、照合リセットフラグを“0”にセットし、オートマトンの初期状態0においてデータ“B”から照合処理が行われる。図14より一致する文字“B”が登録されているため状態0から状態11に遷移し、これ以降状態は、データ“DABE4FA”が入力されると、状態11→0→1→2→35→0→41→1と遷移してデータ(Ia)1302に対する照合が終了する。
照合終了状態1では、子ノードにオリジナルパターンが含まれていることを示すフラグ(図14中、太線丸で示す)、および照合リセットフラグが“1”であることから登録パターンの前方部分に一致する可能性があると判定され、分割パケット状態管理テーブル604に、ヘッダ情報(IPアドレス、識別子)を検索キーに、データ部分に状態情報(この例では状態番号である1)、フラグメントオフセット(この例ではフレーム(Ia)1301でのフラグメントオフセット値が0なので0)、パケット長(この例ではデータ(Ia)1302の文字列長が“8”なので“8”)が登録される。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターンの前方部分に一致する可能性あり)だけが通知されたため、ポリシーテーブル215に対して検索を行わず、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送するように通知され、該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信される。
(データ受信)
次にデータ(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に対する照合が終了する。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターンの後方部分に一致する可能性あり)だけが通知されたため、ポリシーテーブル215に対して検索を行わず、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送するように通知され、該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信される。
(データ受信)
次にデータ(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”にヒットしたことが判定でき、登録パターン番号を得る。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターン番号)が通知されるため、登録パターン番号を検索キーとしてポリシーテーブル215に対して検索を行い、該当パケットの処遇(転送/廃棄等)について解決する。解決後、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送または、廃棄するよう通知され、転送が通知されれば該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信され、廃棄と通知されれば、該当パケットは廃棄されるためエンド端末ではフラグメントパケットを再構築できないために廃棄される。
このように実施の形態1によれば、オートマトンに登録するパターンに対して、派生パターンも登録することで、フラグメントされ、かつ順序逆転して到達したパケットにおいてもパターン照合が可能であり、またフラグメントパケットをリアセンブルしないためにフラグメントパケットのリアセンブル処理による遅延を発生させないことができる。
実施の形態2.
本発明の実施の形態2に係るパターン照合装置及びパターン照合方法の概念について説明する。ネットワーク構成、ファイヤーウォール101の内部構成は、実施の形態1と同様であるため説明を省略する。実施の形態1との違いであるパターン照合部601、分割パケット状態管理テーブル604、オートマトン制御部701の動作についてはこれ以降で説明する。
[パターン登録工程の例2]
パターン登録工程(パターン登録手順)の一例として、第1のパターン“ABC”、第2のパターン“BC”がオートマトンテーブル206へ登録される場合について述べる。
第1のパターン“ABC”を登録すると図9のようにオートマトンが形成される(パターン“ABC”の登録動作については実施の形態1を参照)。次に第2のパターン“BC”を登録する。第2のパターン“BC”が制御PC108よりオートマトン制御部701に入力されると、図16のように第2のパターン“BC”として状態遷移0→4→5が登録されるが、既に第1のパターン“ABC”登録時において登録済みであるためノードは登録されず、オリジナルパターンの最後尾である状態5のノードに、オリジナルパターンの最後尾のノードを示すノード識別フラグ1401(図16中、二重破線丸で示す)が登録される。また、本実施の形態では1バイトずつパターン照合を行うために、オリジナルパターンに対して、文字列の先頭から1バイトずつ削除した派生パターンとして状態遷移0→6(派生パターン“C”)が登録されるが、これも既に第1のパターン“ABC”登録時において登録済みであるためノードは登録されない。また、派生パターンの最後尾である状態6のノードが登録される際に、派生パターンの最後尾のノードを示すノード識別フラグ(図16中、二重破線丸で示す)が登録されるが、既に第1のパターン“ABC”登録時において登録済みであるために登録されない。
[パターン照合工程の例3]
次に一例として、図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に遷移する。
次にデータ“C”が入力されると、これも一致する文字“C”が登録されているため状態4から状態5に遷移する。ここで、状態5では、派生パターンを示すパターン識別フラグ(ここでは二重破線丸で示されており、他では派生パターンは破線丸で示されている)を示しており、かつ検索開始からここまで初期状態0に戻っていないため(照合リセットフラグが“0”のままのため)データ(II)1104の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定される。そして、分割パケット状態管理テーブル604に、ヘッダ情報(IPアドレス、識別子)を検索キーに、データ部分に状態情報(この例では状態番号である5)、フラグメントオフセット(この例ではフレーム(II)1103でのフラグメントオフセット値が“1”なので“1”)、パケット長(この例ではデータ(II)1104の文字列長が“8”なので“8”)が登録される。
さらに状態5では、オリジナルパターンの最後尾のノードを示すノード識別フラグ(ここでは二重破線丸で示されており、他ではオリジナルパターンは二重丸で示されている)を示しているため第2のパターン“BC”にヒットしていると判定され、ヒットした登録パターン番号と、初期状態からの深さ(つまり文字列の長さ)であるパターン長カウンタの値(この例では“2”)も分割パケット状態管理テーブル604に登録される。さらに、データ“A”が入力されると、状態5以降に子ノードが存在しないため一旦状態0に移り、状態0からは文字“A”が登録されているため状態1に遷移する。また、初期状態に戻ったことにより照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→0と遷移して、データ(II)1104に対する照合が終了する。
データ(II)“BCABD4FV”1104の照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターン番号(第2のパターン)と、登録パターンの後部分に一致する可能性あり)と他の登録パターンと一致する可能性が通知されたため、ポリシーテーブル215に対して検索を行わず、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送するように通知され、該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信される。
(データ受信)
次に、パターン照合部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に対するパターン照合が終了する。
次に分割パケット状態管理テーブル604の検索結果から接続可能な分割パケットの照合終了状態が状態5であることからオートマトンを状態5から開始状態0まで逆にたどり、その際に得られる文字列“CB”を逆順に用いて、データ(I)1102の照合終了状態1より照合を再開すると、状態1→2→3と遷移し、状態3にてオリジナルパターンであることを示すフラグ(図16中、二重丸で示す)により第1のパターン“ABC”にヒットしたことが判定でき、登録パターン番号(第1のパターン)を得る。
この時、前述した分割パケット状態管理テーブル604での検索結果に登録パターン番号(第2のパターン)が含まれているためマルチヒットしていると判定される。そして、第1のパターンでのパターン長カウンタの値(この例では3)と、第2のパターンでのパターン長カウンタの値(この例では2)より、パターン長の長い第1のパターンが選ばれる。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(前述の判定で選択された登録パターン番号(第1のパターン))が通知されるため、登録パターン番号を検索キーとしてポリシーテーブル215に対して検索を行い、該当パケットの処遇(転送/廃棄等)について解決する。解決後、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送または、廃棄するよう通知され、転送が通知されれば該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信され、廃棄と通知されれば、該当パケットは廃棄されるためエンド端末ではフラグメントパケットを再構築できないために廃棄される。
このように実施の形態2によれば、マルチヒットした際に、初期状態からオリジナルパターンであることを示すフラグまでの深さ(つまり文字列の長さ)をマルチヒットしたパターン間で比較することで、最長一致したパターンを識別することができる。
実施の形態3.
本発明の実施の形態3に係るパターン照合装置及びパターン照合方法の概念について説明する。ネットワーク構成、ファイヤーウォール101の内部構成は、実施の形態1と同様であるため説明を省略する。実施の形態1との違いであるパターン照合部601、分割パケット状態管理テーブル604、オートマトン制御部701の動作についてはこれ以降で説明する。
[パターン登録工程の例3]
パターン登録工程(パターン登録手順)のさらなる一例として、第1のパターン“ABC”、第2のパターン“BC”がオートマトンテーブル206へ登録される場合について述べる。
登録するべき第1のパターン“ABC”が制御PC108よりオートマトン制御部701に入力されると、図16のようにパターン“ABC”として状態遷移0→1→2→3が登録され、オリジナルパターンの最後尾である状態3のノードが登録される際に、オリジナルパターンの最後尾のノードを示すノード識別フラグ(図16中、二重線丸で示す)が登録される。また、ユーザーがあらかじめ登録するパターンに対して順位づけをした優先度番号も登録される(この例では優先度番号“1”とする)。また、オリジナルパターンのフラグを持つノードが子ノードに存在する場合(図16の状態1、2が相当する)には、その存在を示すフラグ(図16中、太線丸で示す)も登録される。
次に、オリジナルパターンに対して、文字列の先頭から1バイトずつ削除した派生パターンとして状態遷移0→4→5(派生パターン“BC”)、状態遷移0→6(派生パターン“C”)が登録される。また、派生パターンの最後尾である状態5および状態6のノード1001が登録される際に、派生パターンの最後尾のノードを示すノード識別フラグ(図16中、破線丸で示す)が登録される。
次に第2のパターン“BC”を登録する。第2のパターン“BC”が制御PC108よりオートマトン制御部701に入力されると、図16のように第2のパターン“BC”として状態遷移0→4→5が登録されるが、既に第1のパターン“ABC”登録時において登録済みであるためノードは登録されず、オリジナルパターンの最後尾である状態5のノードに、オリジナルパターンの最後尾のノードを示すノード識別フラグ(図16中、二重破線丸で示す)が登録される。また、ユーザーがあらかじめ登録するパターンに対して順位づけをした優先度番号も登録される(この例では優先度番号“2”とする)。
次に、オリジナルパターンに対して、文字列の先頭から1バイトずつ削除した派生パターンとして状態遷移0→6(派生パターン“C”)が登録されるが、これも既に第1のパターン“ABC”登録時において登録済みであるためノードは登録されない。また、派生パターンの最後尾である状態6のノードが登録される際に、派生パターンの最後尾のノードを示すノード識別フラグ(図16中、破線丸で示す)が登録されるが、既に第1のパターン“ABC”登録時において登録済みであるために登録されない。
[パターン照合工程の例4]
次に、一例として、データ“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に遷移する。
ここで、状態5では、派生パターンを示すパターン識別フラグ(ここでは二重破線丸で示されており、他ではオリジナルパターンは二重丸で示されている)を示しており、かつ検索開始からここまで初期状態0に戻っていないため(照合リセットフラグが“0”のままのため)データ(II)1104の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定され、分割パケット状態管理テーブル604に、ヘッダ情報(IPアドレス、識別子)を検索キーに、データ部分に状態情報(この例では状態番号である“5”)、フラグメントオフセット(この例ではフレーム(II)1103でのフラグメントオフセットが“1”であるので“1”)、パケット長(この例ではデータ(II)1104の文字列長が“8”であるので“8”)が登録される。
さらに状態5では、オリジナルパターンの最後尾のノードを示すノード識別フラグ(ここでは二重破線丸で示されており、他ではオリジナルパターンは二重丸で示されている)を示しているため第2のパターン“BC”にヒットしていると判定され、ヒットした登録パターン番号と優先度の値(この例では“2”)も分割パケット状態管理テーブル604に登録される。さらに、データ“A”が入力されると、状態5以降に子ノードが存在しないため一旦状態0に移り、状態0からは文字“A”が登録されているため状態1に遷移する。また、初期状態に戻ったことにより照合リセットフラグは“1”にセットされる。これ以降の状態は、状態1→2→0→0→0→0と遷移して、データ(II)1104に対する照合が終了する。
データ(II)“BCABD4FV”1104の照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターン番号(第2のパターン)と、登録パターンの後部分に一致する可能性あり)と他の登録パターンと一致する可能性が通知されたため、ポリシーテーブル215に対して検索を行わず、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送するように通知され、該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信される。
(データ受信)
次に、パターン照合部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のパターン)を得る。
この時、前述した分割パケット状態管理テーブル604での検索結果に登録パターン番号(第2のパターン)が含まれているためマルチヒットしていると判定することができ、第1のパターンでの優先度の値(この例では“1”)と、第2のパターンでの優先度の値(この例では“2”)より、番号の若い第1のパターンが選ばれる。
照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(前述の判定で選択された登録パターン番号(第1のパターン))が通知されるため、登録パターン番号を検索キーとしてポリシーテーブル215に対して検索を行い、該当パケットの処遇(転送/廃棄等)について解決する。解決後、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送または、廃棄するよう通知され、転送が通知されれば該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信され、廃棄と通知されれば、該当パケットは廃棄されるためエンド端末ではフラグメントパケットを再構築できないために廃棄される。
このように実施の形態3によれば、マルチヒットの際において登録されている優先度をマルチヒットしたパターン間で比較することで、優先的にヒットさせるパターンを識別することができる。
実施の形態4.
本発明の実施の形態4に係るパターン照合装置及びパターン照合方法の概念について説明する。ネットワーク構成、ファイヤーウォール101の内部構成は、実施の形態1と同様であるため説明を省略する。実施の形態1との違いであるパターン照合部601、分割パケット状態管理テーブル604、オートマトン制御部701の動作についてはこれ以降で説明する。
[パターン登録工程の例4]
パターン登録工程(パターン登録手順)の一例として、パターン“ABC”がオートマトンテーブル206へ登録される場合について述べる。
登録するべきパターン“ABC”が制御PC108よりオートマトン制御部701に入力されると、図17のようにパターン“ABC”として状態遷移0→1→2→3が登録される。そして、オリジナルパターンの最後尾である状態3のノードが登録される際に、オリジナルパターンの最後尾のノードを示すノード識別フラグ(図17中、二重丸で示す)が登録される。次に、オリジナルパターンに対して、文字列の先頭から1バイトずつ削除した派生パターンとして状態遷移0→4→5(派生パターン“BC”)、状態遷移0→6(派生パターン“C”)が登録される。また、派生パターンの最後尾である状態5および状態6のノードが登録される際に、派生パターンの最後尾のノードを示すノード識別フラグ(図17中、破線丸で示す)が登録される。
また、状態遷移0→4→5(派生パターン“BC”)、状態遷移0→6(派生パターン“C”)が登録される際に、状態のジャンプ先を示す情報1501(図17の状態4→2、状態5→3、状態6→5)も登録される。
[パターン照合工程の例5]
次に、パターン照合の一例として、データ“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に遷移する。
ここで、状態5では、派生パターンを示すパターン識別フラグ(図17中、破線丸で示す)を示しており、かつ検索開始からここまで初期状態0に戻っていないため(照合リセットフラグが“0”のままのため)データ(II)1104の先頭部分とオートマトンに登録されているパターンが一致する可能性があると判定され、分割パケット状態管理テーブル604に、ヘッダ情報(IPアドレス、識別子)を検索キーに、データ部分に状態情報(この例では状態番号である5)、フラグメントオフセット(この例ではフレーム(II)1103でのフラグメントオフセットが“1”であるので“1”)、パケット長(この例ではデータ(II)1104の文字列長が“8”なので“8”)が登録される。さらに、データ“A”が入力されると、状態5以降に子ノードが存在しないため一旦状態0に移り、照合リセットフラグは“1”にセットされ、状態0からは文字“A”が登録されているため状態1に遷移する。これ以降の状態は、状態1→2→0→0→0→0と遷移して、データ(II)1104に対する照合が終了する。
データ(II)“BCABD4FV”1104の照合終了後、検索結果経路603を介して動作判定部602に照合結果情報(登録パターンの後部分に一致する可能性あり)と他の登録パターンと一致する可能性が通知されたため、ポリシーテーブル215に対して検索を行わず、転送ユニット202に対してルーティング検索結果どおりに該当パケットを転送するように通知され、該当パケットは、送受信ユニット201に送られ、パケットからフレームにカプセル化されて送信される。
(データ受信)
次に、パターン照合部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のパターン)を得る。
これにより、実施の形態1乃至3のように、オートマトンをある状態から開始状態0まで逆にたどり、その際に得られる文字列を逆順に用いて、照合終了状態より照合を再開する方式と比べて、高速なパターン照合が可能となる。
このように実施の形態4によれば、オートマトンにパターン登録する際に派生パターンからオリジナルパターンまたは、派生パターンへのジャンプ先を登録しておくことで高速なパターン照合が可能となる。
ネットワークの不正アクセス解析に適するものであり、特にパケット順序が逆転することが多いネットワークの不正アクセス解析に適用されて好適なものである。
実施の形態1のパターン照合装置を含むネットワークの構成図である。 図1に示されたファイヤーウォールの内部構成を示すブロック図である。 図2に示された照合ユニット内部の構成図である。 図2に示された制御ユニット内部の構成図である。 イーサネット(登録商標)フレームフォーマット図である。 IPv4ヘッダフォーマット図である。 TCPヘッダフォーマット図である。 UDPヘッダフォーマット図である。 パターン“ABC”のオートマトンへの登録の様子を説明するための遷移図である。 派生パターンも含めたパターン“ABC”のオートマトンへの登録の様子を説明するための遷移図である。 パケットデータがIPフラグメント(パケットの分割)された様子を示す模式図である。 データ“BDABE4FABCABD4FV”が2つのパケットにIPフラグメントされ、イーサネット(登録商標)フレームによりそれぞれカプセル化された様子を示すフレーム構成図である。 パケットデータがIPフラグメント(パケットの分割)された様子を示す模式図である。 派生パターンも含めたパターン“ABCDEFGHIJ”のオートマトンへの登録の様子を説明するための遷移図である。 データ“BDABE4FABCDEFGHIJABD4FVX”が2つのパケットにIPフラグメントされ、イーサネット(登録商標)フレームによりそれぞれカプセル化された様子を示すフレーム構成図である。 第1のパターン“ABC”及び第2のパターン“BC”のオートマトンへの登録の様子を説明するための遷移図である。 ジャンプ先も含めたパターン“ABC”のオートマトンへの登録の様子を説明するための遷移図である。
符号の説明
100 リンク
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)

  1. フラグメントパケットの分割データに対して、オートマトンによるパターン照合を行うパターン照合装置であって、
    オリジナルパターンおよび前記オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンを含む複数のパターンが登録されるオートマトン記憶部と、
    前記分割データに対して、前記パターンをそれぞれ照合させ、
    前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、前に続く分割データと前記オリジナルパターンの残る部分との照合を行い、
    前記分割データの後端部が前記オリジナルパターンの先頭部と一致した際には、後に続く分割データと前記オリジナルパターンの残る部分との照合を行うパターン照合部と、を有し、
    前記パターン毎に、それぞれオリジナルパターン及び派生パターンのいずれかであるかを識別するパターン識別フラグが登録され、前記パターン照合部は、前記パターン識別フラグによりオリジナルパターン及び派生パターンのいずれかであるかを識別する
    ことを特徴とするパターン照合装置。
  2. 前記パターン識別フラグは、前記オリジナルパターンの最後尾のノードに登録されたオリジナルパターンフラグ(明細書中、二重線丸)と、前記派生パターンの最後尾のノードに登録された派生パターンフラグ(明細書中、破線丸)とを含む
    ことを特徴とする請求項に記載のパターン照合装置。
  3. 前記パターン照合部は、パターン照合処理において、所定の文字を照合した際に、当該文字のノードに前記派生パターンフラグが登録されており、かつ、当該パターン照合処理において、検索開始から一度も初期状態に戻っていないとき、前記分割データの先頭部が前記派生パターンに一致したと判定し、前に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
    ことを特徴とする請求項に記載のパターン照合装置。
  4. 前記パターン照合部は、パターン照合処理において、所定の文字を照合した際に、当該文字のノードが子ノードにオリジナルパターンフラグをもつノードがあるノードであり、かつ、当該パターン照合処理において、少なくとも1度初期状態に戻っているとき、前記分割データの後端部が前記オリジナルパターンの先頭部と一致したと判定し、後に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
    ことを特徴とする請求項に記載のパターン照合装置。
  5. 前記パターン照合部は、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、一致した位置の状態から開始状態まで前記派生パターンを逆にたどり、このとき得られる文字列を保持するとともに、前に続く分割データと前記オリジナルパターンとの照合を行い、この照合の終了状態に続くように前記保持した文字列に対して照合を開始する
    ことを特徴とする請求項に記載のパターン照合装置。
  6. 複数の前記オリジナルパターンが登録されており、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、最長一致のパターンを照合結果とする
    ことを特徴とする請求項1からのいずれか1項に記載のパターン照合装置。
  7. 初期状態から初期状態以外への遷移をする度にカウントアップを行うとともに、初期状態へ遷移する場合にはリセットされるパターン長カウンタをさらに有し、前記パターン照合部は、前記パターン長カウンタに基づいて前記最長一致のパターンを選択する
    ことを特徴とする請求項に記載のパターン照合装置。
  8. 複数の前記オリジナルパターンが登録されており、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、オリジナルパターンとの一致を示す状態情報に予め登録されている優先順位を前記一致した複数のパターン間で比較して、最も優先順位の高いパターンを照合結果とする
    ことを特徴とする請求項1からのいずれか1項に記載のパターン照合装置。
  9. 前記オリジナルパターンの遷移状態から前記派生パターンの遷移状態へのジャンプ先、及び前記派生パターンの遷移状態から前記オリジナルパターンの遷移状態へのジャンプ先を登録して置き、前記パターン照合部は、パターン照合処理の際、前記ジャンプ先に基づいて状態を遷移させる
    ことを特徴とする請求項1からのいずれか1項に記載のパターン照合装置。
  10. フラグメントパケットの分割データに対して、オートマトンを用いてパターン照合を行うパターン照合方法であって、
    オリジナルパターンおよび前記オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンを含む複数のパターンを、予めオートマトン記憶部に登録する登録工程と、
    前記分割データに対して、予め登録しておいた前記パターンをそれぞれ照合させ、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、前に続く分割データと前記オリジナルパターンの残る部分との照合を行い、前記分割データの後端部が前記オリジナルパターンの先頭部と一致した際には、後に続く分割データと前記オリジナルパターンの残る部分との照合を行う照合工程と、
    を有し、
    前記登録工程においては、前記パターン毎に、それぞれオリジナルパターン及び派生パターンのいずれかであるかを識別するパターン識別フラグが登録され、
    前記照合工程においては、前記パターン照合部が、前記パターン識別フラグによりオリジナルパターン及び派生パターンのいずれかであるかを識別する
    ことを特徴とするパターン照合方法。
  11. 前記パターン識別フラグは、前記オリジナルパターンの最後尾のノードに登録されたオリジナルパターンフラグ(明細書中、二重線丸)と、前記派生パターンの最後尾のノードに登録された派生パターンフラグ(明細書中、破線丸)とを含む
    ことを特徴とする請求項10に記載のパターン照合方法。
  12. 前記照合工程においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードに前記派生パターンフラグが登録されており、かつ、当該パターン照合処理において、検索開始から一度も初期状態に戻っていないとき、前記分割データの先頭部が前記派生パターンに一致したと判定し、前に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
    ことを特徴とする請求項11に記載のパターン照合方法。
  13. 前記照合工程においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードが子ノードにオリジナルパターンフラグをもつノードがあるノードであり、かつ、当該パターン照合処理において、少なくとも1度初期状態に戻っているとき、前記分割データの後端部が前記オリジナルパターンの先頭部と一致したと判定し、後に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
    ことを特徴とする請求項11に記載のパターン照合方法。
  14. 前記照合工程においては、前記パターン照合部は、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、一致した位置の状態から開始状態まで前記派生パターンを逆にたどり、このとき得られる文字列を保持するとともに、前に続く分割データと前記オリジナルパターンとの照合を行い、この照合の終了状態に続くように前記保持した文字列に対して照合を開始する
    ことを特徴とする請求項10に記載のパターン照合方法。
  15. 前記登録工程において、複数の前記オリジナルパターンを登録して置き、
    前記照合工程においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、最長一致のパターンを照合結果とする
    ことを特徴とする請求項10から14のいずれか1項に記載のパターン照合方法。
  16. 初期状態から初期状態以外への遷移をする度にカウントアップを行うとともに、初期状態へ遷移する場合にはリセットされるパターン長カウンタをさらに有し、前記照合工程においては、前記パターン照合部は、前記パターン長カウンタに基づいて前記最長一致のパターンを選択する
    ことを特徴とする請求項15に記載のパターン照合方法。
  17. 前記登録工程において、複数の前記オリジナルパターンを登録して置き、
    前記照合工程においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、オリジナルパターンとの一致を示す状態情報に予め登録されている優先順位を前記一致した複数のパターン間で比較して、最も優先順位の高いパターンを照合結果とする
    ことを特徴とする請求項10から14のいずれか1項に記載のパターン照合方法。
  18. 前記オリジナルパターンの遷移状態から前記派生パターンの遷移状態へのジャンプ先、及び前記派生パターンの遷移状態から前記オリジナルパターンの遷移状態へのジャンプ先を登録しておき、前記パターン照合部は、パターン照合処理の際、前記ジャンプ先に基づいて状態を遷移させる
    ことを特徴とする請求項10から17のいずれか1項に記載のパターン照合方法。
  19. フラグメントパケットの分割データに対して、オートマトンを用いてパターン照合を行うパターン照合プログラムであって、
    オリジナルパターンおよび前記オリジナルパターンの先頭からN文字(Nは自然数)ずつ削除してなる派生パターンを含む複数のパターンを、予めオートマトン記憶部に登録する登録手順と、
    前記分割データに対して、予め登録しておいた前記パターンをそれぞれ照合させ、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、前に続く分割データと前記オリジナルパターンの残る部分との照合を行い、前記分割データの後端部が前記オリジナルパターンの先頭部と一致した際には、後に続く分割データと前記オリジナルパターンの残る部分との照合を行う照合手順と、
    をCPU装置に実行させ、
    前記登録手順においては、前記パターン毎に、それぞれオリジナルパターン及び派生パターンのいずれかであるかを識別するパターン識別フラグが登録され、
    前記照合手順においては、前記パターン照合部が、前記パターン識別フラグによりオリジナルパターン及び派生パターンのいずれかであるかを識別する
    ことを特徴とするパターン照合プログラム。
  20. 前記パターン識別フラグは、前記オリジナルパターンの最後尾のノードに登録されたオリジナルパターンフラグ(明細書中、二重線丸)と、前記派生パターンの最後尾のノードに登録された派生パターンフラグ(明細書中、破線丸)とを含む
    ことを特徴とする請求項19に記載のパターン照合プログラム。
  21. 前記照合手順においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードに前記派生パターンフラグが登録されており、かつ、当該パターン照合処理において、検索開始から一度も初期状態に戻っていないとき、前記分割データの先頭部が前記派生パターンに一致したと判定し、前に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
    ことを特徴とする請求項20に記載のパターン照合プログラム。
  22. 前記照合手順においては、前記パターン照合部は、パターン照合処理において、所定の文字が照合した際に、当該文字のノードが子ノードにオリジナルパターンフラグをもつノードがあるノードであり、かつ、当該パターン照合処理において、少なくとも1度初期状態に戻っているとき、前記分割データの後端部が前記オリジナルパターンの先頭部と一致したと判定し、後に続く分割データとの間で前記オリジナルパターンが分割されている可能性があると判定する
    ことを特徴とする請求項20に記載のパターン照合プログラム。
  23. 前記照合手順においては、前記パターン照合部は、前記分割データの先頭部が前記派生パターンのいずれかと一致した際には、一致した位置の状態から開始状態まで前記派生パターンを逆にたどり、このとき得られる文字列を保持するとともに、前に続く分割データと前記オリジナルパターンとの照合を行い、この照合の終了状態に続くように前記保持した文字列に対して照合を開始する
    ことを特徴とする請求項19に記載のパターン照合プログラム。
  24. 前記登録手順において、複数の前記オリジナルパターンを登録して置き、
    前記照合手順においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、最長一致のパターンを照合結果とする
    ことを特徴とする請求項19から23のいずれか1項に記載のパターン照合プログラム。
  25. 初期状態から初期状態以外への遷移をする度にカウントアップを行うとともに、初期状態へ遷移する場合にはリセットされるパターン長カウンタをさらに有し、前記照合手順においては、前記パターン照合部は、前記パターン長カウンタに基づいて前記最長一致のパターンを選択する
    ことを特徴とする請求項24に記載のパターン照合プログラム。
  26. 前記登録手順において、複数の前記オリジナルパターンを登録して置き、
    前記照合手順においては、複数の前記オリジナルパターンにそれぞれ一致するパターンが存在した際、前記パターン照合部は、オリジナルパターンとの一致を示す状態情報に予め登録されている優先順位を前記一致した複数のパターン間で比較して、最も優先順位の高いパターンを照合結果とする
    ことを特徴とする請求項19から23のいずれか1項に記載のパターン照合プログラム。
  27. 前記オリジナルパターンの遷移状態から前記派生パターンの遷移状態へのジャンプ先、及び前記派生パターンの遷移状態から前記オリジナルパターンの遷移状態へのジャンプ先を登録しておき、前記パターン照合部は、パターン照合処理の際、前記ジャンプ先に基づいて状態を遷移させる
    ことを特徴とする請求項19から23のいずれか1項に記載のパターン照合プログラム。
  28. 請求項19から27のいずれか1項に記載のパターン照合プログラムを記録したCPU装置が読み取り可能な記録媒体。
JP2005336075A 2005-11-21 2005-11-21 パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 Expired - Fee Related JP4729389B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236080A (ja) * 2005-02-25 2006-09-07 Nippon Telegr & Teleph Corp <Ntt> 不正アクセス検知装置および方法

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