JP2014505279A - データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法 - Google Patents

データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法 Download PDF

Info

Publication number
JP2014505279A
JP2014505279A JP2013535257A JP2013535257A JP2014505279A JP 2014505279 A JP2014505279 A JP 2014505279A JP 2013535257 A JP2013535257 A JP 2013535257A JP 2013535257 A JP2013535257 A JP 2013535257A JP 2014505279 A JP2014505279 A JP 2014505279A
Authority
JP
Japan
Prior art keywords
regular
regular expression
data
simplified
expression
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.)
Granted
Application number
JP2013535257A
Other languages
English (en)
Other versions
JP5674956B2 (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.)
NSFOCUS Information Technology Co Ltd
Original Assignee
NSFOCUS Information Technology Co Ltd
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 NSFOCUS Information Technology Co Ltd filed Critical NSFOCUS Information Technology Co Ltd
Publication of JP2014505279A publication Critical patent/JP2014505279A/ja
Application granted granted Critical
Publication of JP5674956B2 publication Critical patent/JP5674956B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本発明は、データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法を開示する。データ整合方法は、正規表現セット内で、相互作用の間に正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すステップと、それぞれの複合正規表現に関して、対応する簡素化表現を構築するステップと、簡素化状態機械をコンパイルするステップと、1つまたは複数の副状態機械をコンパイルするステップであって、1つまたは複数の副状態機械のそれぞれを、1つまたは複数の複合正規表現の対応する1つに基づいてコンパイルするステップと、簡素化状態機械と1つまたは複数の副状態機械とに基づいてデータを整合するステップとを含む。本発明は、データ整合方法を用いるデータ整合デバイス、ならびにデータ整合デバイスおよび方法を用いる侵入検知デバイスおよび方法をさらに開示する。

Description

