JP5904045B2 - 情報処理装置および情報処理プログラム - Google Patents
情報処理装置および情報処理プログラム Download PDFInfo
- Publication number
- JP5904045B2 JP5904045B2 JP2012163716A JP2012163716A JP5904045B2 JP 5904045 B2 JP5904045 B2 JP 5904045B2 JP 2012163716 A JP2012163716 A JP 2012163716A JP 2012163716 A JP2012163716 A JP 2012163716A JP 5904045 B2 JP5904045 B2 JP 5904045B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- character string
- partial
- input character
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明の別の局面に従えば、処理対象の入力文字列に対して、探索ルールによって予め定められた複数のパターン、のいずれかと一致する部分文字列を探索する処理情報処理プログラムが提供される。探索ルールは、複数のパターンを順序付けされたノードで示す木構造を有する。処理情報処理プログラムは、コンピュータに、探索ルールに含まれるルートおよび一部のノードからなる部分探索ルールを用いて、入力文字列の異なる部分集合に対する第1の探索処理をそれぞれ実行するステップと、第1の探索処理による探索結果を利用しつつ、探索ルールを用いて入力文字列に対する探索処理を実行するステップとを実行させる。
図1は、本発明の実施の形態に従う情報処理装置10を含むネットワークシステム1の全体構成を示す模式図である。図1を参照して、ネットワークシステム1は、ネットワーク2と、ネットワーク2に接続された情報処理装置10と、情報処理装置10に接続されたパーソナルコンピュータ3およびサーバ装置4とを含む。
次に、情報処理装置10の機能構成について説明する。図2は、本発明の実施の形態に従う情報処理装置10の機能構成を示す模式図である。
本実施の形態に従う文字列探索処理のアルゴリズムについて説明する前に、まず、本発明の関連技術について説明する。より具体的には、主としてAC法について説明する。
まず、本実施の形態に従う情報処理装置10の装置構成について説明する。情報処理装置10は、処理対象の入力文字列に対して、予め定められた複数のパターンのいずれかと一致する部分文字列を探索するコンピュータである。以下の説明においては、一例として、処理対象の入力文字列は、ネットワーク上を転送されるパケットデータであるとする。
次に、本実施の形態に従う文字列探索処理のアルゴリズムについて説明する。図6は、本発明の実施の形態に従う文字列探索処理のアルゴリズムを説明するための図である。図6を参照して、本実施に従う文字列探索処理では、前処理と後処理とによって予め定められた複数のパターンとの一致が判断される。
前処理では、探索ルール150に含まれるルートおよび一部のノードからなる部分探索ルール151を用いて、入力文字列200の異なる部分集合に対する探索処理がそれぞれ実行される。より具体的には、前処理は、隣接する部分集合の間では少なくとも予め定められた文字数を重複させつつ、入力文字列200に対して複数の部分入力文字列201,202,203,204を設定する処理と、複数の部分入力文字列201,202,203,204の各々に対する部分探索ルール151を用いた探索処理を並列実行する処理とを含む。
後処理では、前処理による探索結果を利用しつつ、探索ルール150を用いて入力文字列200に対する探索処理が実行される。部分探索ルール151を用いた探索処理においていずれかのパターン(探索ルール150が定義するパターンの部分集合)と一致する部分文字列を含む部分入力文字列については、探索ルール150が定義するパターンと一致する部分文字列を含む可能性がある。言い換えれば、探索ルール150の部分集合である部分探索ルール151を用いた探索処理においていずれの部分パターンとも一致しなかった部分入力文字列については、探索ルール150が定義する完全パターンと一致する部分文字列を含まないと判断できる。また、部分探索ルール151を用いた探索処理において、部分探索ルール151が定義する部分パターンと一致する部分文字列が検出された部分入力文字列については、その検出された位置より前には、探索ルール150が定義する完全パターンと一致する部分文字列が存在しないと判断できる。
次に、本実施の形態に従う文字列探索処理の処理手順について説明する。図9は、本発明の実施の形態に従う文字列探索処理の処理手順を示すフローチャートである。メイン処理部110の前処理部120および後処理部130が情報処理プログラム116(図5)を実行することで、前処理部120および後処理部130が図9に示す各ステップを実行する。なお、図9に示すステップの一部または全部を専用のハードウェアで実現してもよい。
本実施の形態に従う文字列探索処理のアルゴリズムによれば、前処理において入力文字列の部分集合(部分入力文字列)に対して、探索ルールの部分集合(部分探索ルール)を用いて簡易的な探索が並列的に実行される。そして、この前処理によって、いずれのパターンとも一致しないことが明らかな入力文字列については、探索ルールを用いた探索処理(完全な探索)の対象から除外されるとともに、いずれかのパターンと一致する可能性がある入力文字列については、その可能性がある範囲のみが完全な探索(後処理)の対象となる。
これに対して、本実施の形態に従う文字列探索処理のアルゴリズムによる処理時間は、以下の(2)式のように表すことができる。
但し、
Tpre:前処理(部分探索)に要する時間
Tafter:後処理(完全探索)に要する時間
E:前処理による後処理における処理量の削減効果
R:前処理において部分入力文字列がいずれかのパターンと一致する確率
ここで、前処理では、部分入力文字列に対する部分探索ルールを用いた部分探索が並列実行されるので、一般的には、以下の(3)式のような関係が成立する。
また、コンピュータウィルスの混入検知などに適用する場合には、多くのパケットデータは、予め定められたパターンのいずれとも一致しないので、前処理のみで終了する可能性も高い。このような場合には、以下の(4)式のような関係が成立する。
R<<1.0 …(4)
上述の(3)式および(4)式の関係が成立する場合には、以下の(5)式のような関係が成立する。
すなわち、関連技術として説明したアルゴリズムに比較して、より高速に文字列探索処理を行なうことができる。
本実施の形態に従う情報処理装置10においては、前処理と後処理とは直列的に実行されるので、異なる入力文字列に対して、これらの処理を並列化してもよい。
本実施の形態に従う情報処理装置10は、パケット中継装置、ファイヤウォール、パケット監視装置といったネットワークに配置される装置に好適である。但し、このような装置に限定されることなく、文字列を取り扱う処理装置全般に適用可能である。そのため、膨大なデータを蓄積しているデータベースから予め定められたパターンと一致するドキュメントを探索するといった検索エンジン的な処理にも適用できる。また、ネットワーク上を転送されるデータパケットに対するオンライン(リアルタイム)の探索処理だけではなく、オフラインの探索処理にも適用できる。
Claims (8)
- 処理対象の入力文字列に対して、予め定められた複数のパターンのいずれかと一致する部分文字列を探索する情報処理装置であって、
前記複数のパターンを順序付けされたノードで示す木構造の探索ルールを保持する記憶部と、
前記探索ルールに含まれるルートおよび一部のノードからなる部分探索ルールを用いて、前記入力文字列の異なる部分集合に対する探索処理をそれぞれ実行する第1の処理部と、
前記第1の処理部による探索結果を利用しつつ、前記探索ルールを用いて前記入力文字列に対する探索処理を実行する第2の処理部とを備える、情報処理装置。 - 前記第1の処理部は、
隣接する部分集合の間では少なくとも予め定められた文字数を重複させつつ、前記入力文字列に対して複数の部分集合を設定する手段と、
前記複数の部分集合の各々に対する前記部分探索ルールを用いた探索処理を並列実行する手段とを含む、請求項1に記載の情報処理装置。 - 前記第2の処理部は、前記第1の処理部による探索処理において、その部分集合のいずれについても前記部分探索ルールと一致しなかった入力文字列について、前記探索ルールを用いた探索処理の対象から除外する、請求項2に記載の情報処理装置。
- 前記第1の処理部は、前記入力文字列に対して設定される部分集合の数と少なくとも同数の処理要素を含む、請求項2または3に記載の情報処理装置。
- 前記第2の処理部は、前記第1の処理部による探索処理において、前記部分探索ルールと一致した部分文字列の位置を基準として、前記探索ルールを用いた探索処理を実行する、請求項1〜4のいずれか1項に記載の情報処理装置。
- 前記第2の処理部は、前記第1の処理部による前記部分探索ルールと一致しなかった前記入力文字列の部分について、前記探索ルールを用いた探索処理をスキップする、請求項1〜4のいずれか1項に記載の情報処理装置。
- 前記入力文字列は、ネットワークを転送されるパケットデータを含む、請求項1〜6のいずれか1項に記載の情報処理装置。
- 処理対象の入力文字列に対して、探索ルールによって予め定められた複数のパターン、のいずれかと一致する部分文字列を探索する情報処理プログラムであって、前記探索ルールは、前記複数のパターンを順序付けされたノードで示す木構造を有し、前記情報処理プログラムは、コンピュータに、
前記探索ルールに含まれるルートおよび一部のノードからなる部分探索ルールを用いて、前記入力文字列の異なる部分集合に対する第1の探索処理をそれぞれ実行するステップと、
前記第1の探索処理による探索結果を利用しつつ、前記探索ルールを用いて前記入力文字列に対する探索処理を実行するステップとを実行させる、情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012163716A JP5904045B2 (ja) | 2012-07-24 | 2012-07-24 | 情報処理装置および情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012163716A JP5904045B2 (ja) | 2012-07-24 | 2012-07-24 | 情報処理装置および情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014026312A JP2014026312A (ja) | 2014-02-06 |
JP5904045B2 true JP5904045B2 (ja) | 2016-04-13 |
Family
ID=50199929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012163716A Expired - Fee Related JP5904045B2 (ja) | 2012-07-24 | 2012-07-24 | 情報処理装置および情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5904045B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2825009B2 (ja) * | 1989-06-15 | 1998-11-18 | 株式会社日立製作所 | 記号列検索方法および装置 |
JP3141428B2 (ja) * | 1990-06-29 | 2001-03-05 | 株式会社日立製作所 | 数値検索装置およびその方法 |
JP4347087B2 (ja) * | 2004-02-26 | 2009-10-21 | 日本電信電話株式会社 | パターンマッチング装置および方法ならびにプログラム |
US7860849B1 (en) * | 2007-01-18 | 2010-12-28 | Netlogic Microsystems, Inc. | Optimizing search trees by increasing success size parameter |
WO2009050797A1 (ja) * | 2007-10-17 | 2009-04-23 | Fujitsu Limited | 検索装置および検索方法 |
-
2012
- 2012-07-24 JP JP2012163716A patent/JP5904045B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014026312A (ja) | 2014-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9275224B2 (en) | Apparatus and method for improving detection performance of intrusion detection system | |
US11128642B2 (en) | DFA state association in a multi-processor system | |
US9495479B2 (en) | Traversal with arc configuration information | |
WO2019096308A1 (zh) | 一种识别加密数据流的方法及装置 | |
EP3266156B1 (en) | Network infrastructure device to implement pre-filter rules | |
US7949683B2 (en) | Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph | |
US8180803B2 (en) | Deterministic finite automata (DFA) graph compression | |
RU2523917C2 (ru) | Система управления связью и способ управления связью | |
US20130054619A1 (en) | Method and apparatus for identifying application protocol | |
KR20150026979A (ko) | 어드밴스드 피처를 갖는 정규 표현식 패턴에 대한 비결정성 유한 오토마톤 (nfa) 생성 | |
EP2871814A1 (en) | Apparatus, method and system for hardwae-based filtering in a cross-comain infrastructure | |
CN104348677A (zh) | 一种深度报文检测方法、设备及协处理器 | |
JP2004172917A (ja) | パケット検索装置及びそれに用いるパケット処理検索方法並びにそのプログラム | |
CN113810337B (zh) | 用于网络报文去重的方法、装置、以及存储介质 | |
JP2009218743A (ja) | Ipプロトコル処理装置及びその処理方法 | |
JP5904045B2 (ja) | 情報処理装置および情報処理プログラム | |
WO2015075862A1 (ja) | ネットワーク制御装置、ネットワーク制御方法およびプログラム | |
WO2021095162A1 (ja) | 分散深層学習システムおよびデータ転送方法 | |
Park et al. | Reinhardt: Real-time reconfigurable hardware architecture for regular expression matching in dpi | |
CN112437096B (zh) | 加速策略查找方法及系统 | |
CN113688289A (zh) | 数据包关键字段匹配方法、装置、设备及存储介质 | |
KR101270928B1 (ko) | 안티-멀웨어 시스템 및 그의 동작 방법 | |
CN103947158A (zh) | 信息包数据提取装置、信息包数据提取装置的控制方法、控制程序、计算机可读取的记录介质 | |
CN116366478B (zh) | 一种基于fpga的数据包对比去重方法 | |
WO2022097725A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151225 |
|
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: 20160216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160229 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5904045 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 |
|
LAPS | Cancellation because of no payment of annual fees |