RU2015115889A - Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных - Google Patents
Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных Download PDFInfo
- Publication number
- RU2015115889A RU2015115889A RU2015115889A RU2015115889A RU2015115889A RU 2015115889 A RU2015115889 A RU 2015115889A RU 2015115889 A RU2015115889 A RU 2015115889A RU 2015115889 A RU2015115889 A RU 2015115889A RU 2015115889 A RU2015115889 A RU 2015115889A
- Authority
- RU
- Russia
- Prior art keywords
- state
- data
- register
- state transition
- transition
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/08—Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
1. Устройство (30) для обнаружения структур данных в потоке (37) данных, содержащем множество символов данных, представляющих знаки алфавита, причем упомянутое устройство (30) реализует детерминированный конечный автомат, причем упомянутое устройство содержит:- регистр (31) перехода состояний, содержащий множество состояний (11, 12, 13, 14, 15), включающее в себя начальное состояние (11) и по меньшей мере одно поглощающее состояние (14), и переходы (16а, 16b, 16с) состояний из начального состояния в целевое состояние, инициируемые символом данных упомянутого потока (37) данных;- средство (32) определения положения знака для определения для каждого символа данных каждого состояния упомянутого регистра (31) перехода состояний соответствующего положения знака в упомянутом алфавите;- средство (33) обновления для обновления упомянутого регистра (31) перехода состояний таким образом, чтобы он содержал диапазоны символов данных (18x, 18y) для символов данных с соответствующими последовательными положениями (18b) знаков в упомянутых переходах инициируемых посредством алфавита в одно и тоже целевое состояние;- средство (34) определения диапазона для определения, содержится ли символ данных упомянутого потока (37) данных в диапазоне (18x, 18y) символов данных упомянутого обновленного регистра (31) перехода состояний, и для определения упомянутого соответствующего ему целевого состояния (18b), и- средство (35) инициирования для инициирования перехода (16а, 16b, 16c) состояний из упомянутого начального состояния в упомянутое определенное целевое состояние для обнаружения упомянутой структуры данных.2. Устройство (30) по п. 1, в котором упомянутое средство (32) определения положения знака выполнено с возможностью сортировки для каждого
Claims (15)
1. Устройство (30) для обнаружения структур данных в потоке (37) данных, содержащем множество символов данных, представляющих знаки алфавита, причем упомянутое устройство (30) реализует детерминированный конечный автомат, причем упомянутое устройство содержит:
- регистр (31) перехода состояний, содержащий множество состояний (11, 12, 13, 14, 15), включающее в себя начальное состояние (11) и по меньшей мере одно поглощающее состояние (14), и переходы (16а, 16b, 16с) состояний из начального состояния в целевое состояние, инициируемые символом данных упомянутого потока (37) данных;
- средство (32) определения положения знака для определения для каждого символа данных каждого состояния упомянутого регистра (31) перехода состояний соответствующего положения знака в упомянутом алфавите;
- средство (33) обновления для обновления упомянутого регистра (31) перехода состояний таким образом, чтобы он содержал диапазоны символов данных (18x, 18y) для символов данных с соответствующими последовательными положениями (18b) знаков в упомянутых переходах инициируемых посредством алфавита в одно и тоже целевое состояние;
- средство (34) определения диапазона для определения, содержится ли символ данных упомянутого потока (37) данных в диапазоне (18x, 18y) символов данных упомянутого обновленного регистра (31) перехода состояний, и для определения упомянутого соответствующего ему целевого состояния (18b), и
- средство (35) инициирования для инициирования перехода (16а, 16b, 16c) состояний из упомянутого начального состояния в упомянутое определенное целевое состояние для обнаружения упомянутой структуры данных.
2. Устройство (30) по п. 1, в котором упомянутое средство (32) определения положения знака выполнено с возможностью сортировки для каждого состояния упомянутого регистра (31) перехода состояний всех символов (17а) данных в соответствии с упомянутым соответствующим положением знака в упомянутом алфавите.
3. Устройство (30) по п. 1 или 2, в котором упомянутый алфавит содержит машинный алфавит и, в частности, алфавит в формате ASCII или расширенном формате ASCII.
4. Устройство (30) по п. 1, при этом упомянутое устройство (30) выполнено с возможностью осуществления упомянутого определения упомянутых положений (32) знаков и обновления упомянутой таблицы (33) перехода состояний независимо от упомянутого определения упомянутого символа данных в диапазоне (34) символов данных и упомянутого инициирования упомянутого перехода (35) состояний.
5. Устройство (30) по п. 1, при этом упомянутое устройство (30) выполнено с возможностью завершения упомянутого обнаружения упомянутой структуры данных при инициировании перехода (16а, 16b, 16с) состояний в поглощающее состояние (14) упомянутого детерминированного конечного автомата (10).
6. Устройство (30) по п. 1, при этом упомянутое устройство (30) выполнено с возможностью обработки потока (37) данных в соответствии с упомянутой обнаруженной структурой данных.
7. Устройство (30) по п. 1, при этом упомянутое устройство (30) представляет собой сетевой сервер (42, 43, 44, 47, 48), работающий в телекоммуникационной сети (40) для обнаружения структуры данных в потоке (37) данных упомянутой телекоммуникационной сети (40).
8. Управляемый компьютером способ (20) обнаружения структур данных в потоке (37) данных, принимаемом посредством упомянутого компьютера (30), причем упомянутый поток (37) данных содержит множество символов данных, представляющих знаки алфавита, причем упомянутый компьютер (30) реализует детерминированный конечный автомат, содержащий сжатый регистр (31) перехода состояний, содержащий множество состояний (11, 12, 13, 14, 15), включающее в себя начальное состояния (11) и по меньшей мере одно поглощающее состояние (14), и переходы (16а, 16b, 16с) состояний из начального состояния в целевое состояние, инициируемые символом данных из упомянутого потока (37) данных, причем сжатый регистр (31) перехода состояний содержит по меньшей мере один диапазон символов данных, причем упомянутый способ содержит этапы, на которых:
- определяют (21) посредством упомянутого компьютера (30) из упомянутого сжатого регистра (31) перехода состояний, содержится ли символ данных упомянутого потока данных в диапазоне (18а) символов данных упомянутого сжатого регистра (31) перехода состояний, и определяют (22) упомянутое соответствующее ему целевое состояние (18b), и
- инициируют (22) посредством упомянутого компьютера (30) переход (16а, 16b, 16с) состояний из упомянутого начального состояния в упомянутое определенное целевое состояние для обнаружения упомянутой структуры данных.
9. Управляемый компьютером способ (20) формирования сжатого регистра (31) перехода состояний по п. 8, содержащий этапы, на которых:
- определяют посредством упомянутого компьютера (30) для каждого символа данных каждого состояния регистра (31) перехода состояний соответствующее положение знака в упомянутом алфавите; и
- обновляют посредством упомянутого компьютера (30) упомянутый регистр (31) перехода состояний таким образом, чтобы он содержал диапазоны символов данных (18х) для символов данных с соответствующими последовательными положениями знаков в упомянутых переходах (16b), инициируемых посредством алфавита в одно и тоже целевое состояние (12).
10. Способ (20) по п. 9, при этом упомянутый способ (20) дополнительно содержит этап, на котором сортируют посредством упомянутого компьютера (30) для каждого состояния упомянутого регистра (31) перехода состояний все символы данных в соответствии с упомянутым соответствующим положением знака в упомянутом алфавите.
11. Способ (20) по п. 9 или 10, при этом упомянутый способ (20) дополнительно содержит этап, на котором удаляют из упомянутой таблицы (31) перехода состояний каждый переход состояний для состояния (15), в котором для всех соответствующих переходов состояний упомянутое начальное состояние является равным упомянутому целевому состоянию.
12. Способ (20) по п. 9 или 10, при этом упомянутый способ (20) дополнительно содержит этап, на котором удаляют из упомянутой таблицы (31) перехода состояний каждый переход состояний для состояния (15), в котором никакой соответствующий переход состояний не может привести к поглощающему состоянию (14).
13. Способ (20) по п. 9 или 10, при этом упомянутый способ (20) дополнительно содержит этап, на котором удаляют из упомянутой таблицы (37) перехода состояний каждый переход состояния, в котором упомянутое начальное состояние (14) представляет собой конечное состояние (14).
14. Компьютерный программный продукт, содержащий устройство хранения данных, на котором сохранены данные компьютерного программного кода, выполненные с возможностью осуществления способа по любому из пп. 8-13, когда упомянутые данные программного кода загружены в память электронного блока обработки и исполняются упомянутым электронным блоком обработки.
15. Телекоммуникационная сеть (40), содержащая сетевой сервер (42, 43, 44, 45, 46) по п. 14.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2012/069198 WO2014048488A1 (en) | 2012-09-28 | 2012-09-28 | An apparatus for, a method of, and a network server for detecting data patterns in a data stream |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015115889A true RU2015115889A (ru) | 2016-11-20 |
RU2608464C2 RU2608464C2 (ru) | 2017-01-18 |
Family
ID=46970273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015115889A RU2608464C2 (ru) | 2012-09-28 | 2012-09-28 | Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных |
Country Status (6)
Country | Link |
---|---|
US (1) | US9870502B2 (ru) |
EP (1) | EP2901643B1 (ru) |
JP (1) | JP6055548B2 (ru) |
IN (1) | IN2015DN01932A (ru) |
RU (1) | RU2608464C2 (ru) |
WO (1) | WO2014048488A1 (ru) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9398033B2 (en) | 2011-02-25 | 2016-07-19 | Cavium, Inc. | Regular expression processing automaton |
US9203805B2 (en) | 2011-11-23 | 2015-12-01 | Cavium, Inc. | Reverse NFA generation and processing |
US9426166B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for processing finite automata |
US9426165B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for compilation of 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 |
US9419943B2 (en) | 2013-12-30 | 2016-08-16 | Cavium, Inc. | Method and apparatus for processing of finite automata |
US9602532B2 (en) | 2014-01-31 | 2017-03-21 | Cavium, Inc. | Method and apparatus for optimizing finite automata processing |
US9904630B2 (en) * | 2014-01-31 | 2018-02-27 | Cavium, Inc. | Finite automata processing based on a top of stack (TOS) memory |
JP6421436B2 (ja) * | 2014-04-11 | 2018-11-14 | 富士ゼロックス株式会社 | 不正通信検知装置及びプログラム |
US9438561B2 (en) | 2014-04-14 | 2016-09-06 | Cavium, Inc. | Processing of finite automata based on a node cache |
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 |
JP6896759B2 (ja) | 2016-03-23 | 2021-06-30 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
US10033750B1 (en) * | 2017-12-05 | 2018-07-24 | Redberry Systems, Inc. | Real-time regular expression search engine |
JP6873032B2 (ja) * | 2017-12-28 | 2021-05-19 | 株式会社日立製作所 | 通信監視システム、通信監視装置および通信監視方法 |
US10747525B2 (en) * | 2018-03-09 | 2020-08-18 | International Business Machines Corporation | Distribution of a software upgrade via a network |
CN113886482B (zh) * | 2021-12-07 | 2022-03-08 | 北京华云安信息技术有限公司 | 面向图数据库的数据自动入库方法、装置和设备 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3141428B2 (ja) | 1990-06-29 | 2001-03-05 | 株式会社日立製作所 | 数値検索装置およびその方法 |
JP2921119B2 (ja) | 1990-12-26 | 1999-07-19 | 株式会社日立製作所 | 数値検索装置および数値検索方法 |
CA2156889C (en) * | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
US6839751B1 (en) * | 1999-06-30 | 2005-01-04 | Hi/Fn, Inc. | Re-using information from data transactions for maintaining statistics in network monitoring |
WO2003023553A2 (en) | 2001-09-12 | 2003-03-20 | Raqia Networks Inc. | Method of generating a dfa state machine that groups transitions into classes in order to conserve memory |
US20030149562A1 (en) * | 2002-02-07 | 2003-08-07 | Markus Walther | Context-aware linear time tokenizer |
US7085918B2 (en) * | 2003-01-09 | 2006-08-01 | Cisco Systems, Inc. | Methods and apparatuses for evaluation of regular expressions of arbitrary size |
US7082044B2 (en) | 2003-03-12 | 2006-07-25 | Sensory Networks, Inc. | Apparatus and method for memory efficient, programmable, pattern matching finite state machine hardware |
US7685254B2 (en) | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
JP4565064B2 (ja) | 2003-12-25 | 2010-10-20 | 学校法人日本大学 | 高速マッチング法 |
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 |
US7702629B2 (en) | 2005-12-02 | 2010-04-20 | Exegy Incorporated | Method and device for high performance regular expression pattern matching |
US7725510B2 (en) | 2006-08-01 | 2010-05-25 | Alcatel-Lucent Usa Inc. | Method and system for multi-character multi-pattern pattern matching |
WO2008053762A1 (fr) | 2006-11-01 | 2008-05-08 | Nec Corporation | Procédé de stockage/extraction d'informations et dispositif pour une table de transition d'état, et programme |
US7962434B2 (en) | 2007-02-15 | 2011-06-14 | Wisconsin Alumni Research Foundation | Extended finite state automata and systems and methods for recognizing patterns in a data stream using extended finite state automata |
US7904961B2 (en) | 2007-04-20 | 2011-03-08 | Juniper Networks, Inc. | Network attack detection using partial deterministic finite automaton pattern matching |
US9021582B2 (en) | 2007-04-24 | 2015-04-28 | Juniper Networks, Inc. | Parallelized pattern matching using non-deterministic finite automata |
US8156247B2 (en) * | 2007-04-30 | 2012-04-10 | Lsi Corportion | Systems and methods for reducing network performance degradation |
US7991723B1 (en) | 2007-07-16 | 2011-08-02 | Sonicwall, Inc. | Data pattern analysis using optimized deterministic finite automaton |
CN101499065B (zh) * | 2008-02-01 | 2011-11-02 | 华为技术有限公司 | 基于fa的表项压缩方法及装置、表项匹配方法及装置 |
US8473523B2 (en) * | 2008-10-31 | 2013-06-25 | Cavium, Inc. | Deterministic finite automata graph traversal with nodal bit mapping |
US8219581B2 (en) * | 2009-05-13 | 2012-07-10 | Teradata Us, Inc. | Method and system for analyzing ordered data using pattern matching in a relational database |
US8504510B2 (en) * | 2010-01-07 | 2013-08-06 | Interdisciplinary Center Herzliya | State machine compression for scalable pattern matching |
US9305116B2 (en) * | 2010-04-20 | 2016-04-05 | International Business Machines Corporation | Dual DFA decomposition for large scale regular expression matching |
US8515891B2 (en) * | 2010-11-19 | 2013-08-20 | Microsoft Corporation | Symbolic finite automata |
-
2012
- 2012-09-28 RU RU2015115889A patent/RU2608464C2/ru not_active IP Right Cessation
- 2012-09-28 EP EP12768785.3A patent/EP2901643B1/en not_active Not-in-force
- 2012-09-28 WO PCT/EP2012/069198 patent/WO2014048488A1/en active Application Filing
- 2012-09-28 JP JP2015533458A patent/JP6055548B2/ja not_active Expired - Fee Related
- 2012-09-28 US US14/431,826 patent/US9870502B2/en active Active
- 2012-09-28 IN IN1932DEN2015 patent/IN2015DN01932A/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2014048488A1 (en) | 2014-04-03 |
EP2901643B1 (en) | 2017-03-22 |
US20150262009A1 (en) | 2015-09-17 |
EP2901643A1 (en) | 2015-08-05 |
JP6055548B2 (ja) | 2016-12-27 |
JP2015533243A (ja) | 2015-11-19 |
IN2015DN01932A (ru) | 2015-08-07 |
US9870502B2 (en) | 2018-01-16 |
RU2608464C2 (ru) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2015115889A (ru) | Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных | |
US10063582B1 (en) | Securing compromised network devices in a network | |
US9619758B2 (en) | Method and apparatus for labeling training samples | |
US9395916B2 (en) | Method for touch input and device therefore | |
JP2015503807A5 (ru) | ||
US20160299653A1 (en) | Method and apparatus for switching application interface | |
CN111338692B (zh) | 基于漏洞代码的漏洞分类方法、装置及电子设备 | |
US10055584B2 (en) | Method and device for obtaining virus signatures | |
CN113328994A (zh) | 一种恶意域名处理方法、装置、设备及机器可读存储介质 | |
CN105446987A (zh) | 图片类垃圾文件的识别方法、装置和电子设备 | |
EP2963536A1 (en) | Electronic device and method for rendering secondary characters | |
CN103019610A (zh) | 对象选择方法及终端 | |
WO2015181830A1 (en) | User account switching interface | |
JP2015518993A5 (ru) | ||
CN102714674A (zh) | 使用触摸屏的韩文输入方法和设备及包括键输入设备的便携式终端 | |
CN105589570B (zh) | 一种处理输入错误的方法和装置 | |
CN105302857A (zh) | 一种提供联系人信息的方法与设备 | |
CN106156022B (zh) | 一种信息处理方法及电子设备 | |
CN105243315B (zh) | 用于单一型图片验证码输入的方法、装置及系统 | |
CN108008879A (zh) | 一种应用程序查找方法、装置及电子设备 | |
CN109726554A (zh) | 一种恶意程序的检测方法、装置及相关应用 | |
CN103324300A (zh) | 一种输入方法与装置 | |
CN105282718B (zh) | 移动网络预定标识展示方法及装置 | |
JPWO2013137311A1 (ja) | 文字入力装置および文字入力方法 | |
CN104699381A (zh) | 一种输入方式切换方法、输入法系统和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20200929 |