本発明は、ネットワークセキュリティの分野に関し、より詳細には、ネットワーク侵入検知デバイスおよび方法、ならびに1つまたは複数の正規表現を含む正規表現セットに基づいてデータを整合するための、導入された正規表現に基づくデータ整合デバイスおよび方法に関する。
ネットワーク侵入検知の分野では、ネットワーク侵入が発生するかどうか判定するために、ネットワークデータが悪意のあるデータを特定のフォーマットで含むかどうか検知するのに正規表現を使用する場合が多い。正規表現は、柔軟性および良好な表現機能の特徴を有するため、ネットワーク侵入検知の分野で広く使用されている。
データを整合するための正規表現を使用するために、正規表現エンジン(regex engine)は、一般に、正規表現に基づいて構築される必要がある。現在、2つのタイプの正規表現エンジン、すなわち、非決定性有限オートマトン(NFA)正規表現エンジンと、決定性有限オートマトン(DFA)正規表現エンジンとが存在する。しかし、NFAのバックトラック特徴は変更可能でないため、NFAの整合速度を著しく改善することはできない。したがって、DFA正規表現エンジンが現在広く使用されている。しかし、DFA自体が状態機械の状態拡張の問題を有する。
DF正規表現エンジンの基本的な動作原理は、以下の通りである。まず、特定の規則に従って、正規表現(すなわち、正規表現セット内のすべての正規表現)を決定性有限状態機械にプリコンパイルして(pre−compile)、有限状態機械の状態遷移を引き起こすための有限状態機械の入力として確認されるように文字列を使用して、状態機械の状態遷移プロセスの間に、その文字列が特定の正規表現に整合しているかどうかを確認する。有限状態機械内のそれぞれの状態は、2つの基本要素、すなわち、(1)整合リストと、(2)状態遷移アレイとを含む。整合リストは正規表現の通し番号を含み、整合リストがゼロでない場合、そのリストは、状態機械がこの状態に達するとき、入力データストリームがその通し番号に対応する正規表現と一致したことを示し、そうでない場合、整合は発生しない。状態遷移アレイに関して、現在の状態は、入力文字に従って、どの状態にジャンプすべきかを判断することが可能であることが求められ、状態遷移アレイの長さは、正にすべての考えられる入力文字の数であり、状態遷移アレイのインデックスは、正にすべての考えられる入力文字であり、状態遷移アレイの値は、そのインデックスに対応する文字が現在の状態の下で入力されるとき、正にジャンプすべき状態の通し番号である。
状態遷移アレイは、DFAエンジンの状態拡張の原因である。入力文字セットが情報交換用米国標準コード(ASCII)表であると仮定すると、それぞれの状態の状態遷移アレイは、正にint型、すなわち、256の長さを有する、ショートタイプのアレイであり、1Kまたは512Bのメモリを占有する。ネットワーク侵入の複雑さにより、実際のネットワーク侵入検知では、整合のために複数の複合正規表現(complex regular expression)をネットワークデータの同じ区分に適用することが可能であり、それによって、コンパイルによって取得されたDFA状態機械の状態数は、10から10の大きさに達する可能性があり、これはシステムのメモリ枯渇をもたらすことになる。
現在、DFA正規表現エンジンの状態拡張問題に関して3つの解決策が利用可能である。
1.DFA状態機械の状態遷移の数を削減するための方法は、2006年のKUMAR S、DHARMAPURIKAR S、YU Fらによる論文「Algorithms to accelerate multiple regular expressions matching for deep packet inspection[c]」、Proceedings of the 2006 Conference on Applications、Technologies、Architectures and Protocols for Computer Communications.New York:ACM press、2006:229−350、2006年のKUMAR S、YURENER、WILLIANS J.らによる論文「Advanced algorithms for fast and scalable deep packet inspection[c]」、Proceedings of the 2006 ACM/IEEE Symposium on Architecture for Networking and Communication Systems.New York:ACM Press、2006:81−92、および2008年のFACARA D、ESTAN C、JHA S.、PROCISSI Gらによる論文「An improved DFA for fast regular expression matching[J]」、ACM SIGCOMM Computer Communication Review、2008、38(5):29−40で開示されている(上記の論文の内容はその全体が参照により本明細に組み込まれている)。DFA状態機械の状態遷移の数を削減するための方法は、「エッジ」を追加することによってメモリを節約するが、この方法は以下の問題を有する。導入される「エッジ」により、状態機械の遷移経路はより長く、その結果、正規表現エンジンの整合効率は低減する。加えて、この方法は、普遍性が欠如しており、すべての状態に「エッジ」が追加されるとは限らない場合がある。この方法のメモリ節約効果は、すべての状態に「エッジ」を追加することが可能な状態の比率に依存し、それによって、最終的に、正規表現に依存する。すなわち、いくつかの正規表現に関して、この方法は、メモリをより良好に節約することができるのに対して、いくつかの他の正規表現に関して、メモリ節約効果は損なわれる。この方法は、多数の正規表現を使用する必要があるネットワーク侵入検知システムには適さない。
2.DFA状態機械の状態の数を削減するための方法は、2008年のSMITH R、ESTAN C、JHA Sらによる論文「Xfa:Faster signature matching with extended automata[c]」、Proceedings of the 2008 IEEE Symposium on Security and Privacy.Washington、DC:IEEE、2008:187−201、ならびに2007年のBECCHI MおよびCADAMBI Sによる論文「Memory−efficient regular expression search using state merging[c]」、INFOCOM 2007:26th IEEE International Conference on Computer Communications.Washington DC:IEEE、2007:1064−1072で開示されている(上記の論文の内容はその全体が参照により本明細に組み込まれている)。DFA状態機械の状態の数を削減するための方法は、状態の数を削減するために、状態ビットを導入することによってDFA状態機械内の状態を圧縮する。しかし、DFA状態機械の状態の数を削減するためのこの方法は以下の欠点も有する。第1に、DFA状態機械が比較的複雑なとき、この方法によって導入される追加の情報(状態ビット)によって占有されるメモリを無視することはできず、第2に、この方法には普遍性も欠如しており、例えば、この方法は、正規表現「.ab.cd|.ef.g」の状態拡張の問題をより良好に解決することができるが、正規表現「.ab[^\n]cd|.ef[^\n]gh」によって引き起こされる状態拡張を解決することはできない
3.アルファベット圧縮のための方法は、2007年のBECCHI MおよびCROWLEY Pによる論文「An improved algorithm to accelerate regular expression evaluation[c]」、Proceedings of the 3rd ACM/IEEE Symposium on Architecture for Networking and Communications Systems.New York:ACM Press、2007:145−154で開示されている(上記の論文の内容はその全体が参照により本明細に組み込まれている)。アルファベット圧縮のための方法は、DFA状態機械のメモリ消費を削減するために、アルファベットを圧縮することによって、状態機械内のそれぞれの状態の状態遷移アレイの長さを短縮する。しかし、この方法は以下の欠点を有する。すなわち、アルファベット圧縮のための方法を採用することによって、状態遷移アレイの長さは短縮されるが、実際の状態遷移プロセスの間に、圧縮されたアルファベットと完全なアルファベットとの間のマッピングを実行する必要があり、これは、DFA状態機械の整合効率性を低減することになる。さらに、この方法は、文字が異なるソース状態で受信されるとき、同じ目標状態に達することが可能な状況にだけ適しており、この方法の適用範囲は非常に限定される。
KUMAR S、DHARMAPURIKAR S、YU Fら、「Algorithms to accelerate multiple regular expressions matching for deep packet inspection[c]」、Proceedings of the 2006 Conference on Applications、Technologies、Architectures and Protocols for Computer Communications.、New York:ACM press、2006年、p.229−350 KUMAR S、YURENER、WILLIANS J.ら、「Advanced algorithms for fast and scalable deep packet inspection[c]」、Proceedings of the 2006 ACM/IEEE Symposium on Architecture for Networking and Communication Systems.、New York:ACM Press、2006年、p.81−92 FACARA D、ESTAN C、JHA S.、PROCISSI Gら、「An improved DFA for fast regular expression matching[J]」、ACM SIGCOMM Computer Communication Review、2008年、38(5)、p.29−40 SMITH R、ESTAN C、JHA Sら、「Xfa:Faster signature matching with extended automata[c]」、Proceedings of the 2008 IEEE Symposium on Security and Privacy.Washington、DC:IEEE、2008年、p.187−201 BECCHI MおよびCADAMBI S、「Memory−efficient regular expression search using state merging[c]」、INFOCOM 2007:26th IEEE International Conference on Computer Communications.、Washington DC:IEEE、2007年、p.1064−1072 BECCHI MおよびCROWLEY P、「An improved algorithm to accelerate regular expression evaluation[c]」、Proceedings of the 3rd ACM/IEEE Symposium on Architecture for Networking and Communications Systems.、New York:ACM Press、2007年、p.145−154
上記の説明から、DFA正規表現エンジンの状態拡張問題を解決するための様々な解決策が提供されているが、これらの解決策は、依然として明らかな欠点を有することが分かる。DFAの状態拡張問題をより良好に解決することが可能な新規性のある技術的解決策が必要である。
したがって、本発明は、上記の問題を克服または部分的に解決するために、1つまたは複数の正規表現を含む正規表現セットに基づいてデータを整合するための正規表現に基づくデータ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法を提供する。
本発明の一態様によれば、1つまたは複数の正規表現を含む正規表現セットに基づいてデータを整合する正規表現に基づくデータ整合方法が提供される。この方法は、正規表現セット内で、相互作用の間に正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すステップと、1つまたは複数の探し出された複合正規表現のそれぞれに関して、対応する簡素化表現を構築するステップと、構築された簡素化表現と、1つまたは複数の探し出された複合正規表現を除いた正規表現セット内の残りの正規表現とに基づいて、簡素化状態機械をコンパイルするステップと、1つまたは複数の副状態機械をコンパイルするステップであって、1つまたは複数の副状態機械のそれぞれを1つまたは複数の複合正規表現のうちの対応する1つに基づいてコンパイルするステップと、簡素化状態機械と1つまたは複数の副状態機械とに基づいてデータを整合するステップとを含む。
任意に、複合正規表現は、以下のタイプの正規表現、すなわち、「サブパターン1.サブパターン2」などの形の正規表現、「サブパターン1.+サブパターン2」などの形の正規表現、「サブパターン{m,n}」などの形の正規表現、および、「サブパターン{m}」などの形の正規表現のうちの1つまたは複数を含む。
任意に、複合正規表現に対応する簡素化表現を構築するステップは、複合正規表現を1つまたは複数の正規特徴によって分離された1つまたは複数の文字列特徴に分割するステップであって、この場合、正規特徴が複合正規表現内の正規構文(regular syntax)を指し、文字列特徴が、複合正規表現内に存在し、正規構文によって分離された固定文字列を指す、分割するステップと、簡素化表現を構築するために、複合正規表現内の一続きの1つまたは複数の文字列特徴に従って、1つまたは複数の文字列特徴を関連付けるステップとを含む。
任意に、簡素化状態機械と1つまたは複数の副状態機械とに基づいてデータを整合するステップは、第1のデータ整合を実行するために、簡素化状態機械を使用するステップと、第1のデータ整合の結果が、そのデータが簡素化表現に整合することを示す場合、第2のデータ整合を実行するために、簡素化表現に対応する複合正規表現に対応する副状態機械を使用するステップと、第2のデータ整合の結果が、そのデータが複合表現に整合することを示す場合、そのデータが複合正規表現に整合することを判断するステップとを含む。
本発明の別の態様によれば、1つまたは複数の正規表現を含む正規表現セットに基づいてデータを整合するデータ整合デバイスが提供される。データ整合デバイスは、正規表現セット内で、相互作用の間に正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すように構成された正規表現セットプリプロセッサと、正規表現セットプリプロセッサによって探し出された1つまたは複数の複合正規表現のそれぞれに関して、対応する簡素化表現を構築するように構成された複合正規表現簡素化装置(simplifier)と、複合正規表現簡素化装置からの簡素化表現と、正規表現セットプリプロセッサからの正規表現セット内の正規表現とに基づいて、簡素化状態機械をコンパイルするように構成された簡素化表現コンパイラと、正規表現セットプリプロセッサによって探し出された1つまたは複数の複合正規表現のそれぞれに関して、対応する副状態機械をコンパイルするように構成された副状態機械コンパイラと、簡素化表現コンパイラからの簡素化状態機械と、副状態機械コンパイラからの副状態機械とに基づいてデータを整合するように構成されたデータ整合器(data matcher)とを含む。
本発明のデータ整合方法およびデータ整合デバイスによれば、正規表現に基づいてデータを整合するプロセスは、2つの段階を含む。すなわち、第1の段階で、簡素化正規表現は、整合を実行するために、複合正規表現を置換して、簡素化正規表現が第1の段階で整合した場合だけ、第2の段階で、実際の複合正規表現に基づく整合が実行されることになる。したがって、本発明のデータ整合方法およびデバイスによれば、複合正規表現を簡素化正規表現と置換することによって、状態拡張が生成された状態機械に発生しない可能性がある。その一方で、簡素化正規表現は元の複合正規表現の特徴を大いに引き継ぐ場合があるため、この場合も第2の段階でデータを整合する確率は非常に小さく、このことは整合効率があまり低減しないことを確実にする。したがって、既存のDFA正規エンジンの状態拡張問題は、容認できる性能損失を伴って、本発明のデータ整合方法およびデバイスにより解決される。
本発明のさらなる態様によれば、ネットワーク侵入検知方法が提供され、この場合、本発明のデータ整合方法は、受信されたネットワークデータがネットワーク侵入データであるかどうかを判定する際に用いられる。
本発明のさらなる態様によれば、ネットワーク侵入検知デバイスが提供され、この場合、本発明のデータ整合デバイスは、受信されたネットワークデータがネットワーク侵入データであるかどうかを判定する際に用いられる。
本発明の実施形態または先行技術での技術的解決策をより明瞭に説明するために、以下の説明は、本実施形態または先行技術を説明するために必要とされる添付の図面を簡単に紹介する。明らかに、以下の説明において、添付の図面は、本発明のいくつかの実施形態のみを示し、当業者は、創造的努力なしに、添付の図面から他の図面を導き出すことが依然として可能である。
複合正規表現に対応する状態機械の概略図である。 2つの複合正規表現に対応する状態機械の概略図である。 別の複合正規表現に対応する状態機械の概略図である。 本発明のある実施形態による、正規表現セットに基づくデータ整合方法のフローチャートである。 図4に例示された方法において、簡素化状態機械と副状態機械とに基づいてデータを整合するステップのフローチャートである。 本発明のある実施形態による、正規表現セットに基づくデータ整合デバイスの概略ブロック図である。
本発明の実施形態の目標、技術的解決策、および利点をより包括的にするために、以下の記載は、本発明の実施形態の添付の図面を参照して、本発明の実施形態の技術的解決策をより明瞭かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく、単にその一部である。創造的努力なしに、本発明の実施形態に基づいて、当業者によって導き出されるすべてのその他の実施形態は、本発明の保護範囲に包含されるべきである。
本発明の実施形態を説明する前に、DFA正規表現エンジン内の状態機械の状態拡張問題の原因を解析する。大部分の状態拡張問題は、正規表現の相互作用によって生み出されると見なすことができる。例えば、2つの正規表現「{パターン1}」および「{パターン2}」がそれぞれ独立してコンパイルされる場合、状態拡張問題は発生しないことになる。しかし、(新しい正規表現「パターン1|パターン2」と同等の)正規表現グループとして正規表現「{パターン1}」および「{パターン2}」が使用されて、一緒にコンパイルされる場合、状態拡張問題が発生する可能性がある。ある特定の特徴を有する複合正規表現間の相互作用だけが状態の数を拡張させる可能性があることが研究によってさらに発見されている。そのような複合正規表現は、例えば、以下の通りである。
1.「{サブパターン1}.{サブパターン2}」または「{サブパターン1}.+{サブパターン2}」などの形の正規表現であり、この場合、「{サブパターン1}.{サブパターン2}」は、副表現「サブパターン1」と副表現「サブパターン2」との間にゼロまたはゼロより多い任意の1つ/複数の文字を含むことを指し、「{サブパターン1}.+{サブパターン2}」は、副表現「サブパターン1」と副表現「サブパターン2」との間に1つまたは1つより多い任意の文字を含むことを指す。そのような正規表現の特徴は、不特定の長さと無制限の最大可能長さとを備えた副表現(.)および(.+)が正規表現内に出現することである。したがって、正規表現は、同じ正規表現セット内で使用されているなど、それらの相互作用の間にDFA状態機械の状態の数を急激に増大させる可能性がある。
例えば、図1は、正規表現「.ab.cd」をコンパイルすることによって取得される状態機械を例示するのに対して、図2は、正規表現「.ef.gh」および類似のフォーマットを備えた正規表現「.ab.cd」が同じ正規表現セット内で互いと相互作用するときの対応する状態機械を例示する。図1および図2に示される状態機械によれば、複合正規表現「.ef.gh」および複合正規表現「.ab.cd」が相互作用しているとき、状態の数は、線形ではなく、幾何学的に(急激に)増大することが分かる。
2.「サブパターン{m,n}」および「サブパターン{m}」など形の複合正規表現であり、この場合、正規表現「サブパターン{m,n}」は、副表現サブパターンを、少なくともm回であるが、n回を超えない複数回反復することを指す。正規表現「サブパターン{m}」は、「サブパターン{m,n}」の特別な事例と理解することができ、サブパターンをm回反復することを指す。2つの正規表現は両方とも、対応する状態機械の状態の数を平方レベルで増大させる可能性がある。例えば、図3は、正規表現「a+[^\n]{3}b」に対応するDFA状態機械を例示する(正規表現は、文字が一回を超える回数反復され、その後、3個の\n文字が存在し、1個の文字bが存在することを意味する)。図3に例示されるように、DFA状態機械は、正規表現「a+[^\n]{3}b」を記述するために約3個の状態を必要とする。文字が1024回反復される場合、DFAの状態の数は1024程度である。加えて、これらのタイプの表現は、相互作用の間により急激な(radical)状態拡張をさらに誘起する場合がある。
確かに、状態の数を拡張させる可能性がある複合正規表現は、上に提示された特定の例に限定されない。さらに、未定の長さを備えた副表現、または複数回反復される副表現を含めて、その他の正規表現を本発明で説明される複合正規表現とさらに見なすことができる。この例に基づいて、当業者は、本発明の保護範囲を超えずに、本発明で説明される複合正規表現に属する他の正規表現を発案することができる。
複合正規表現は対応する状態機械の状態の数を拡張する原因であることに鑑みて、複合正規表現が状態機械の構築の間に事前処理される場合、場合によっては、状態の数の拡張の問題を取り除くことが可能である。本発明はそれに応じて発案されている。
図4は、本発明の一実施形態による、正規表現セットに基づくデータ整合400の方法のフローチャートである。正規表現セットは、1つまたは複数の正規表現を含む。データ整合の間、正規表現セット内のどの1つまたは複数の正規表現が整合することになるデータに整合するかを判定するために、正規表現セット内のすべての正規表現をデータ整合のために使用する必要がある。
データ整合400のための方法は、正規表現セット内で、相互作用の間に正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すステップS410から開始する。複合正規表現の特定の例は、上で提示されている。
その後、ステップS420で、1つまたは複数の探し出された複合正規表現のそれぞれに関して、対応する簡素化表現が構築される。それぞれの複合正規表現に関して、対応する簡素化正規表現を構築する原理は、データが簡素化正規表現には整合するが、元の複合正規表現には可能な限り整合しない事例を削減するように、構築された簡素化正規表現が元の複合正規表現の特徴をかなり引き継ぐ可能性があることである。
任意で、本発明の一実施形態によれば、それぞれの複合正規表現に関して、対応する簡素化正規表現を構築するステップは、以下のステップを含む。
1.複合正規表現は、1つまたは複数の正規特徴によって分離された1つまたは複数の文字列特徴に分割され、この場合、正規特徴は複合正規表内の正規構文を指し、正規構文は、当業者によって容易に取得され得る、正規表現の分野でよく知られている構文である。文字列特徴は、複合正規表現内に存在し、正規文法によって区切られた固定文字列を指す。
例えば、下の2つの正規表現の場合である。
正規表現1:REPORT\s+∨svn[^\n]HTTP∨1\.1;
正規表現1は、ハイパーテキストトランスポートプロトコル(HTTP)に関連する正規表現であり、この場合、「REPORT、∨svn」、および「HTTP∨1\.1」は、それらの文字列特徴であり、「\s+」および「[^\n]」は、それらの正規特徴である。
正規表現2:dbms_output.put_line(SYS.OLAPIMPL_T.ODCITABLESTART[^)]{300};
正規表現2は、バッファオーバーフロー攻撃検出に関する正規表現であり、この場合、「dbms_output.put_line(SYS.OLAPIMPL_T.ODCITABLESTART)は、それらの文字列特徴であり、「[^)]{300}」は、それらの正規特徴である。
2.分割することによって取得される文字列特徴は、簡素化正規表現を構築するために、複合正規表現内の一続きの1つまたは複数の文字列特徴に従って関連付けられる。
例えば、正規表現1:REPORT\s+∨svn[^\n]HTTP∨1\.1の場合、構築された簡素化正規表現は「REPORT.∨svn.HTTP∨1\.1」であるが、
正規表現2:dbms_output.put_line(SYS.OLAPIMPL_T.ODCITABLESTART[^)]{300}の場合、構築された簡素化正規表現は、「dbms_output.put_line(SYS.OLAPIMPL_T.ODCITABLESTART)である。
ここで、正規表現1に対応する、簡素化正規表現「REPORT.∨svn.HTTP∨1\.1」内の「.」は、前後関係だけを表し、実際的な正規構文の意味を有さない点に留意されたい。本発明のある実施形態によれば、簡素化正規表現は、3つの正規表現「REPORT」、「∨svn」、および「HTTP∨1\.1」に分割され、これら3つの正規表現は、実際的なコンパイルプロセスでそれぞれコンパイルされて、「.」によってこれらの3つの正規表現を一緒に関連付けるのは、それらの正規表現間の論理関係を表現するためである。これらの3つの正規表現「REPORT」、「∨svn」、および「HTTP∨1\.1」が一続きで整合するときだけ、簡素化正規表現「REPORT.∨svn.HTTP∨1\.1」は整合すると見なすことができる。
本発明のある実施形態によれば、簡素化正規表現を構築するために、複合正規表現内のすべての文字列特徴が関連付けられる。しかし、本発明の別の実施形態によれば、いくつかの重要な文字列特徴だけが関連付けられてもよく、いくつかの重要または顕著でない文字列特徴は無視されてよい。
例えば、この方法によれば、複合正規表現「and[^\n)]+between[^\n]+)」は、3つの文字列特徴「and」、「between」および「)」に分割される。簡素化正規表現を構築するために、すべての文字列特徴が関連付けられる場合、整合プロセスの間に「and」、「between」および「)」が一続きで整合するように、簡素化正規表現「and.between.)」が取得される。しかし、文字列特徴「)」が入力データストリーム内に比較的頻繁に出現するため、特徴「)」は顕著でない特徴と見なされる。このように、複合正規表現「and[^\n)]+between[^\n]+)に対応する簡素化正規表現は「and.between」である。
ステップS420における複合正規表現に対応する簡素化表現の構築を例示するいくつかの特定の実施形態が上で提示された。しかし、提示された例に基づいて、当業者は複合正規表現に対応する簡素化正規表現を構築する他の様式を考案することができる。
図4を再度参照すると、ステップS420で、それぞれの複合正規表現に関して、対応する簡素化表現が構築された後で、それぞれの複合正規表現の対応する簡素化表現と、複合正規表現を除いた正規表現セット内の残りの正規表現とに基づいて、簡素化状態機械はコンパイルされる。すなわち、簡素化正規表現は正規表現セット内の対応する複合正規表現を置換し、それにより、簡素化状態機械がコンパイルされる。正規表現に基づいてDFA状態機械をコンパイルするために使用される、当技術分野で知られている任意の方法を使用して、簡素化状態機械をコンパイルすることが可能である。この事例では、簡素化正規表現が複合正規表現を置換するため、正規表現間の相互作用は、簡素化状態機械の状態の数を過剰に拡張させない可能性がある。
その後、ステップS440で、それぞれの複合正規表現に関して、対応する副状態機械がコンパイルされる。正規表現に基づいてDFA状態機械をコンパイルするために使用される、本分野で知られている任意の方法を使用して、副状態機械をコンパイルすることも可能である。その後、データ整合400のための方法はステップS450に進み、ここで、ステップS430で取得された、簡素化状態機械と、ステップS440で取得された副状態機械とがデータ整合のために使用される。
任意で、図5は、図4のステップS450を実現するための方法のフローチャートを示す。図5に例示されるように、この方法はステップS510から開始し、ここで、第1のデータ整合を実行するために、簡素化状態機械が使用され、さらに、ステップS520で、いずれかの簡素化正規表現が第1のデータ整合のデータ整合結果内で整合するとして示されるかどうかが判定される。ステップS520で、1つまたは複数の簡素化正規表現が整合することが判断された場合、複合正規表現に対応する整合結果を取得する目的で、ステップ530で、第2のデータ整合をそれぞれ実行するために、1つまたは複数の整合した簡素化正規表現に対応する複合正規表現に対応する副状態機械が使用される。その後、ステップS540で、整合結果が出力され、この場合、簡素化正規表現と、ステップS530で整合すると判断された複合正規表現とを除いて、ステップS510で整合すると判断された正規表現だけが整合する正規表現であると判断される。すなわち、方法500では、第1のデータ整合の間に、簡素化正規表現が整合することが分かった場合、決定する目的で第2のデータ整合を実行するために、対応する複合正規表現を使用する必要がある。
例えば、ネットワークデータの特定の区分に関するデータを整合するために、パターン1、パターン2...パターン20を含む20個の正規表現が必要とされると仮定し、この場合、それぞれの正規表現は1つのタイプの攻撃を表す。パターン1からパターン17は、状態を拡張させない可能性がある簡素化表現であるのに対して、パターン18、パターン19、およびパターン20は、状態を拡張させる可能性がある複合表現であると仮定する。図4および図5に例示される本発明の実施形態のデータ整合方法によれば、パターン18、パターン19、およびパターン20を含む複合正規表現がまずステップS420で探し出され、その後、複合正規表現パターン18、パターン19、およびパターン20にそれぞれ対応する簡素化正規表現ニューパターン18、ニューパターン19、およびニューパターン20がステップS420で構築され、この場合、簡素化正規表現は状態を拡張させない可能性がある。その後、パターン1からパターン17、ならびにニューパターン18、ニューパターン19、およびニューパターン20は、ステップS430で、簡素化状態、すなわち、機械状態機械1をコンパイルおよび取得するための規則のセットとして機能し、さらに、独立した正規表現として、パターン18、パターン19、およびパターン20がそれぞれコンパイルされて、ステップS440で、状態機械2、状態機械3、および状態機械4を含む副状態機械が取得される。ステップS450で、図5で説明される整合プロセスを参照することによって、整合のために、ステップS510で、簡素化状態機械、すなわち、状態機械1がまず使用される。ステップ520で、パターン18、パターン19、およびパターン20のいずれも整合しないことが判断された場合、整合プロセス全体が完了し、ステップS510の整合結果は、ステップS540で、最終的な整合結果として出力される。そうではなく、ステップ520でニューパターン18、ニューパターン19、およびニューパターン20のうちの少なくとも1つが整合することが判断された場合、例えば、ニューパターン18が整合する場合、入力データがパターン18に整合するかどうかを判断するために、ステップS530で、第2の整合のために状態機械2を使用する必要があり、ステップS540で出力された最終的な整合結果は、ステップS510の第1の整合結果とステップS530の第2の整合結果の合併セット(union set)である。
本発明のデータ整合のための方法によれば、状態の数が急激に拡張する問題は、簡素化状態機械およびそれぞれの副状態機械には発生しないことになる。
しかし、本発明のデータ整合のためのこの方法によれば、データ整合はデータの同じ区分に関して1回を超える回数実行される可能性があるため、一定の効率損失がもたらされる可能性がある。例えば、先の例では、簡素化状態機械1の使用によってデータ整合を実行するときニューパターン18が整合する場合、第2のデータ整合のために状態機械2を使用して、パターン18が整合するかどうかを判断する必要がある。データの同じ区分に2個の状態機械を通過させることは、データの同じ区分を二回走査させることを意味し、これはシステム効率を低減することになる。システム効率の低減を最小限に抑えるために、本発明による方法のステップS420で、簡素化正規表現は複合正規表現の主な特徴を記述することが可能であることが必要であり、したがって、そのデータが簡素化正規表現には整合するものの、複合正規表現には整合しない確率は、システム効率を改善するために可能な限り低減される。
図6は、本発明のある実施形態による、正規表現セットに基づくデータ整合のためのデバイス600を概略的に例示する。データ整合デバイス600は、上の図4および図5で例示されたデータ整合のための方法を実行するように構成される。図6で例示されるように、データ整合のためのデバイス600は、複数の正規表現を含む正規表現セット内で、相互作用の間に正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すように構成された正規表現セットプリプロセッサ610を含む。複合正規表現の特徴は、詳細に説明されており、ここで再度説明されない。任意で、正規表現セットプリプロセッサ610は、図4でステップS410を実行することが可能である。
データ整合のためのデバイス600は、正規表現セットプリプロセッサ610によって探し出された1つまたは複数の複合正規表現のそれぞれに関して、対応する簡素化表現を構築するように構成された複合正規表現簡素化装置620をさらに含む。複合正規表現簡素化装置620は、ステップS420で説明されたように、簡素化表現を構築することができる。具体的には、本発明のある実施形態によれば、複合正規表現簡素化装置620は、複合正規表現を1つまたは複数の正規特徴によって分離された1つまたは複数の文字列特徴に分割するように構成された分割装置622を含む。複合正規表現簡素化装置620は、簡素化正規表現を構築するために、複合正規表現内の一続きの1つまたは複数の文字列特徴に従って、1つまたは複数の文字列特徴を関連付けるように構成された再構成装置624をさらに含む。任意で、再構成装置624は、簡素化正規表現を構築するために、複合正規表現のすべての文字列特徴を関連付ける。しかし、本発明の別の実施形態によれば、再構成装置624は、いくつかの重要な文字列特徴だけを関連付けて、いくつかの重要または顕著でない文字列特徴を無視することも可能である。
データ整合のためのデバイス600は、簡素化表現コンパイラ630と副状態機械コンパイラ640とをさらに含む。簡素化表現コンパイラ630は、複合正規表現簡素化装置620からの簡素化表現と、正規表現セットプリプロセッサ610によって提供された複合正規表現を除いた正規表現セット内の残りの正規表現とに基づいて、簡素化状態機械をコンパイルする。副状態機械コンパイラ640は、正規表現セットプリプロセッサ610によって探し出された1つまたは複数の複合正規表現のそれぞれに関して、対応する副状態機械をコンパイルする。簡素化表現コンパイラ630と副状態機械コンパイラ640は両方とも、DFA状態機械を生成するために、当技術分野で知られている任意の手段を用いて、正規表現をコンパイルすることが可能である。任意で、簡素化表現コンパイラ630および副状態機械コンパイラ640は、図4を参照して上で説明されたステップS430およびステップS440をそれぞれ実行することができる。
データ整合のための、デバイス600内のデータ整合器650は、簡素化表現コンパイラ630からの簡素化状態機械と、副状態機械コンパイラ640からの副状態機械とに基づいてデータを整合する。任意で、データ整合器650は、図4を参照して上で説明されたステップS450を実行することができる。
本発明のある実施形態によれば、データ整合器650は、第1の整合装置652と、第2の整合装置654と、整合結果組合せ装置656とを含む。第1の整合装置652は、第1のデータ整合を実行するために、簡素化表現コンパイラ630からの簡素化状態機械を使用する。第1の整合装置652の第1のデータ整合結果が、複合正規表現に対応する簡素化表現が整合することを示す場合、第2の整合装置654は、第2のデータ整合を実行するために、副状態機械コンパイラ640からの、整合した簡素化表現に対応する複合正規表現に対応する副状態機械を使用する。整合結果組合せ装置656は、最終データ整合結果として、第1の整合装置652の整合結果と、第2の整合装置654の整合結果の合併セットを出力する。
本発明のデータ整合のためのデバイスに従って、整合プロセスは2つの段階に分割される。すなわち、第1の段階で、簡素化正規表現は整合を実行するために、複合正規表現を置換し、第1の段階で簡素化正規表現が整合した場合だけ、第2の段階で、実際の複合正規表現を使用する整合が実行されることになる。このように、状態拡張が発生しないだけでなく、整合効率の大きな低減も発生しない。
本発明による正規表現セットに基づくデータ整合方法およびデータ整合デバイスは、データ整合が必要とされる様々なアプリケーションに適用可能である。上で説明されたように、正規表現セットに基づくデータ整合方法およびデバイスは、ネットワーク侵入検知の分野で特に必要とされる。例えば、本発明の一実施形態によるネットワーク侵入検知デバイスは、受信されたネットワークデータに関してデータ整合を実行するために、ネットワーク侵入モードに対応するそれぞれの正規表現を使用して、それによって、そのネットワークデータがネットワーク侵入データであるかどうかを判定するために、データ整合デバイスを含むことが可能である。本発明のある実施形態によるネットワーク侵入検知方法は、ネットワークデータを取得するステップと、ネットワーク侵入モードに対応する正規表現セットに従って、ネットワークデータを整合するために、本発明のデータ整合方法を使用するステップと、データ整合結果に基づいて、ネットワークデータがネットワーク侵入データであるかどうかを判定するステップとを含むことが可能である。
本発明のデータ整合デバイスのそれぞれの構成要素内で、これらの構成要素は、実施されることになるその機能に従って、論理的に分離される点に留意されたい。しかし、本発明はこれに限定されない。それぞれの構成要素は、需要に従って、再度、分割または組合せ可能である。例えば、複数の構成要素を組み合わせて単一の構成要素にすることが可能であり、または、複数の構成要素をさらに分解して、より多くの副構成要素にすることも可能である。
本発明のそれぞれの実施形態は、ハードウェアによって実施されることが可能であり、または1つもしくは複数のプロセッサ上で動作しているソフトウェアモジュールによって実施されることが可能であり、あるいはハードウェアとソフトウェアモジュールの組み合わせによって実施されることも可能である。当業者は、本発明の実施形態による、データ整合のためのデバイス内のいくつかの構成要素またはすべての構成要素の部分機能もしくは全体機能を実際にはマイクロプロセッサあるいはデジタル信号プロセッサ(DSP)を使用することによって実施することが可能である点を理解されたい。本発明は、本明細書で説明された方法を部分的もしくは完全に実行するように構成されることになる(コンピュータプログラムおよびコンピュータプログラム製品など)デバイスまたは装置のプログラムとしてさらに実行可能である。本発明を実現するプログラムは、コンピュータ可読媒体内に記憶可能であるか、または1つもしくは複数の信号タイプを有することも可能である。信号は、インターネットウェブサイトからダウンロード可能であるか、もしくはキャリア信号によって提供可能であるか、または任意のその他の形で提供可能である。
上記の実施形態は、本発明の限定ではなく、例示である点に留意されたい。さらに、当業者は、添付の請求項の範囲から逸脱しない場合、代替実施形態を設計することが可能である。請求項では、括弧内の任意の参照符号は請求項の限定として解釈されるべきではない。「備える」という用語またはその変形は、請求項に列挙されていない要素またはステップの存在を除去しない。その後に要素が続く「1つの」という用語は、2つ以上のそのような要素の存在を除外しない。本発明は、複数の異なる要素を含むハードウェア、ならびに適切にプログラムされたコンピュータによって実施可能である。複数の装置ユニットを列挙する請求項では、それらの装置ユニットのうちのいくつかは、具体的には、同じハードウェア品目によって実施可能である。「第1の」、「第2の」、「第3の」などの用語の使用は、任意の順序優先を表さない。これらの用語は、名称として説明され得る。
最後に、これらの実施形態は、本発明の技術的解決策を限定することが意図されず、本発明の技術的解決策を説明するためだけである点に留意されたい。本発明はこれらの実施形態を参照することによって詳細に説明されているが、当業者は、これらの実施形態内でその中の技術的解決策もしくは技術的特徴の一部に修正または均等の置換を行うことが可能である点を理解されたい。しかし、これらの修正または均等の置換は、本発明の実施形態の技術的解決策の趣旨および範囲から逸脱する対応する技術的解決策の本質ではない。

