JP2008017371A - Character string retrieving apparatus, method and computer program - Google Patents
Character string retrieving apparatus, method and computer program Download PDFInfo
- Publication number
- JP2008017371A JP2008017371A JP2006188732A JP2006188732A JP2008017371A JP 2008017371 A JP2008017371 A JP 2008017371A JP 2006188732 A JP2006188732 A JP 2006188732A JP 2006188732 A JP2006188732 A JP 2006188732A JP 2008017371 A JP2008017371 A JP 2008017371A
- Authority
- JP
- Japan
- Prior art keywords
- character
- search
- unit
- transition
- output
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は文字列検索装置、方法及びコンピュータプログラムに関し、特にTCP(Transmission Control Protocol)のOOB(Out-of-Band)データを含んだ文字列検索装置、方法及びコンピュータプログラムに関する。 The present invention relates to a character string search device, method, and computer program, and more particularly, to a character string search device, method, and computer program including TCP (Transmission Control Protocol) OOB (Out-of-Band) data.
近年、セキュリティの観点上、インターネットを介したサイバー攻撃を防御する手段が必要不可欠となっている。その手段として、侵入検知システム、侵入防御システムであるIDS(Intrusion Detection System),IPS(Intrusion
Prevention System)が挙げられる。これらは、インターネットを流れるデータをモニタリングすることにより、インターネット中のデータにホストのセキュリティの脆弱性を付いてホストに被害を与えるウィルスや、ワームと言ったデータを検出、排除するものである。
In recent years, from the viewpoint of security, a means for protecting cyber attacks via the Internet has become indispensable. Intrusion detection systems, IDS (Intrusion Detection System), IPS (Intrusion)
Prevention System). By monitoring the data that flows through the Internet, they detect and eliminate viruses, worms, and other data that cause host security vulnerabilities and damage the host.
これらの検出方法は、モニタリングしているデータを予め登録しておいた複数の攻撃パターンのリストとパターンマッチングさせることにより攻撃を検出する。しかしながら、インターネットを流れるデータの主要プロトコルであるTCP(Transmission Control Protocol)には、OOBデータというものが存在する。これは送信者側が受信者側に対して送る緊急用のデータで、本来のデータ受信バッファとは別の格納領域に保存されるデータである。 These detection methods detect an attack by matching the monitored data with a list of a plurality of attack patterns registered in advance. However, TCP (Transmission Control Protocol), which is a main protocol for data flowing through the Internet, includes OOB data. This is emergency data sent from the sender to the receiver, and is stored in a storage area different from the original data reception buffer.
OOBデータはTCPのUrgentデータとも呼ばれる。TCPヘッダのURGフラグが立っている時に、TCPヘッダのUrgent Pointerフィールドが指示する値から求められる。多くのOS(Operating
System)はUrgent Pointerフィールドが指示する値の次のバイトオフセットの1byteの領域をOOBデータと規定している。
The OOB data is also referred to as TCP Urgent data. It is obtained from the value indicated by the Urgent Pointer field of the TCP header when the URG flag of the TCP header is set. Many operating systems (Operating
System) defines the 1-byte area of the byte offset next to the value indicated by the Urgent Pointer field as OOB data.
送出するOOBデータはTCPのデータストリーム中に挿入される。受信者はTCPヘッダのURGフラグとUrgent Pointerフィールドから示されるOOBデータを取り出し、通常のデータストリームとは別バッファに格納する為、受信者が読み出すデータストリームはOOBデータが除外されたものとなる。この為、もし悪意ある送信者が、ウィルスやワームと言ったデータパターンの間にOOBデータを挿入した場合、受信者は、OOBを除外したデータストリームを読み込んだ際にウィルスやワームの攻撃パターンを読み込んでしまう
。そのため、データをモニタリングしているIDSやIPSは、OOBデータを除外したパターンをマッチングさせる必要がある。
The OOB data to be transmitted is inserted into a TCP data stream. Since the receiver takes out the OOB data indicated by the URG flag and the Urgent Pointer field of the TCP header and stores the OOB data in a buffer different from the normal data stream, the data stream read by the receiver has the OOB data excluded. For this reason, if a malicious sender inserts OOB data between data patterns such as viruses and worms, the recipient can specify the attack pattern of viruses and worms when reading a data stream excluding OOB. It will read. For this reason, IDS and IPS that monitor data must match a pattern excluding OOB data.
しかし、受信側は、受信側のTCPの設定変更により、OOBデータを通常のデータストリームから取り出さず、通常のデータストリームとして読み出すことも可能である(ソケットオプションのOOB_INLINEオプション)そして、IDSやIPSは、受信側はOOBデータを通常のデータストリームから除外して読み出すか、除外せずに読み出すかを知ることが出来ない。故に、IDSやIPSはOOBデータを除外したものと含んだもの両方で攻撃パターンリストに対するマッチングを行う必要がある。攻撃パターンリストに対するマッチングは、検索するデータとしてテキストを、パターンリストとして複数文字列を考えた時、テキスト中から複数文字列を検索する技術が必要となる。複数の文字列を同時に効率よく検索する方法としてはAho−Corasick(エイホ・コラシック)法が挙げられる(非特許文献1)これは、検索したい複数文字列リストから有限オートマトンを生成し、それをテキスト上で左から右へ一回走査させて各文字列の出現位置を検出する方法である。 However, the receiving side can also read the OOB data as a normal data stream without changing it from the normal data stream (socket option OOB_INLINE option) by changing the TCP setting of the receiving side. The receiving side cannot know whether the OOB data is read out from the normal data stream or not read out. Therefore, IDS and IPS need to be matched against the attack pattern list by both including and excluding OOB data. Matching against the attack pattern list requires a technique for searching for a plurality of character strings from the text when considering text as data to be searched and a plurality of character strings as the pattern list. An example of a method for efficiently searching a plurality of character strings simultaneously is the Aho-Corasick method (Non-Patent Document 1). This method generates a finite automaton from a list of a plurality of character strings to be searched, and converts it into a text. This is a method of detecting the appearance position of each character string by scanning once from left to right.
この方法によりテキストの文字数のオーダーで複数の文字列を検索することができる。同様に複数文字列パターンをテキストで検索されている特許は特許文献1に示す技術がある。この技術もオートマトン(状態遷移図)を構成し、複数文字列を検索する。
By this method, a plurality of character strings can be searched in the order of the number of characters in the text. Similarly, there is a technique shown in
しかしながら、従来技術は、TCPのOOBデータのような、検索したい文字列中で除外したものと除外しないものの両方でパターンマッチングしなければいけないものを一回のテキスト走査で検索することは考慮しておらず、除外したテキストパターンと除外しないテキストパターンの2種類を用意してそれぞれについて検索走査する必要がある。
第1の問題点は、受信端末側でデータをモニタする処理部はOOBを除外するのか除外しないかを知ることができないため、OOBデータを含む場合OOBデータを除外したものと除外しないテキスト両方でパターンマッチングができない。 The first problem is that the processing unit that monitors data on the receiving terminal side cannot know whether OOB is excluded or not. Therefore, when OOB data is included, both the data that excludes OOB data and the text that does not exclude it. Pattern matching is not possible.
第2の問題点は、従来技術はテキストにOOBデータが混入されていることが想定されていないためOOBデータを除外したテキストと除外しないテキストの両方でパターンマッチングを行うためには、二回の検索が必要になる。また、OOBデータを含んだものと除外したテキストの両方にデータバッファが必要となるため、記憶資源を大量に消費してしまうことである。 The second problem is that the conventional technique does not assume that OOB data is mixed in the text. Therefore, in order to perform pattern matching on both the text excluding the OOB data and the text not excluding the text, two times are required. Search is required. Further, since a data buffer is required for both the text including the OOB data and the excluded text, a large amount of storage resources is consumed.
第3の問題点は、従来技術はTCPのOOBデータを含んだテキストと除外したテキストの各にデータ保持用のバッファが必要であるため記憶資源を大きく消費してしまうことである。 The third problem is that the conventional technology requires a data holding buffer for each of the text including the TCP OOB data and the excluded text, thereby consuming a large amount of storage resources.
本発明の目的は、OOBデータを含んだものと除外したテキストの両方のパターンマッチングを行うことにより、セキュリティ向上を行うことである。 An object of the present invention is to improve security by performing pattern matching on both the text including and excluding OOB data.
また、OOBデータを含んだTCPデータと除外したTCPデータの両方についてパターンマッチングを一回の検索で行うことにより検索時間を短縮することである。 Further, the search time is shortened by performing pattern matching for both TCP data including OOB data and excluded TCP data in one search.
また、OOBデータを除外したTCPデータとOOBデータを含んだTCPデータをそれぞれ用意して検索する場合より記憶容量を少なくすることである。 Further, the storage capacity is reduced as compared with the case where TCP data excluding OOB data and TCP data including OOB data are prepared and searched.
また、OOBデータを除外したTCPデータとOOBデータを含んだTCPデータをそれぞれ用意して検索する場合より処理数を少なくすることである。 Further, the number of processes is reduced as compared with the case where TCP data excluding OOB data and TCP data including OOB data are prepared and searched.
本発明の第1の観点において、本発明の文字列検索装置は、状態遷移部と、制御部を具備し、該状態遷移部はテキストパターンの文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示の判定出力を生成し、一致しない場合遷移不可の判定出力を生成し、前記制御部はTCPのOOBデータを含むTCPテキストを受信し、文字検索点を受信テキスト上で開始点から終止点方向に順次移行させ該検索点上の文字を前記状態遷移部に供給しながら該OOBデータの位置を探索し、その結果、次遷移指示の判定出力を該状態遷移部から得ると該検索点を1文字分前記終止点方向に移行させ、前記OOBデータ検知前に該状態遷移部から遷移不可の判定出力を得ると照合失敗出力を生成し、前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記状態遷移部に供給しその判定出力が遷移不可の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記状態遷移部に供給し、前記OOBデータの検知後に前記状態遷移部の判定出力が遷移不可の場合照合失敗出力を生成し前記終止点を表示する場合照合成功出力を生成することを特徴とする。 In a first aspect of the present invention, a character string search device of the present invention includes a state transition unit and a control unit, the state transition unit stores text pattern characters and transition states, and externally input characters. Is supplied, the text pattern is searched, the input character and the searched character are compared with each other, and as a result of the search, if they match, a determination output of the next transition instruction is generated. The control unit receives TCP text including TCP OOB data, and sequentially shifts the character search point from the start point to the end point on the received text, and moves the character on the search point to the state transition unit. While searching, the position of the OOB data is searched. As a result, when the determination output of the next transition instruction is obtained from the state transition unit, the search point is shifted by one character in the direction of the end point, and before the OOB data is detected. The When a determination output indicating that the transition is not possible is obtained from the state transition unit, a collation failure output is generated, and when the OOB data is detected, the next character of the OOB data is supplied as a search character to the state transition unit and the determination output cannot be transitioned. In the case of the above, the character at the position of the OOB data is supplied to the state transition unit as the search character to the state transition unit, and a verification failure output is generated when the judgment output of the state transition unit cannot transition after the detection of the OOB data When the end point is displayed, a collation success output is generated.
本発明の第2の観点において、本発明の文字列検索装置は、状態遷移部と制御部とを具備し、該状態遷移部はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示の判定出力を生成し、一致しない場合遷移不可の判定出力を生成し、前記制御部はTCPのOOBデータを含むTCPテキストを受信し、文字検索点を受信テキスト上で開始点から終止点方向に順次移行させ該検索点上の文字を前記状態遷移部に供給しながら該OOBデータの位置を探索し、その結果、次遷移指示の判定出力を該状態遷移部から得ると該検索点を1文字分前記終止点方向に移行させ、前記OOBデータ検知前に該状態遷移部から遷移不可の判定出力を得ると照合失敗出力を生成し、前記OOBデータの検知時点で前記状態遷移部の判定出力が遷移不可の場合前記検索点から1文字分前記終止点方向に移行した位置の文字を検索文字として前記状態遷移部に供給し、前記OOBデータの検知後に前記状態遷移部の判定出力が遷移不可の場合照合失敗出力を生成し、前記終始点を表示する場合照合成功出力を生成することを特徴とする。 In the second aspect of the present invention, the character string search device of the present invention includes a state transition unit and a control unit, the state transition unit stores each character of the text pattern and its transition state, and is input from the outside. When a character is supplied, the text pattern is searched, the input character and the searched character are compared with each other, and as a search result, a determination output of a next transition instruction is generated if they match, and a determination that transition is not possible if they do not match The control unit receives TCP text including TCP OOB data, and sequentially shifts the character search point from the start point to the end point on the received text, and moves the character on the search point to the state transition unit. The position of the OOB data is searched while being supplied to the state. As a result, when the determination output of the next transition instruction is obtained from the state transition unit, the search point is shifted in the direction of the end point by one character, before the OOB data is detected. In When a transition impossible determination output is obtained from the state transition part, a collation failure output is generated. When the determination output of the state transition part cannot transition at the time of detection of the OOB data, one character from the search point in the direction of the end point A character at the transitioned position is supplied as a search character to the state transition unit, and after the OOB data is detected, if the determination output of the state transition unit is not transitionable, a verification failure output is generated, and the end point is displayed Generates a successful output.
本発明の第3の観点において、本発明の文字列検索装置は、モード0またはモード1に設定する動作モード設定部と、状態遷移部と、制御部を具備し、該状態遷移部はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示の判定出力を生成し、一致しない場合遷移不可の判定出力を生成し、前記制御部はTCPのOOBデータを含むTCPテキストを受信し、文字検索点を受信テキスト上で開始点から終止点方向に順次移行させ該検索点上の文字を前記状態遷移部に供給しながら該OOBデータの位置を探索し、その結果、次遷移指示の判定出力を該状態遷移部から得ると該検索点を1文字分前記終止点方向に移行させ、前記OOBデータ検知前に該状態遷移部から遷移不可の判定出力を得ると照合失敗出力を生成し、前記制御部はモード0の時、前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記状態遷移部に供給しその判定出力が遷移不可の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記状態遷移部に供給し、モード1の時、
前記OOBデータの検知時点で前記状態遷移部の判定出力が遷移不可の場合前記検索点を1文字分前記終止点方向に移行した位置の文字を検索文字として前記状態遷移部に供給し、前記OOBデータの検知後に前記状態遷移部の判定出力が遷移不可の場合照合失敗出力を生成し前記終止点を表示する場合照合成功出力を生成することを特徴とする。
In a third aspect of the present invention, a character string search device of the present invention comprises an operation mode setting unit for setting
If the determination output of the state transition unit is not allowed to transition at the time of detection of the OOB data, the search point is supplied to the state transition unit as a search character at the position where the search point has shifted in the direction of the end point, and the OOB After the detection of data, when the determination output of the state transition unit is not transitionable, a collation failure output is generated, and when the end point is displayed, a collation success output is generated.
本発明の第4の観点において、本発明の文字列検索方法はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示出力を生成し、一致しない場合遷移不可表示出力を生成する状態遷移部を備えるシステムにおいて、(a)TCPのOOBデータを含むTCPテキストを受信し、(b)文字検索点を該受信テキスト上で順次開始点から終止点方向に移行させながら前記OOBデータを探索し、(c)該検索点の文字を検索文字として前記状態遷移部に供給して該状態遷移部の出力を判定し、その判定結果が次遷移指示の場合つぎの文字を検索文字として該状態遷移部に供給し、(d)前記OOBデータの検知前に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、(e)前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記(c)に戻りその判定結果が遷移不可表示の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記(c)に戻り、(f)前記OOBデータの検知後に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、前記終止点を表示する場合照合成功出力を生成することを特徴とする。 In a fourth aspect of the present invention, the character string search method of the present invention stores each character of a text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, In a system including a state transition unit that collates the searched characters with each other and generates a next transition instruction output as a search result if they match, and generates a transition impossible display output if they do not match, (a) TCP OOB data (B) searching the OOB data while sequentially shifting the character search point from the start point to the end point on the received text; and (c) using the character at the search point as a search character. The state transition unit is supplied to determine the output of the state transition unit, and when the determination result is a next transition instruction, the next character is supplied as a search character to the state transition unit, and (d) the OOB If the determination result of (c) indicates that the transition is not possible before the data is detected, a collation failure output is generated. (E) When the OOB data is detected, the next character of the OOB data is used as a search character. Returning to (c), if the determination result is display indicating that transition is not possible, the character at the position of the OOB data is used as a search character in the state transition section, and the processing returns to (c). (F) After detecting the OOB data, A collation failure output is generated when the determination result is display indicating that transition is not possible, and a collation success output is generated when the end point is displayed.
本発明の第5の観点において、本発明の文字列検索方法はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示出力を生成し、一致しない場合遷移不可表示出力を生成する状態遷移部を備えるシステムにおいて、(a)TCPのOOBデータを含むTCPテキストを受信し、(b)文字検索点を該受信テキスト上で順次開始点から終止点方向に移行させながら前記OOBデータを探索し、(c)該検索点の文字を検索文字として前記状態遷移部に供給して該状態遷移部の出力を判定し、その判定結果が次遷移指示の場合つぎの文字を検索文字として該状態遷移部に供給し、(d)前記OOBデータの検知前に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、(e)前記OOBデータの検知時点で前記(c)の判定結果が遷移不可の場合前記検索点から1文字分前記終止点方向に移行した位置の文字を検索文字として前記(c)に戻り、(f)前記OOBデータの検知後に前記(c)の判定結果が遷移不可の場合照合失敗出力を生成し、前記終止点を表示する場合照合成功出力を生成することを特徴とする。 In a fifth aspect of the present invention, the character string search method of the present invention stores each character of a text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, In a system including a state transition unit that collates the searched characters with each other and generates a next transition instruction output as a search result if they match, and generates a transition impossible display output if they do not match, (a) TCP OOB data (B) searching the OOB data while sequentially shifting the character search point from the start point to the end point on the received text; and (c) using the character at the search point as a search character. The state transition unit is supplied to determine the output of the state transition unit, and when the determination result is a next transition instruction, the next character is supplied as a search character to the state transition unit, and (d) the OOB Before the detection of the data, if the determination result of (c) is display indicating that the transition is not possible, a collation failure output is generated. (E) If the determination result of (c) is not transitionable at the time of detection of the OOB data, the search is performed. Return to (c) using the character at the position shifted from the point in the direction of the end point as the search character, and (f) If the determination result in (c) is not allowed to transition after detection of the OOB data, a verification failure output And when the end point is displayed, a collation success output is generated.
本発明の第6の観点において、本発明の文字列検索方法はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示出力を生成し、一致しない場合遷移不可表示出力を生成する状態遷移部を備えるシステムにおいて、(a)動作モードを0または1に設定し、(b)TCPのOOBデータを含むTCPテキストを受信し、(c)文字検索点を該受信テキスト上で順次開始点から終止点方向に移行させながら前記OOBデータを探索し、(d)該検索点の文字を検索文字として前記状態遷移部に供給して該状態遷移部の出力を判定し、その判定結果が次遷移指示の場合つぎの文字を検索文字として該状態遷移部に供給し、(e)前記OOBデータの検知前に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、(f)動作モードが0に設定されている時、前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記(c)に戻りその判定結果が遷移不可表示の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記(c)に戻り、(g)動作モードが1に設定されている時、前記OOBデータの検知時点で前記(d)の判定結果が遷移不可表示出力であれば前記検索点から1文字分前記終止点方向に移行した位置の文字を検索文字として前記(d)に戻り、(h)動作モードに関係なく、前記OOBデータの検知後に前記(d)の判定結果が(1)遷移不可表示の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記(d)に戻り、遷移不可表示の場合(2)照合失敗出力を生成し、(3)前記終止点を表示する場合照合成功出力を生成することを特徴とする。 In a sixth aspect of the present invention, the character string search method of the present invention stores each character of a text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, In a system including a state transition unit that collates the retrieved characters with each other and generates a next transition instruction output as a search result when they match and generates a transition impossible display output when they do not match, (a) the operation mode is set to 0 or Set to 1, (b) receive TCP text including TCP OOB data, (c) search the OOB data while sequentially shifting the character search point from the start point to the end point on the received text, (D) Supplying the character at the search point as a search character to the state transition unit to determine the output of the state transition unit, and if the determination result is a next transition instruction, the next character as the search character When it is supplied to the state transition unit, (e) before the detection of the OOB data, if the determination result of (c) is a non-transitionable display, a collation failure output is generated, and (f) when the operation mode is set to 0 When the OOB data is detected, the next character of the OOB data is used as a search character, and the process returns to (c). When the determination result indicates that the transition is not possible, the character at the position of the OOB data is searched for in the state transition portion. Returning to (c) above, (g) When the operation mode is set to 1, if the determination result of (d) is a non-transitionable display output at the time of detection of the OOB data, one character from the search point The character at the position shifted in the direction of the end point returns to (d) as a search character, and (h) regardless of the operation mode, the determination result of (d) is (1) non-transitionable after the detection of the OOB data. In case of display, the state transition In step (d), the character at the position of the OOB data is used as a search character to return to (d). When the transition is not displayed, (2) a collation failure output is generated, and (3) when the end point is displayed, a collation success output is generated. It is characterized by doing.
本発明の第1の実施の形態について図1を参照して説明する。本文字列検索装置は複数の検索パターンが有限状態のオートマトン(状態遷移図)として格納されているオートマトン状態遷移部104、オートマトン処理要求部102とオートマトン処理部103からなる制御部100、と該オートマトン処理部の出力データを一時的に保持するデータバッファ105から構成される。
A first embodiment of the present invention will be described with reference to FIG. The character string search apparatus includes an automaton
状態遷移部104は、後述する図4に1例として示す如く、制御データが専用の文字位置に挿入された「挿入型またはOOB型」テキスト(virus)と制御データと通常データが同じ文字位置を共有する「共有型またはインライン型」テキスト(worm)のような複数のテキストパターンの各文字とその遷移状態を記憶し、制御部100から供給される入力テキスト1の各文字と該記憶された各文字を相互に比較し、その結果、次遷移可能な文字が存在する場合は次遷移を指示する判定出力を生成し、次遷移可能な文字が存在しない場合は遷移不可を表す判定出力を生成し、検索点がテキストの終始点に達した場合終了フラグを生成する。この終了フラグはパターンマッチング(照合)が成功したことを意味する。
なお、後述する如く、本発明において検索過程における遷移不可を表す判定出力は必ずしもパターンマッチングの失敗を意味しない。
As shown as an example in FIG. 4 to be described later, the
Note that, as will be described later, in the present invention, a determination output indicating that transition is not possible in the search process does not necessarily mean that pattern matching has failed.
制御部100はTCPのOOBデータを含むTCPテキスト101を取得すると該テキストを文字単位で検索点を移行させながら入力テキスト上を走査する。制御部1000は検索点を順次テキスト上で移行させながら該OOBデータの位置の探索し、かつ検索点上の文字を状態遷移部104に供給する。その結果、状態遷移部104の判定出力が次遷移を指示する場合、検索点を次文字の位置に進める。一方、制御部はOOBデータの位置を検知した時点で検索点を1文字分終止点方向に進めることによりOOBデータ位置を飛ばす。従って、第1実施形態において、制御部はOOBデータについて状態遷移部104にその判定結果を求めない。このように検索点を1文字分終止点方向に進めた直後に状態遷移部104の判定出力が遷移不可を表す場合、制御部1000は検索点を次文字位置から1文字分減算した位置に後退させる。
When the
このような検索処理を文字列の開始点から終止点まで実行することによりTCPのOOBデータが専用の文字位置に挿入された「挿入型」テキストとOOBデータと通常データが同じ文字位置を共有する「共有型」テキストのいずれも一回の検索走査でパターンマッチングさせることができる。 By executing such a search process from the start point to the end point of the character string, the “insert type” text in which the TCP OOB data is inserted at the dedicated character position, the OOB data, and the normal data share the same character position. Any “shared” text can be pattern matched in a single search scan.
次に図2及び図3は制御部100を構成するオートマトン処理要求部102とオートマン処理部103の動作をそれぞれ表すフローチャートである。入力TCPテキスト1が検索パターンにマッチするか否かの検索処理はオートマトン処理要求部102が先ずオートマトン処理部103に入力値を供給し、次に処理部103が入力テキストの文字列を文字単位に状態遷移部104に供給し検索パターンの文字列と該状態遷移部から判定結果を取得する。
Next, FIGS. 2 and 3 are flowcharts showing the operations of the automaton processing request unit 102 and the
図2において、オートマトン処理要求部102は、まず入力TCPテキスト101からTCPテキスト"T"とOOBデータフィールドの位置を示すOOBデータオフセット"U"を取得し(ステップ201)、次にステップ202において、オートマトン処理部103の複数の初期値を設定する。即ち、入力TCPテキストTに入力TCPテキスト1が設定され、OOBデータオフセット"U"にTCPデータのUrgentフラグが立っている時のTCPヘッダのUrgentポインタフィールドの値"U0"が設定され、検索文字列オフセット"P"とオートマトンステート"S"には、それぞれ、TCPテキストの先頭文字の位置を示すオフセット値"P0"と初期状態"S0"が設定される。
In FIG. 2, the automaton processing request unit 102 first acquires the TCP text “T” and the OOB data offset “U” indicating the position of the OOB data field from the input TCP text 101 (step 201), and then in
次に、図3において、オートマトン処理部103は初期化された入力データ(TCPテキスト"T"、OOBデータオフセット"U"、検索文字列オフセット"P"、オートマトンステート"S")の供給に応じ、ステップ301においてフラグ"i"を0に設定し、ステップ302でOOBデータオフセット"U"と検索文字列オフセット"P"を比較し互いに等しいか否かを判定する。テキスト上の検索(走査)点がOOBデータフィールドの位置にくると、OOBデータオフセット"U"と文字列オフセット"P"は互いに等しくなる。ステップ302の判定がNOであればフローはステップ303に進み、YESであればステップ307に進みフラグ"i"を1に設定し、ステップ308でデータバッファ105に現時点における文字列オフセットPと遷移状態Sを書き込み、ステップ309で文字列オフセットPに1を加算し、ステップ303に進む。
Next, in FIG. 3, the
ステップ303において、処理部103は状態遷移部104にデータT, P, Sを供給し、ステップ304で該状態遷移部から検索結果を取得する。処理部103はつぎの判定ステップ305でこの検索結果としての判定出力をチェックし、</a>判定出力が遷移指示(遷移可能)であれば状態遷移部104から出力データとして次の文字列オフセットP_oと次の遷移状態S_oを得る。これらの値で状態遷移部104の次の入力値を再初期化し(ステップ306)、判定ステップ310に進みフラグ"i"が0か1かを判定する。フラグ"i"が0であればまだOOBデータは検知されていないので、フローはステップ302に戻り、フラグ"i"が1であれば既にOOBデータは検知されているのでフローはステップ303に進む。
In
ステップ305の判定結果が遷移不可であれば、フローは判定ステップ203(図2)に戻りデータバッファ105を参照しデータの有無を調べる。データが格納されていなければ「パターンマッチング不成功」を表示する出力を出力部106に供給し、データバッファ105にデータが格納されていればステップ203からステップ204に進み格納されているデータを用いオートマトン処理部103の入力値を再初期化し、ステップ310(図3)に戻る。再初期化されたデータはOOBデータオフセット"U"と検索文字列オフセット"P"が互いに等しかったときのデータなので、処理部103の入力値は文字列オフセットP(U=P)、オートマトンステートS(U=P)となる。
If the determination result in
ステップ305の判定結果が終了フラグであれば、パターンマッチングは成功したのでフローはステップ206(図2)で「パターンマッチング成功」の出力を出力部106に供給する。
If the determination result in
このオートマトン処理部103による「OOB位置飛び越し検索」により、OOB「挿入型」テキストの場合、状態遷移部104は全通常文字について検索結果を出力する。一方、OOB「共有型」テキストの場合、この「飛び越し検索」のためOOB位置のつぎの通常文字について状態遷移部104は遷移不可を出力することになり、その結果オートマトン処理部103は検索点をOOB位置に後退させる。この後退検索により状態遷移部104はOOB「共有型」テキストについても正常な検索結果を生成する。
In the case of an OOB “insertion type” text, the
次に第1実施形態の動作について具体的な例を挙げて説明する。図4の(a)を参照すると、検知したい文字列パターンとして"virus"と"worm"を仮定する。この2つの文字列パターンからオートマトンATを状態遷移部104に格納する。
Next, the operation of the first embodiment will be described with a specific example. Referring to (a) of FIG. 4, “virus” and “worm” are assumed as character string patterns to be detected. The automaton AT is stored in the
このオートマトンATに対し、図4(b)に示すようにOOBデータが文字間に挿入された「OOB挿入型」入力文字列EX1のマッチング動作の例を示す。即ち、文字列が"virous”で、このうち"o"がOOBデータである。 An example of the matching operation of the “OOB insertion type” input character string EX1 in which OOB data is inserted between characters as shown in FIG. In other words, the character string is “virous”, and “o” is OOB data.
この文字列が入力された時のオートマトン処理要求部102が処理部103に供給する初期値は、OOBデータオフセットU=3、検索文字列オフセットP=0,オートマトンステートS=0となる。
The initial values that the automaton processing request unit 102 supplies to the
次に処理部103は以下に示す状態遷移部104への入力の供給が行われ遷移可能であれば遷移指示出力として次オートマトンステートS_oと次検索文字列オフセットP_oを取得する。
1回目
入力:オートマトンステート0,検索文字列オフセット0
出力:オートマトンステート1,検索文字列オフセット1
2回目
入力:オートマトンステート1,検索文字列オフセット1
出力:オートマトンステート2,検索文字列オフセット2
3回目
入力:オートマトンステート2,検索文字列オフセット2
出力:オートマトンステート3,検索文字列オフセット3
状態遷移部103の3回目の出力時点で検索文字列オフセットPとOOBデータオフセットUが互いに等しくなるため(ステップ302)、検索文字列オフセット(P=3)とオートマトンステート(S=3)をデータバッファ24に書き込み(ステップ308)、文字列オフセットPを一つ進める(ステップ309)。これにより次の検索文字列オフセットPは4となる。
4回目
入力:オートマトンステート3,検索文字列オフセット4
出力:オートマトンステート4,検索文字列オフセット5
5回目
入力:オートマトンステート4,検索文字列オフセット5
出力:オートマトンステート5,結果:「終了」
上記のように5回目の要求で、入力TCPテキストEX1がテキストパターン“virus”に一致する。
Next, when the input to the
First input:
Output:
Second input:
Output:
3rd input:
Output:
Since the search character string offset P and the OOB data offset U are equal to each other at the third output time of the state transition unit 103 (step 302), the search character string offset (P = 3) and the automaton state (S = 3) are stored as data. Write to the buffer 24 (step 308) and advance the character string offset P by one (step 309). As a result, the next search character string offset P becomes 4.
4th entry:
Output:
5th entry:
Output:
As described above, in the fifth request, the input TCP text EX1 matches the text pattern “virus”.
次に、図4(c)にOOBデータが通常の文字の位置に含まれている[共有型またはインライン型]テキストEX2、即ち文字列が“worm”で、このうちの“o”がTCPのOOBデータである例を示す。 Next, in FIG. 4 (c), the [EX type] text EX2 in which the OOB data is included in the position of the normal character, that is, the character string is “worm”, and “o” of these is TCP. An example of OOB data is shown.
このTCPテキストが入ってきた時の動作は、オートマトン処理要求部102は処理部103の初期値をOOBデータオフセットU=1、検索文字列オフセットP=0、オートマトンステートS=0に設定する。次に、処理部103と状態遷移部104の間で以下の入力と出力が生成される。
1回目
入力:オートマトンステート0,検索文字列オフセット0
出力:オートマトンステート6,検索文字列オフセット1
1回目の状態遷移部104への要求後の時点で検索文字列オフセットPがOOBデータオフセットUに等しくなるため、
処理部103はP=1とS=6をデータバッファ105に書き込み(ステップ308)、文字列オフセットPを一つ進める(ステップ309)。これにより次の検索文字列オフセットPは2となる。
2回目
入力:オートマトンステート6,検索文字列オフセット2
出力:遷移不可(=非整合)
2回目の入力時点で、遷移可能のオートマトンステートが存在しないため、
「遷移不可」を表す出力が状態遷移部104から供給される。その直後、データバッファ105にデータが保存されているので(ステップ203)、オートマトン処理要求部102はこれを取り出し、検索文字列オフセット"P"をOOBデータのオフセットの値"1"に、オートマトンステート"S"をOOBオフセット検出時のステート"6"に再初期化し(ステップ204)、ステップ303に戻る。この結果、オートマトン処理部103は検索処理を再開し状態遷移部104との間で以下の処理を行う。
3回目
入力:オートマトンステート6,検索文字列オフセット1
出力:オートマトンステート7,検索文字列オフセット2
4回目
入力:オートマトンステート7,検索文字列オフセット2
出力:オートマトンステート8,検索文字列オフセット3
5回目
入力:オートマトンステート8,検索文字列オフセット3
出力:オートマトンステート9,「終了フラグ」
上記の様にEX2の入力TCPテキストが5回の処理でパターン"worm”に整合することが判明する。
When the TCP text is entered, the automaton processing request unit 102 sets the initial values of the
First input:
Output:
Since the search character string offset P becomes equal to the OOB data offset U at the time after the first request to the
The
Second time input:
Output: Transition not possible (= non-matching)
Since there is no automaton state that can be transitioned at the time of the second input,
An output indicating “non-transition possible” is supplied from the
3rd input:
Output:
4th entry:
Output:
5th entry:
Output:
As described above, it is found that the input TCP text of EX2 matches the pattern “worm” after five processes.
上述の如く、「OOB挿入型」と「OOB共有型」の両TCPテキストのパターンマッチングが一回の検索走査で完了する。さらに、2種類のTCPテキストについて記憶領域を用意しなくても、検索文字列オフセットがOOBデータ上にある時の一時ステートの格納領域を用意しておくだけで双方とも検索できるので、必要とする記憶資源が少ない。 As described above, pattern matching of both “OOB insertion type” and “OOB shared type” TCP texts is completed in one search scan. Furthermore, even if two types of TCP texts are not prepared, both can be searched simply by preparing a temporary state storage area when the search character string offset is on the OOB data. There are few storage resources.
次に、本発明の第2の実施の形態について図5、6、7、8を参照して説明する。図5を参照すると、第2実施形態の文字列検索装置の図1との相違点はデータバッファ105を使用せず、制御部500をオートマトン処理要求部501,第1オートマトン処理部502と第2オートマトン処理部503により構成したことである。第2実施形態のオートマトン処理要求部501が
第1オートマトン処理部502に要求する回数は一回だけとなる。
Next, a second embodiment of the present invention will be described with reference to FIGS. Referring to FIG. 5, the difference between the character string search apparatus of the second embodiment and FIG. 1 is that the
図6において、オートマトン処理要求部501は、入力TCPテキスト101からTCPテキスト"T"とOOBデータフィールドの位置を示すOOBデータオフセット"U"を取得し(ステップ601)、ステップ602において第1オートマトン処理部502の複数の初期値T,U,PとSを設定する。
In FIG. 6, the automaton
図7において、第1オートマトン処理部502はステップ701でフラグ“i”を0に設定し、ステップ702でOOBデータ位置をチェックし、U=Pでなければ、ステップ703でT,P,Sを状態遷移部104に供給し検索を要求し、検索結果をステップ704で取得し、その結果を判定し(ステップ705)、遷移可能であれば遷移指示の出力値を取得し判定ステップ707に至る。フラグ“i”が0であれば判定ステップ702が再び実行される。OOBデータが入力されるまで上記の処理が繰り返し実行される。遷移不可の判定出力を状態遷移部104から受け取ると第1オートマトン処理部502はステップ705からステップ603(図2)に進み、オートマトン処理要求部501から「パターンマッチング不成功」が出力部106に出力される。
In FIG. 7, the first
図7において、検索点がOOBデータ位置に達するとステップ702でUがPに等しくなり、第1オートマトン処理部502はステップ702からステップ708に進みフラグ“i”を1に設定し、現時点の値(T,P,S)を引数として第2オートマトン処理部503に引き渡し該処理部を起動し(ステップ709)、ステップ703に進む。
In FIG. 7, when the search point reaches the OOB data position, U becomes equal to P in
図8において、第2オートマトン処理部503はステップ801で第1オートマトン処理部502から引き受けたPとS値をメモリに格納し、ステップ802でPに1を加算し、ステップ803で状態遷移部104に設定された入力値を供給し、その検索結果を得る(ステップ804)。ステップ805で検索結果が判定され、遷移可能であれば遷移指示の出力値を取得しステップ803に戻る。OOBデータ検出後の各文字がパターンの対応する文字と一致する毎に上記の処理が繰り返し実行される。
In FIG. 8, the second
ステップ805で遷移不可の判定出力が状態遷移部104から返信されると
ステップ603(図6)に戻る。ステップ805で終了フラグが検出されると図6のステップ604に戻り「パターンマッチング成功」を出力する。
When a determination output indicating that the transition is impossible is returned from the
上述の如く第2実施形態では、OOBデータを起点として複数の処理部で並列にパターンマッチング処理ができるため、パターン検索時間がOOBを除外した時と除外しない時のどちらか一方でTCPテキストを走査した場合の時間と同じとなる。 As described above, in the second embodiment, since pattern matching processing can be performed in parallel by a plurality of processing units starting from OOB data, the TCP text is scanned either when the OOB is excluded or not. It will be the same as the time you did.
本発明の第3の実施の形態の文字検索装置について図9、10、11を参照して説明する。図9に図示の如く、該文字検索装置は検索モード選択部901を具備しており、該設定部が制御部900のオートマトン処理要求部902に接続され、第1実施形態同様、オートマトン処理部903が該処理要求部902と状態遷移部104との間に設けられている。検索モード選択部
901は動作モード0と1のいずれかを選択し、“0”の場合文字検索装置はOOBデータを除外せず検索し遷移不可が発生した場合OOBデータ位置を飛び越し(除外し)て検索を再開する。
A character search device according to a third embodiment of the present invention will be described with reference to FIGS. As shown in FIG. 9, the character search apparatus includes a search
一方、“1”の場合は第1実施形態同様、先ずOOBデータを飛び越して検索し、その直後に遷移不可が発生した場合OOBデータ位置に戻り検索を再開する。即ち、モード0の場合、「OOBデータを飛び越さない検索(即ちOOBデータを含んだ検索)」が「OOBデータ飛び越し検索」に優先するモードであり、モード1の場合はこの逆で、「OOBデータ飛び越し検索」が「OOBデータ非飛び越し検索」に優先するモードである。
On the other hand, in the case of “1”, as in the first embodiment, the OOB data is first skipped and searched, and immediately after that, when the transition is impossible, the search returns to the OOB data position and the search is resumed. That is, in the case of
図10を参照すると、オートマトン処理要求部902は第1実施形態同様、入力TCPテキスト101からTCPテキストTとOOBデータオフセットUを取得し(ステップ1001)、ステップ1002で、オートマトン処理部903
の初期値を設定し、該処理部を起動する。
Referring to FIG. 10, the automaton
The initial value is set, and the processing unit is activated.
図11のステップ1101で、オートマトン処理部903は起動するとフラグ“i”を0に設定し、ステップ1102でOOBデータ位置をチェックし、U=Pでなければ、ステップ1103でT,P,Sを状態遷移部104に供給し検索を要求し、検索結果をステップ1104で取得し、その結果を判定し(ステップ1105)、遷移可能であれば遷移指示の出力値を取得しステップ1106で処理部903の初期値を遷移指示の出力値に再初期化し、判定ステップ1107に進みフラグ“i”が0か1かを判定する。フラグ“i”が0であれば判定ステップ1102が再び実行され、OOBデータが入力されるまで上記の処理が繰り返し実行される。
When the
やがて検索点がOOBデータ位置に達すると、ステップ1102でU=Pとなり、ステップ1108でi=1に設定され、つぎにモードMが0か1か判定され、0であればステップ1103に、1であればステップ1110に進みデータバッファ105にPとS値を書き込み、Pの値に1を加算し(ステップ1111)、ステップ1103に進みT,P,Sを状態遷移部104に供給し検索を要求し、ステップ1104において検索結果を状態遷移部104から取得し、その結果を判定する(ステップ1105)。ステップ1105の判定が「遷移不可」であると処理部903は図10の判定ステップ1003に戻る。
When the search point eventually reaches the OOB data position, U = P is set in
図10において、処理要求部902はステップ1003においてデータバッファ105のデータ有無を判定し、データ有りと判定するとつぎの判定ステップ1004でモードMが0か1かを判定する。
In FIG. 10, the
M=1の場合、処理要求部903はステップ1005に進みデータバッフア105からPとSの値を取り出しオートマトン処理部103の入力値を再初期化し、ステップ1107に戻る。再初期化されたデータはOOBデータオフセット"U"と検索文字列オフセット"P"が互いに等しかったときのデータであり、処理部103の入力値は文字列オフセットP(U=P)、オートマトンステートS(U=P)となる。
If M = 1, the
M=0の場合、処理要求部903はステップ1006に進みデータバッフア105からPの値を取り出しこれに1を加算した値に再初期化しこれを文字列オフセットP(U=P+1) とし、次にSの値を取り出しこれをPの値に再初期化しオートマトンステートS(U=P)とし、ステップ1107に戻る。ステップ1103の判定がデータ無しの場合、処理要求部903はステップ1007に進み「パターンマッチング不成功」を処理要求部902に出力する。
For M = 0, the
一方、図11において、処理要求部903は状態遷移部104から終了フラグを受け取ると(ステップ1105)処理要求部902に終了フラグを受け取ったことを伝える。これに応じ、処理要求部902は「パターンマッチング成功」信号を出力部106に伝達する(ステップ1008、図10)。
On the other hand, in FIG. 11, when the
図4のオートマトンATと入力テキストEX1、EX2を利用しモード0の場合の第3実施形態の動作を図12を参照して説明する。なお、モード1の場合の動作は図4と同じなので説明は省略する。
The operation of the third embodiment in the
図12(a)図示のオートマトンATに対し、図12(b)に示す入力文字列"virous”が入力された時のオートマトン処理要求部902が処理部903に供給する初期値は、図4と同様OOBデータオフセットU=3、検索文字列オフセットP=0,オートマトンステートS=0となる。
The initial values supplied to the
次に処理部903は以下に示す状態遷移部104への入力の供給が行われ遷移可能であれば遷移指示出力として次オートマトンステートS_oと次検索文字列オフセットP_oを取得する。
1回目
入力:オートマトンステート0,検索文字列オフセット0
出力:オートマトンステート1,検索文字列オフセット1
2回目
入力:オートマトンステート1,検索文字列オフセット1
出力:オートマトンステート2,検索文字列オフセット2
3回目
入力:オートマトンステート2,検索文字列オフセット2
出力:オートマトンステート3,検索文字列オフセット3
4回目
入力:オートマトンステート3,検索文字列オフセット3
出力:遷移不可
状態遷移部903はこの4回目の入力でOOBデータを検知し(i=1)、かつ、ステップ1105(図11)の判定出力が遷移不可となるためステップ1006(図10)で文字列オフセットPに1が加算され次の検索文字列オフセットPは4となる。
5回目
入力:オートマトンステート3,検索文字列オフセット4
出力:オートマトンステート4,検索文字列オフセット5
6回目
入力:オートマトンステート4,検索文字列オフセット5
出力:オートマトンステート5,「終了フラグ」
上記のように6回目の要求で、
入力TCPテキストEX1がテキストパターン“virus”に一致する。
Next, the
First input:
Output:
Second input:
Output:
3rd input:
Output:
4th entry:
Output: Transition not possible The
5th entry:
Output:
6th entry:
Output:
At the sixth request as above,
The input TCP text EX1 matches the text pattern “virus”.
次に、図12(c)の文字列EX2(worm)が入ってきた時、図4と同様オートマトン処理要求部902は処理部903の初期値をOOBデータオフセットU=1、検索文字列オフセットP=0、オートマトンステートS=0に設定する。次に、処理部903と状態遷移部104の間で以下の入力と出力が生成される。
1回目
入力:オートマトンステート0,検索文字列オフセット0
出力:オートマトンステート6,検索文字列オフセット1
2回目
入力:オートマトンステート6,検索文字列オフセット1
出力:オートマトンステート7,検索文字列オフセット2
3回目
入力:オートマトンステート7,検索文字列オフセット2
出力:オートマトンステート8,検索文字列オフセット3
4回目
入力:オートマトンステート8,検索文字列オフセット3
出力:オートマトンステート9,「終了フラグ」
この様に4回の処理で入力文字列"worm”の検索結果が判明する。
Next, when the character string EX2 (worm) in FIG. 12C is entered, the automaton
First input:
Output:
Second input:
Output:
3rd input:
Output:
4th entry:
Output:
In this way, the search result of the input character string “worm” is determined by four processes.
この第3実施形態は、パターンマッチングを行うTCPストリームに対してOOBデータを除外したパターンと除外しないパターンのいずれを優先させるべきかが予め分かっている場合に便利である。 This third embodiment is convenient when it is known in advance which of the patterns excluding OOB data and the patterns not excluded should be prioritized for a TCP stream to be subjected to pattern matching.
次に本発明の第4の実施の形態について図面を参照して説明する。文字列のパターン検索に使われる状態遷移のオートマトンは、状態と入力によって次に遷移すべき状態が一意に定まる有限オートマトンである公知のDFA(Deterministic Finite Automaton)と、次の遷移先が一意に決定しない公知のNFA(Nondeterministic Finite Automaton)の2種類に分けられる。本実施形態は次の遷移先が一意に決定しないNFAの場合、遷移分岐点の情報を「バックトラックスタック」という状態保持部に格納し、遷移先のうちの一つに進み、その遷移先の処理終了後にバックトラックスタックの情報を取得して遷移点からのもう1つの遷移先を辿るという処理を行う。 Next, a fourth embodiment of the present invention will be described with reference to the drawings. The state transition automaton used for character string pattern search is a known DFA (Deterministic Finite Automaton), which is a finite automaton that uniquely determines the next state to be transitioned by the state and input, and the next transition destination is uniquely determined. It is divided into two types of known NFA (Nondeterministic Finite Automaton). In this embodiment, in the case of an NFA in which the next transition destination is not uniquely determined, information on the transition branch point is stored in a state holding unit called “backtrack stack”, and the process proceeds to one of the transition destinations. After the process is completed, the backtrack stack information is acquired and another transition destination from the transition point is traced.
本実施形態に置いて検知したいパターンが正規表現パターンの”([ab]*c)*ad”というパターンであるとする。(ここで、”[ab]”の正規表現はaかbのどちらか、*は直前の表現の0個以上の繰り返しを示す。)オートマトンステート0の時に、検索文字列オフセットの文字が"a”であると、ステート1に遷移する経路と、ステート2に遷移する経路の両方が存在することになり、次に遷移する状態が一意に決まらない。文字列“ab”が入力された場合状態遷移部104に要求する動作は以下のようになる。
Assume that the pattern to be detected in the present embodiment is a regular expression pattern “([ab] * c) * ad”. (Here, the regular expression “[ab]” is either a or b, and * indicates zero or more repetitions of the previous expression.) When the automaton state is 0, the character of the search string offset is “a ", There will be both a path to transition to
図16に一例を示す。初期値がオートマトンステート0,検索文字列オフセット0の時、同一文字"a"について2つの遷移先(ステート1とステート2)が存在する仮定すると、現在の状態であるオートマトンステート0と文字列オフセット0をバックトラックスタックに保存しそのうちの1つであるステート1を遷移先として任意に選び遷移する。
1回目
入力:“S=0”,“P=0”
出力:“S_o =1”,“P_o =1”
2回目
入力:“S=1”,“P=1”
出力:遷移不可
2回目の入力時点で、遷移可能なオートマトンステートが存在しないので状態遷移部104は遷移不可の判定を下しバックトラックスタックから“S=0”と“P=0”を読み出し、ステート2に遷移する。
3回目
入力:“S=0”,“P=0”
出力:“S_o=2”,“P_o =1”
4回目
入力:“S=2”,“P=1”
出力:“S_o =3”,終了フラグ
第4実施形態はNFAで使われるバックトラックスタックに検索文字列オフセットがOOBデータ上にある時の一時状態を共存させるというものである。
An example is shown in FIG. Assuming that there are two transition destinations (
First input: “S = 0”, “P = 0”
Output: “S_o = 1”, “P_o = 1”
Second time input: “S = 1”, “P = 1”
Output: Transition impossible Since there is no transitionable automaton state at the second input time, the
3rd input: “S = 0”, “P = 0”
Output: “S_o = 2”, “P_o = 1”
4th input: “S = 2”, “P = 1”
Output: “S_o = 3”, end flag In the fourth embodiment, the temporary state when the search character string offset is on the OOB data coexists in the backtrack stack used in the NFA.
図13を参照すると、本実施の形態は第一の実施の形態で存在した図1のOOB用データバッファ105の代わりに、バックトラックスタック1301を使用している点が異なる。第4実施形態の文字列検索装置の制御部1300は、第1実施形態で使用したデータバッファ105の代わりにバックトラックスタック1301からデータを取り込んで再初期化を行う。該制御部はオートマトン処理要求部1302とオートマトン処理部1303からなる。
Referring to FIG. 13, this embodiment is different in that a
図14において、オートマトン処理要求部1302が実行するステップ1401乃至1406は図2の処理要求部103が実行するステップ201乃至206にそれぞれ対応しており処理内容は同じである。
In FIG. 14,
図15において、オートマトン処理部1303は初期化された入力データ(T,U,P,S)の供給に応じ、ステップ1501においてフラグ"i”を0に設定し、ステップ1502でOOBデータオフセットUと検索文字列オフセットPを比較し互いに等しいか否かを判定する。ステップ1502の判定がNOであればフローはステップ1503に進み、YESであればステップ1511に進みフラグ"i”を1に設定し、ステップ1512でバックトラックスタック1301にPとSを書き込み、ステップ1513でPに1を加算し、ステップ1503に進む。
In FIG. 15, the
ステップ1503において、同一条件で複数の遷移状態が存在するか否かが判定され、NOであればフローはステップ1506に進み、YESであればステップ1504でバックトラックスタックにPとSを書き込み、ステップ1505でつぎの遷移先として任意の遷移状態を選択し、ステップ1506に進む。
In
ステップ1506で、処理部903は状態遷移部104にデータT, P, Sを供給し、ステップ1507で該状態遷移部から検索結果を取得する。 処理部903はつぎの判定ステップ1508でこの検索結果としての判定出力をチェックし、判定出力が遷移指示(遷移可能)であれば状態遷移部104から出力データとして次の文字列オフセットP_oと次の遷移状態S_oを得る。これらの値で状態遷移部104の次の入力値を再初期化し(ステップ1509)、判定ステップ1510に進みフラグ"i”が0か1かを判定する。フラグ"i”が0であればまだOOBデータは検知されていないので、フローはステップ1502に戻り、フラグ"i”が1であれば既にOOBデータは検知されているのでフローはステップ1503に進む。
In
第4実施形態は、バックトラックを実装したオートマトンによる検索処理であれば、検索文字列オフセットがOOBデータ上にある時の一時情報を別に設けたバッファを使用せずバックトラックスタックを共有することにより、記憶領域の構成とアクセスする為の処理が簡潔になる。 In the fourth embodiment, if search processing is performed by an automaton with backtracking, the backtrack stack is shared without using a buffer provided with temporary information separately when the search character string offset is on the OOB data. The configuration of the storage area and the process for accessing it are simplified.
101 入力TCPテキスト
100 制御部
102、502,902,1302 オートマトン処理要求部
103、503,903,1303 オートマトン処理部
104 オートマトン状態遷移部
105 データバッファ
106 パターンマッチング結果出力部
901 検索モード選択部
1301 バックトラックスタック
AT オートマトン
EX1 文字列例
EX2 文字列例
AT2 NFAのオートマトン
EX3 NFAの文字列例
DESCRIPTION OF
Claims (13)
該状態遷移部はテキストパターンの文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示の判定出力を生成し、一致しない場合遷移不可の判定出力を生成し、
前記制御部はTCPのOOBデータを含むTCPテキストを受信し、文字検索点を受信テキスト上で開始点から終止点方向に順次移行させ該検索点上の文字を前記状態遷移部に供給しながら該OOBデータの位置を探索し、その結果、次遷移指示の判定出力を該状態遷移部から得ると該検索点を1文字分前記終止点方向に移行させ、前記OOBデータ検知前に該状態遷移部から遷移不可の判定出力を得ると照合失敗出力を生成し、前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記状態遷移部に供給しその判定出力が遷移不可の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記状態遷移部に供給し、前記OOBデータの検知後に前記状態遷移部の判定出力が遷移不可の場合照合失敗出力を生成し前記終止点を表示する場合照合成功出力を生成することを特徴とする文字列検索装置。 A state transition unit and a control unit;
The state transition unit stores text pattern characters and their transition states. When an input character is supplied from the outside, the text pattern is searched. The input character and the searched character are collated with each other as a search result. If there is a match, a determination output for the next transition instruction is generated.
The control unit receives TCP text including TCP OOB data, sequentially shifts the character search point from the start point to the end point on the received text, and supplies the character on the search point to the state transition unit. When the position of the OOB data is searched and, as a result, the determination output of the next transition instruction is obtained from the state transition unit, the search point is shifted in the direction of the end point by one character, and the state transition unit is detected before the OOB data is detected. When the determination output indicating that the transition is not possible is obtained, a collation failure output is generated, and when the OOB data is detected, the next character of the OOB data is supplied to the state transition unit as a search character. If the character at the position of the OOB data is supplied to the state transition unit as the search character to the state transition unit, and the determination output of the state transition unit cannot transition after detection of the OOB data, a verification failure occurs String search apparatus characterized by generating a verification success output when generating and displaying the end point.
前記検索点を現在位置に1を加算した位置に移行させ、前記OOBデータ検知後に遷移不可表示出力を前記状態遷移部から得ると前記検索点を該一時記憶部に保存した位置情報の示す位置に移行させることを特徴とする文字列検索装置。 In Claim 1, if the said control part detects the position of the said OOB data, it will preserve | save the present position information of the said search point in a temporary memory part,
When the search point is shifted to a position obtained by adding 1 to the current position and a transition impossible display output is obtained from the state transition unit after the OOB data is detected, the search point is moved to the position indicated by the position information stored in the temporary storage unit. A character string search device characterized by being transferred.
該状態遷移部はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示の判定出力を生成し、一致しない場合遷移不可の判定出力を生成し、
前記制御部はTCPのOOBデータを含むTCPテキストを受信し、文字検索点を受信テキスト上で開始点から終止点方向に順次移行させ該検索点上の文字を前記状態遷移部に供給しながら該OOBデータの位置を探索し、その結果、次遷移指示の判定出力を該状態遷移部から得ると該検索点を1文字分前記終止点方向に移行させ、前記OOBデータ検知前に該状態遷移部から遷移不可の判定出力を得ると照合失敗出力を生成し、前記OOBデータの検知時点で前記状態遷移部の判定出力が遷移不可の場合前記検索点から1文字分前記終止点方向に移行した位置の文字を検索文字として前記状態遷移部に供給し、前記OOBデータの検知後に前記状態遷移部の判定出力が遷移不可の場合照合失敗出力を生成し、前記終始点を表示する場合照合成功出力を生成することを特徴とする文字列検索装置。 A state transition unit and a control unit;
The state transition unit stores each character of the text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, and collates the input character with the retrieved character as a search result. If there is a match, a determination output of the next transition instruction is generated. If they do not match, a determination output indicating that the transition is impossible is generated.
The control unit receives TCP text including TCP OOB data, sequentially shifts the character search point from the start point to the end point on the received text, and supplies the character on the search point to the state transition unit. When the position of the OOB data is searched and, as a result, the determination output of the next transition instruction is obtained from the state transition unit, the search point is shifted in the direction of the end point by one character, and the state transition unit is detected before the OOB data is detected. When a determination output indicating that a transition is impossible is obtained, a collation failure output is generated, and when the determination output of the state transition unit is not transitionable at the time of detection of the OOB data, a position shifted from the search point toward the end point by one character Is supplied to the state transition unit as a search character, and after the OOB data is detected, if the determination output of the state transition unit is not transitionable, a collation failure output is generated and the end point is displayed. String search device and generates a success output.
該状態遷移部はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示の判定出力を生成し、一致しない場合遷移不可の判定出力を生成し、
前記制御部はTCPのOOBデータを含むTCPテキストを受信し、文字検索点を受信テキスト上で開始点から終止点方向に順次移行させ該検索点上の文字を前記状態遷移部に供給しながら該OOBデータの位置を探索し、その結果、次遷移指示の判定出力を該状態遷移部から得ると該検索点を1文字分前記終止点方向に移行させ、前記OOBデータ検知前に該状態遷移部から遷移不可の判定出力を得ると照合失敗出力を生成し、
前記制御部はモード0の時、前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記状態遷移部に供給しその判定出力が遷移不可の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記状態遷移部に供給し、モード1の時、前記OOBデータの検知時点で前記状態遷移部の判定出力が遷移不可の場合前記検索点を1文字分前記終止点方向に移行した位置の文字を検索文字として前記状態遷移部に供給し、
前記OOBデータの検知後に前記状態遷移部の判定出力が遷移不可の場合照合失敗出力を生成し前記終止点を表示する場合照合成功出力を生成することを特徴とする文字列検索装置。 An operation mode setting unit for setting mode 0 or mode 1, a state transition unit, and a control unit;
The state transition unit stores each character of the text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, and collates the input character with the retrieved character as a search result. If there is a match, a determination output of the next transition instruction is generated. If they do not match, a determination output indicating that the transition is impossible is generated.
The control unit receives TCP text including TCP OOB data, sequentially shifts the character search point from the start point to the end point on the received text, and supplies the character on the search point to the state transition unit. When the position of the OOB data is searched and, as a result, the determination output of the next transition instruction is obtained from the state transition unit, the search point is shifted in the direction of the end point by one character, and the state transition unit is detected before the OOB data is detected. When a judgment output indicating that transition is impossible is obtained from, a collation failure output is generated,
When the control unit is in mode 0, when the OOB data is detected, the control unit supplies the next character of the OOB data as a search character to the state transition unit, and when the determination output cannot be changed, the state transition unit receives the OOB data. The character at the position is supplied as a search character to the state transition unit, and when the OOB data is detected at the time of the mode 1 in the mode 1, if the judgment output of the state transition unit is not transitionable, the search point is terminated by one character. Supply the character at the position moved in the point direction to the state transition unit as a search character,
A character string search device that generates a collation failure output when the determination output of the state transition unit is not transitionable after detection of the OOB data, and generates a collation success output when the end point is displayed.
該状態遷移部はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示出力を生成し、一致しない場合遷移不可表示出力を生成し、
前記オートマトン処理要求部はTCPのOOBデータを含むTCPテキストからなる入力データを受信し、該OOBデータの位置情報を該入力データから取得し、前記オートマトン処理部の入力値を初期化し、
前記オートマトン処理部は現時点の検索文字列オフセットと前記OOBデータ位置の間の一致または不一致を検出し、該一致を検出した場合該検索文字列オフセットと遷移状態を前記記憶部に保存し、該検索文字列オフセットに1を加算し、該加算された検索文字列オフセットと該遷移状態を前記状態遷移部に供給し、
該不一致を検出した場合現時点の検索文字列オフセットと遷移状態を前記状態遷移部に供給しその出力を判定し遷移不可であれば前記オートマトン処理要求部に前記記憶部を検索させ、検索文字列オフセットと遷移状態が保存されていれば保存されている情報で前記入力値を再初期化し、該記憶部に検索文字列オフセットと遷移状態が保存されていない場合照合失敗出力を生成することを特徴とする文字列検索装置。 A state transition unit, a storage unit, an automaton processing request unit, and an automaton processing unit;
The state transition unit stores each character of the text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, and collates the input character with the retrieved character as a search result. If there is a match, a next transition instruction output is generated. If they do not match, a transition impossible display output is generated.
The automaton processing request unit receives input data composed of TCP text including TCP OOB data, acquires position information of the OOB data from the input data, initializes an input value of the automaton processing unit,
The automaton processing unit detects a match or mismatch between a current search character string offset and the OOB data position, and when the match is detected, stores the search character string offset and a transition state in the storage unit, and performs the search. 1 is added to the character string offset, and the added search character string offset and the transition state are supplied to the state transition unit,
When the mismatch is detected, the current search character string offset and the transition state are supplied to the state transition unit, the output is determined, and if the transition is not possible, the automaton processing request unit is searched for the storage unit, and the search character string offset If the transition state is stored, the input value is reinitialized with the stored information, and if the search string offset and the transition state are not stored in the storage unit, a collation failure output is generated. Character string search device.
該状態遷移部はテキストパターンの各文字とその遷移状態を記憶し、外部から入力文字が供給されると該テキストパターンを検索し、該入力文字と検索された文字を相互に照合し検索結果として、一致する場合次遷移指示出力を生成し、一致しない場合遷移不可表示出力を生成し、
前記オートマトン処理要求部はTCPのOOBデータを含むTCPテキストからなる入力データを受信し、該OOBデータの位置情報を該入力データから取得し、前記オートマトン処理部の入力値を初期化し、
前記第1オートマトン処理部は現時点の検索文字列オフセットと前記OOBデータ位置の間の一致または不一致を検出し、一致を検出すると前記第2オートマトン処理部を起動し、現時点の検索文字列オフセットと遷移状態を該第2オートマトン処理部に引数として供給し、不一致を検出すると現時点の検索文字列オフセットと遷移状態を前記状態遷移部に供給し、
該第2オートマトン処理部は、
前記第1オートマトン処理部により起動されると、該検索文字列オフセットに1を加算し、該加算された検索文字列オフセットと該遷移状態を前記状態遷移部に供給し、 該不一致を検出した場合現時点の検索文字列オフセットと遷移状態を前記状態遷移部に供給しその出力を判定し、遷移不可出力であれば前記引数に基づき検索前記入力値を再初期化することを特徴とする文字列検索装置。 A state transition unit, an automaton processing request unit, a first automaton processing unit, and a second automaton processing unit;
The state transition unit stores each character of the text pattern and its transition state, searches for the text pattern when an input character is supplied from the outside, and collates the input character with the retrieved character as a search result. If there is a match, a next transition instruction output is generated. If they do not match, a transition impossible display output is generated.
The automaton processing request unit receives input data composed of TCP text including TCP OOB data, acquires position information of the OOB data from the input data, initializes an input value of the automaton processing unit,
The first automaton processing unit detects a match or mismatch between the current search character string offset and the OOB data position, and when the match is detected, activates the second automaton processing unit to change the current search character string offset and transition The state is supplied as an argument to the second automaton processing unit, and when a mismatch is detected, the current search string offset and the transition state are supplied to the state transition unit,
The second automaton processor is
When activated by the first automaton processing unit, 1 is added to the search character string offset, and the added search character string offset and the transition state are supplied to the state transition unit, and the mismatch is detected. Character string search characterized in that the current search character string offset and transition state are supplied to the state transition unit, the output is determined, and if the output is not transitionable, the search is re-initialized based on the argument. apparatus.
a)TCPのOOBデータを含むTCPテキストを受信し、
b)文字検索点を該受信テキスト上で順次開始点から終止点方向に移行させながら前記OOBデータを探索し、
c)該検索点の文字を検索文字として前記状態遷移部に供給して該状態遷移部の出力を判定し、その判定結果が次遷移指示の場合つぎの文字を検索文字として該状態遷移部に供給し、
d)前記OOBデータの検知前に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、
e)前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記(c)に戻りその判定結果が遷移不可表示の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記(c)に戻り、
f)前記OOBデータの検知後に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、前記終止点を表示する場合照合成功出力を生成することを特徴とする文字列検索方法。 Each character of the text pattern and its transition state are stored, and when the input character is supplied from the outside, the text pattern is searched, and the input character and the searched character are compared with each other as a search result. In a system including a state transition unit that generates a transition instruction output and generates a transition impossible display output if they do not match,
a) Receive TCP text containing TCP OOB data,
b) Searching the OOB data while sequentially shifting the character search point on the received text from the start point to the end point;
c) Supply the character at the search point as a search character to the state transition unit to determine the output of the state transition unit. If the determination result is a next transition instruction, the next character is used as the search character to the state transition unit. Supply
d) Before the detection of the OOB data, if the determination result of (c) is a non-transitionable display, a collation failure output is generated,
e) When the OOB data is detected, the next character of the OOB data is used as a search character and the process returns to (c). Return to (c) as a character,
f) After detecting the OOB data, a character string search method characterized by generating a collation failure output when the determination result of (c) is non-transitionable display and generating a collation success output when displaying the end point. .
a)TCPのOOBデータを含むTCPテキストを受信し、
b)文字検索点を該受信テキスト上で順次開始点から終止点方向に移行させながら前記OOBデータを探索し、
c)該検索点の文字を検索文字として前記状態遷移部に供給して該状態遷移部の出力を判定し、その判定結果が次遷移指示の場合つぎの文字を検索文字として該状態遷移部に供給し、
d)前記OOBデータの検知前に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、
e)前記OOBデータの検知時点で前記(c)の判定結果が遷移不可の場合前記検索点から1文字分前記終止点方向に移行した位置の文字を検索文字として前記(c)に戻り、
f)前記OOBデータの検知後に前記(c)の判定結果が遷移不可の場合照合失敗出力を生成し、前記終止点を表示する場合照合成功出力を生成することを特徴とする文字列検索方法。 Each character of the text pattern and its transition state are stored, and when the input character is supplied from the outside, the text pattern is searched, and the input character and the searched character are compared with each other as a search result. In a system including a state transition unit that generates a transition instruction output and generates a transition impossible display output if they do not match,
a) Receive TCP text containing TCP OOB data,
b) Searching the OOB data while sequentially shifting the character search point on the received text from the start point to the end point;
c) Supply the character at the search point as a search character to the state transition unit to determine the output of the state transition unit. If the determination result is a next transition instruction, the next character is used as the search character to the state transition unit. Supply
d) Before the detection of the OOB data, if the determination result of (c) is a non-transitionable display, a collation failure output is generated,
e) When the determination result of (c) is not transitionable at the time of detection of the OOB data, the character at the position shifted from the search point toward the end point by one character is returned as the search character to (c),
f) A character string search method, wherein after the detection of the OOB data, a collation failure output is generated when the determination result of (c) is not transitionable, and a collation success output is generated when the end point is displayed.
a)動作モードを0または1に設定し、
b)TCPのOOBデータを含むTCPテキストを受信し、
c)文字検索点を該受信テキスト上で順次開始点から終止点方向に移行させながら前記OOBデータを探索し、
d)該検索点の文字を検索文字として前記状態遷移部に供給して該状態遷移部の出力を判定し、その判定結果が次遷移指示の場合つぎの文字を検索文字として該状態遷移部に供給し、
e)前記OOBデータの検知前に前記(c)の判定結果が遷移不可表示の場合照合失敗出力を生成し、
f)動作モードが0に設定されている時、前記OOBデータの検知時点で該OOBデータの次の文字を検索文字として前記(c)に戻りその判定結果が遷移不可表示の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記(c)に戻り、
g)動作モードが1に設定されている時、前記OOBデータの検知時点で前記(d)の判定結果が遷移不可表示出力であれば前記検索点から1文字分前記終止点方向に移行した位置の文字を検索文字として前記(d)に戻り、
h)動作モードに関係なく、前記OOBデータの検知後に前記(d)の判定結果が(1)遷移不可表示の場合該状態遷移部に前記OOBデータの位置にある文字を検索文字として前記(d)に戻り、遷移不可表示の場合(2)照合失敗出力を生成し、(3)前記終止点を表示する場合照合成功出力を生成することを特徴とする文字列検索方法。 Each character of the text pattern and its transition state are stored, and when the input character is supplied from the outside, the text pattern is searched, and the input character and the searched character are compared with each other as a search result. In a system including a state transition unit that generates a transition instruction output and generates a transition impossible display output if they do not match,
a) Set the operation mode to 0 or 1,
b) Receive TCP text containing TCP OOB data,
c) searching the OOB data while sequentially shifting the character search point from the start point to the end point on the received text;
d) Supply the character at the search point as a search character to the state transition unit to determine the output of the state transition unit, and if the determination result is a next transition instruction, the next character is used as the search character to the state transition unit. Supply
e) Before the detection of the OOB data, if the determination result of (c) is a transition impossible display, a collation failure output is generated,
f) When the operation mode is set to 0, when the OOB data is detected, the next character of the OOB data is used as a search character and the process returns to the step (c), and the state transition portion is displayed when the determination result is non-transitional display. The character at the position of the OOB data is used as a search character to return to (c),
g) When the operation mode is set to 1, if the determination result of (d) at the time of detection of the OOB data is a non-transitionable display output, the position shifted from the search point toward the end point by one character Return to (d) as a search character,
h) Regardless of the operation mode, after the OOB data is detected, if the determination result of (d) is (1) non-transition display, the character at the position of the OOB data is used as the search character in the state transition part (d) ), The character string search method is characterized in that (2) a collation failure output is generated when transition is not possible, and (3) a collation success output is generated when the end point is displayed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188732A JP2008017371A (en) | 2006-07-08 | 2006-07-08 | Character string retrieving apparatus, method and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188732A JP2008017371A (en) | 2006-07-08 | 2006-07-08 | Character string retrieving apparatus, method and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008017371A true JP2008017371A (en) | 2008-01-24 |
Family
ID=39073955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006188732A Withdrawn JP2008017371A (en) | 2006-07-08 | 2006-07-08 | Character string retrieving apparatus, method and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008017371A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199156A (en) * | 2018-10-31 | 2020-05-26 | 北京国双科技有限公司 | Named entity recognition method, device, storage medium and processor |
-
2006
- 2006-07-08 JP JP2006188732A patent/JP2008017371A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199156A (en) * | 2018-10-31 | 2020-05-26 | 北京国双科技有限公司 | Named entity recognition method, device, storage medium and processor |
CN111199156B (en) * | 2018-10-31 | 2023-04-07 | 北京国双科技有限公司 | Named entity recognition method, device, storage medium and processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685637B2 (en) | System security approaches using sub-expression automata | |
US7725510B2 (en) | Method and system for multi-character multi-pattern pattern matching | |
US9990583B2 (en) | Match engine for detection of multi-pattern rules | |
US9245007B2 (en) | Dynamically detecting near-duplicate documents | |
US20090320134A1 (en) | Detecting Secondary Infections in Virus Scanning | |
US9158893B2 (en) | System for finding code in a data flow | |
US7721334B2 (en) | Detection of code-free files | |
US20150135256A1 (en) | Disambiguating conflicting content filter rules | |
CA2743273C (en) | Method and device for intercepting junk mail | |
US20110277033A1 (en) | Identifying Malicious Threads | |
US9838418B1 (en) | Detecting malware in mixed content files | |
US7216364B2 (en) | System security approaches using state tables | |
KR102104610B1 (en) | Fuzzing method and device for network protocol vulnerability detection | |
CN109413016B (en) | Rule-based message detection method and device | |
EP1607823A2 (en) | Method and system for virus detection based on finite automata | |
JP2008017371A (en) | Character string retrieving apparatus, method and computer program | |
US8291505B2 (en) | Detecting computer data containing compressed video data as banned computer data | |
KR101851330B1 (en) | Apparatus and method for detecting code reuse attack | |
CN113849813A (en) | Data detection method and device, electronic equipment and storage medium | |
CN114547628A (en) | Vulnerability detection method and device | |
KR20160089995A (en) | Apparatus and method for collecting and analysing HTML5 documents based a distributed parallel processing | |
JP6599053B1 (en) | Information processing apparatus, information processing method, and information processing program | |
CN109688043A (en) | A kind of IMAP protocol multi-link association analytic method and system | |
JP2005295208A (en) | Data processing apparatus and program | |
JP2009205373A (en) | Information processor, information processing method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090612 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090804 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100416 |