Claims (12)

  1. 1つまたは複数の正規表現を含む正規表現セットに基づいてデータを整合する正規表現に基づくデータ整合方法であって、
    前記正規表現セット内で、相互作用の間に前記正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すステップと、
    前記1つまたは複数の探し出された複合正規表現のそれぞれに関して、対応する簡素化表現を構築するステップと、
    前記構築された簡素化表現と、前記1つまたは複数の探し出された複合正規表現を除いた前記正規表現セット内の残りの正規表現とに基づいて、簡素化状態機械をコンパイルするステップと、
    1つまたは複数の副状態機械をコンパイルするステップであって、前記1つまたは複数の副状態機械のそれぞれを、前記1つまたは複数の複合正規表現のうちの対応する1つに基づいてコンパイルするステップと、
    前記簡素化状態機械と前記1つまたは複数の副状態機械とに基づいてデータを整合するステップとを含むデータ整合方法。
  2. 前記1つまたは複数の複合正規表現が、以下のタイプの正規表現、すなわち、
    サブパターン1.サブパターン2などの形の正規表現、
    サブパターン1.+サブパターン2などの形の正規表現、
    サブパターン{m,n}などの形の正規表現、および
    サブパターン{m}などの形の正規表現
    のうちの1つまたは複数を含む、
    請求項1に記載のデータ整合方法。
  3. 前記1つまたは複数の探し出された複合正規表現のそれぞれに関して、対応する簡素化表現を構築するステップが、
    前記複合正規表現を、前記複合正規表現内の正規構文を指す1つまたは複数の正規特徴によって分離された、前記複合正規表現内に存在し前記正規構文によって分離された固定文字列を指す1つまたは複数の文字列特徴に分割するステップと、
    前記簡素化表現を構築するために、前記複合正規表現内の一続きの前記1つまたは複数の文字列特徴に従って、前記1つまたは複数の文字列特徴を関連付けるステップと、を含む請求項1または2に記載のデータ整合方法。
  4. 前記簡素化表現を構築するために、前記1つまたは複数の文字列特徴を関連付けるステップが、
    前記簡素化表現を構築するために、前記複合正規表現内のすべての前記文字列特徴を関連付けるステップをさらに含む、請求項3に記載のデータ整合のための方法。
  5. 前記簡素化状態機械と前記1つまたは複数の副状態機械とに基づいてデータを整合するステップが、
    前記簡素化状態機械を使用し、第1のデータ整合を実行するステップと、
    前記簡素化表現に対応する前記複合正規表現に対応する前記副状態機械を使用し、前記第1のデータ整合の結果が、データが前記簡素化表現に整合することを示す場合、第2のデータ整合を実行するステップと、
    前記第2のデータ整合の結果が、前記データが前記複合表現に整合することを示す場合、前記データが前記複合正規表現に整合するステップと、を含む請求項1から4のいずれか一項に記載のデータ整合のための方法。
  6. 1つまたは複数の正規表現を含む正規表現セットに基づいてデータを整合するデータ整合デバイスであって、
    前記正規表現セット内で、相互作用の間に前記正規表現に基づいて生成される状態の数を急激に増大させる1つまたは複数の複合正規表現を探し出すように構成された正規表現セットプリプロセッサと、
    前記正規表現セットプリプロセッサによって探し出された前記1つまたは複数の複合正規表現のそれぞれに関して、対応する簡素化表現を構築するように構成された複合正規表現簡素化装置と、
    前記複合正規表現簡素化装置からの前記簡素化表現と、前記正規表現セットプリプロセッサからの前記正規表現セット内の残りの正規表現とに基づいて、簡素化状態機械をコンパイルするように構成された簡素化表現コンパイラと、
    前記正規表現セットプリプロセッサによって探し出された前記1つまたは複数の複合正規表現のそれぞれに関して、対応する副状態機械をコンパイルするように構成された副状態機械コンパイラと、
    前記簡素化表現コンパイラからの前記簡素化状態機械と、前記副状態機械コンパイラからの前記副状態機械とに基づいてデータを整合するように構成されたデータ整合器とを備えるデータ整合デバイス。
  7. 前記1つまたは複数の複合正規表現が、以下のタイプの正規表現、すなわち、
    サブパターン1.サブパターン2などの形の正規表現、
    サブパターン1.+サブパターン2などの形の正規表現、
    サブパターン{m,n}などの形の正規表現、および
    サブパターン{m}などの形の正規表現
    のうちの1つまたは複数を含む、請求項6に記載のデータ整合デバイス。
  8. 前記複合正規表現簡素化装置が、
    前記複合正規表現を、前記複合正規表現内の正規構文を指す1つまたは複数の正規特徴によって分離された、前記複合正規表現内に存在し前記正規構文によって分離された固定文字列を指す1つまたは複数の文字列特徴に分割するように構成された分割装置分割装置と、
    前記簡素化表現を構築するために、前記複合正規表現内の一続きの前記1つまたは複数の文字列特徴に従って、前記1つまたは複数の文字列特徴を関連付けるように構成された再構築装置と、を備える請求項6または7に記載のデータ整合デバイス。
  9. 前記再構築装置が、前記簡素化表現を構築するように、前記複合正規表現内のすべての前記文字列特徴を関連付けるように構成された、請求項8に記載のデータ整合デバイス。
  10. 前記データ整合装置が、
    第1のデータ整合を実行するために、前記簡素化状態機械を使用するように構成された第1の整合装置と、
    前記第1の整合装置によって整合することが示された前記簡素化表現に関して、第2のデータ整合を実行するために、前記簡素化表現に対応する前記複合正規表現に対応する前記副状態機械を使用するように構成された第2の整合装置と、
    最終データ整合結果を出力するために、前記第1の整合装置のデータ整合結果と前記第2の整合装置のデータ整合結果とを組み合わせるように構成された整合結果組合せ装置とを備えた、請求項6から9のいずれか一項に記載のデータ整合のためのデバイス。
  11. ネットワーク侵入検知方法であって、
    ネットワークデータを取得するステップと、
    ネットワーク侵入モードに対応する正規表現セットに基づいて、前記ネットワークデータに関するデータ整合を実行するために、請求項1から5のいずれか一項に記載のデータ整合方法を使用するステップと、
    データ整合結果に基づいて、前記ネットワークデータがネットワーク侵入データであるかどうかを判定するステップと、を含むネットワーク侵入検知方法。
  12. 前記受信されたネットワークデータがネットワーク侵入データであるかどうかを判定する目的で、受信されたネットワークデータに関してデータ整合を実行するために、ネットワーク侵入モードに対応する正規表現セットを使用するように構成された、請求項6から10のいずれか一項に記載のデータ整合デバイス
    を備える、ネットワーク侵入検知デバイス。
JP2013535257A 2010-11-01 2011-09-28 データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法 Active JP5674956B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010532853.1 2010-11-01
CN201010532853.1A CN102075511B (zh) 2010-11-01 2010-11-01 一种数据匹配设备和方法以及网络入侵检测设备和方法
PCT/CN2011/080308 WO2012058994A1 (zh) 2010-11-01 2011-09-28 数据匹配设备和方法以及网络入侵检测设备和方法

Publications (2)

Publication Number Publication Date
JP2014505279A true JP2014505279A (ja) 2014-02-27
JP5674956B2 JP5674956B2 (ja) 2015-02-25

Family

ID=44033856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013535257A Active JP5674956B2 (ja) 2010-11-01 2011-09-28 データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法

Country Status (4)

Country Link
US (1) US9258317B2 (ja)
JP (1) JP5674956B2 (ja)
CN (1) CN102075511B (ja)
WO (1) WO2012058994A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014095993A (ja) * 2012-11-08 2014-05-22 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
WO2021152647A1 (ja) * 2020-01-27 2021-08-05 日本電信電話株式会社 検査装置、検査方法及びプログラム

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075511B (zh) * 2010-11-01 2014-05-14 北京神州绿盟信息安全科技股份有限公司 一种数据匹配设备和方法以及网络入侵检测设备和方法
US9398033B2 (en) 2011-02-25 2016-07-19 Cavium, Inc. Regular expression processing automaton
WO2013020002A1 (en) 2011-08-02 2013-02-07 Cavium, Inc. Incremental update of rules for packet classification
US9203805B2 (en) 2011-11-23 2015-12-01 Cavium, Inc. Reverse NFA generation and processing
CN103186640B (zh) * 2011-12-31 2016-05-25 百度在线网络技术(北京)有限公司 采用基于ac算法的正则匹配的流量过滤方法及装置
CN102868685B (zh) * 2012-08-29 2015-04-15 北京神州绿盟信息安全科技股份有限公司 一种判定自动扫描行为的方法及装置
CN102904951A (zh) * 2012-10-12 2013-01-30 哈尔滨工业大学深圳研究生院 基于云系统的数据包检测方法
US9426165B2 (en) * 2013-08-30 2016-08-23 Cavium, Inc. Method and apparatus for compilation of finite automata
US9426166B2 (en) 2013-08-30 2016-08-23 Cavium, Inc. Method and apparatus for processing finite automata
US9563399B2 (en) 2013-08-30 2017-02-07 Cavium, Inc. Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features
WO2015084360A1 (en) * 2013-12-05 2015-06-11 Hewlett-Packard Development Company, L.P. Regular expression matching
US9419943B2 (en) 2013-12-30 2016-08-16 Cavium, Inc. Method and apparatus for processing of finite automata
US9275336B2 (en) 2013-12-31 2016-03-01 Cavium, Inc. Method and system for skipping over group(s) of rules based on skip group rule
US9544402B2 (en) 2013-12-31 2017-01-10 Cavium, Inc. Multi-rule approach to encoding a group of rules
US9667446B2 (en) 2014-01-08 2017-05-30 Cavium, Inc. Condition code approach for comparing rule and packet data that are provided in portions
US9904630B2 (en) 2014-01-31 2018-02-27 Cavium, Inc. Finite automata processing based on a top of stack (TOS) memory
US9602532B2 (en) 2014-01-31 2017-03-21 Cavium, Inc. Method and apparatus for optimizing finite automata processing
US10002326B2 (en) 2014-04-14 2018-06-19 Cavium, Inc. Compilation of finite automata based on memory hierarchy
US10110558B2 (en) 2014-04-14 2018-10-23 Cavium, Inc. Processing of finite automata based on memory hierarchy
US9438561B2 (en) 2014-04-14 2016-09-06 Cavium, Inc. Processing of finite automata based on a node cache
CN103973684B (zh) * 2014-05-07 2017-05-24 北京神州绿盟信息安全科技股份有限公司 规则编译匹配方法及装置
CN105554152B (zh) * 2015-12-30 2018-10-02 北京神州绿盟信息安全科技股份有限公司 一种数据特征提取的方法及装置
US10397263B2 (en) * 2017-04-25 2019-08-27 Futurewei Technologies, Inc. Hierarchical pattern matching for deep packet analysis
CN108055228B (zh) * 2017-10-09 2019-11-15 全球能源互联网研究院有限公司 一种智能电网入侵检测系统及方法
CN110188113B (zh) * 2019-05-09 2022-05-13 厦门市美亚柏科信息股份有限公司 一种利用复杂表达式进行数据比对的方法、装置及存储介质
CN111031073B (zh) * 2020-01-03 2021-10-19 广东电网有限责任公司电力科学研究院 一种网络入侵检测系统及方法
CN111526094B (zh) * 2020-04-24 2022-02-11 中电科航空电子有限公司 一种rstp状态机调度的方法及系统
CN113596043B (zh) * 2021-08-03 2023-03-24 中国电信股份有限公司 攻击检测方法、攻击检测装置、存储介质与电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841546A (zh) * 2010-05-17 2010-09-22 华为技术有限公司 一种规则匹配方法、装置及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1335557A1 (en) * 2002-02-11 2003-08-13 Koninklijke KPN N.V. Method for computer network intrusion detection using pattern matching
US20050273450A1 (en) * 2004-05-21 2005-12-08 Mcmillen Robert J Regular expression acceleration engine and processing model
US20060085389A1 (en) * 2004-08-26 2006-04-20 Sensory Networks, Inc. Method for transformation of regular expressions
US7540025B2 (en) * 2004-11-18 2009-05-26 Cisco Technology, Inc. Mitigating network attacks using automatic signature generation
US7730011B1 (en) * 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US7512634B2 (en) * 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
CN101360088B (zh) * 2007-07-30 2011-09-14 华为技术有限公司 正则表达式编译、匹配系统及编译、匹配方法
US20100138367A1 (en) * 2007-08-02 2010-06-03 Nario Yamagaki SYSTEM, METHOD, AND PROGRAM FOR GENERATING NON-DETERMINISTIC FINITE AUTOMATON NOT INCLUDING e-TRANSITION
US20100192225A1 (en) * 2009-01-28 2010-07-29 Juniper Networks, Inc. Efficient application identification with network devices
US9507880B2 (en) * 2010-06-30 2016-11-29 Oracle International Corporation Regular expression optimizer
CN102075511B (zh) * 2010-11-01 2014-05-14 北京神州绿盟信息安全科技股份有限公司 一种数据匹配设备和方法以及网络入侵检测设备和方法
US20120110003A1 (en) * 2010-11-03 2012-05-03 Microsoft Corporation Conditional execution of regular expressions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841546A (zh) * 2010-05-17 2010-09-22 华为技术有限公司 一种规则匹配方法、装置及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200700792006; 山本 博章: '拡張正規表現所属問題および検索問題に対するDFA型アルゴリズムの効率的な実装について' 電子情報通信学会技術研究報告 Vol.107 No.127, 20070622, p.85-92, 社団法人電子情報通信学会 *
JPN6014021937; 山本 博章: '拡張正規表現所属問題および検索問題に対するDFA型アルゴリズムの効率的な実装について' 電子情報通信学会技術研究報告 Vol.107 No.127, 20070622, p.85-92, 社団法人電子情報通信学会 *
JPN6014021938; XU, Qian et al.: 'Efficient Regular Expression Compression Algorithm for Deep Packet Inspection' Journal of Software [online] Vol.20 No.8, 2009, p.2214-2226 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014095993A (ja) * 2012-11-08 2014-05-22 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
WO2021152647A1 (ja) * 2020-01-27 2021-08-05 日本電信電話株式会社 検査装置、検査方法及びプログラム
JPWO2021152647A1 (ja) * 2020-01-27 2021-08-05
JP7310936B2 (ja) 2020-01-27 2023-07-19 日本電信電話株式会社 検査装置、検査方法及びプログラム

Also Published As

Publication number Publication date
CN102075511A (zh) 2011-05-25
CN102075511B (zh) 2014-05-14
US20130191916A1 (en) 2013-07-25
WO2012058994A1 (zh) 2012-05-10
JP5674956B2 (ja) 2015-02-25
US9258317B2 (en) 2016-02-09

Similar Documents

Publication Publication Date Title
JP5674956B2 (ja) データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法
US7805460B2 (en) Generating a hierarchical data structure associated with a plurality of known arbitrary-length bit strings used for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit string
US8866644B2 (en) Detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit strings using a hierarchical data structure
US9990583B2 (en) Match engine for detection of multi-pattern rules
Bispo et al. Regular expression matching for reconfigurable packet inspection
Antonello et al. Deep packet inspection tools and techniques in commodity platforms: Challenges and trends
CN101841546B (zh) 一种规则匹配方法、装置及系统
US7636787B2 (en) Parser for parsing text-coded protocol
US8484147B2 (en) Pattern matching
US20090070459A1 (en) High-Performance Context-Free Parser for Polymorphic Malware Detection
US10176187B2 (en) Method and apparatus for generating a plurality of indexed data fields
Bremler-Barr et al. CompactDFA: Scalable pattern matching using longest prefix match solutions
Liu et al. An overlay automata approach to regular expression matching
JP2007142767A (ja) パターンマッチング装置、その形成方法、それを用いたネットワーク不正侵入検知装置の動作方法、およびそれを用いた侵入防止システムの動作方法
US8694536B2 (en) Fast matching for content-based addressing
Tseng et al. A parallel automaton string matching with pre-hashing and root-indexing techniques for content filtering coprocessor
Cho et al. Context-free-grammar based token tagger in reconfigurable devices
CN104407849B (zh) 一种带通配符正则表达式的有穷自动机生成方法
Pan Efficient network packet signature matching on GPUs
Yang et al. A novel algorithm for pattern matching with back references
Yang et al. Two-phase Pattern Matching for Regular Expressions in Intrusion Detection Systems.
Wang et al. Deep Packet Inspection with Bit-Reduced DFA for Cloud System
Leogrande High Speed and Flexible Network Processing.
Faezipour et al. Regular expression matching for reconfigurable constraint repetition inspection
Stakhanova1ÆÆ et al. Selective Regular Expression Matching Æ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140902

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141222

R150 Certificate of patent or registration of utility model

Ref document number: 5674956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250