 Author: Tsern-Huei Lee  Publisher: 2009 IEEE Transation on Computers  Presenter: Yuen-Shuo Li  Date: 2013/09/18 1.

Slides:



Advertisements
Similar presentations
Deep Packet Inspection: Where are We? CCW08 Michela Becchi.
Advertisements

Computer Architecture CS 215
컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
State-machine structure (Mealy)
State Machine Design Procedure
Massively Parallel Cuckoo Pattern Matching Applied For NIDS/NIPS  Author: Tran Ngoc Thinh, Surin Kittitornkun  Publisher: Electronic Design, Test and.
Registers and Counters. Register Register is built with gates, but has memory. The only type of flip-flop required in this class – the D flip-flop – Has.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
1 FPGA-based ROM-free network intrusion detection using shift-OR circuit Department of Computer Science and Information Engineering National Cheng Kung.
Improved TCAM-based Pre-Filtering for Network Intrusion Detection Systems Department of Computer Science and Information Engineering National Cheng Kung.
CSCE 211: Digital Logic Design
1 Performing packet content inspection by longest prefix matching technology Authors: Nen-Fu Huang, Yen-Ming Chu, Yen-Min Wu and Chia- Wen Ho Publisher:
Deep Packet Inspection with Regular Expression Matching Min Chen, Danny Guo {michen, CSE Dept, UC Riverside 03/14/2007.
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Sequential circuit design
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
 Author: Kubilay Atasu, Florian Doerfler, Jan van Lunteren, Christoph Hagleitner  Publisher: 2013 FPL  Presenter: Yuen-Shuo Li  Date: 2013/10/30 1.
(TPDS) A Scalable and Modular Architecture for High-Performance Packet Classification Authors: Thilan Ganegedara, Weirong Jiang, and Viktor K. Prasanna.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
Timothy Whelan Supervisor: Mr Barry Irwin Security and Networks Research Group Department of Computer Science Rhodes University Hardware based packet filtering.
1 Chapter Regular Language Topics. 2 Section 11.4 Regular Language Topics Regular languages are also characterized by special grammars called regular.
TFA : A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Tang Song and H. Jonathan Chao Publisher: Technical.
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
An Efficient Regular Expressions Compression Algorithm From A New Perspective  Author: Tingwen Liu, Yifu Yang, Yanbing Liu, Yong Sun, Li Guo  Publisher:
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
On Adding Bloom Filters to Longest Prefix Matching Algorithms
1 Optimization of Regular Expression Pattern Matching Circuits on FPGA Department of Computer Science and Information Engineering National Cheng Kung University,
Regular Expression Matching for Reconfigurable Packet Inspection Authors: Jo˜ao Bispo, Ioannis Sourdis, Jo˜ao M.P. Cardoso and Stamatis Vassiliadis Publisher:
Department of Computer Science and Engineering Applied Research Laboratory Architecture for a Hardware Based, TCP/IP Content Scanning System David V. Schuehler.
 Author: Ricardo A. Baeza-Yates, Gaston H. Gonnet  Publisher: 1992 Communications of the ACM  Presenter: Yuen-Shuo Li  Date: 2013/08/14 1.
INFAnt: NFA Pattern Matching on GPGPU Devices Author: Niccolo’ Cascarano, Pierluigi Rolando, Fulvio Risso, Riccardo Sisto Publisher: ACM SIGCOMM 2010 Presenter:
Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection Sailesh Kumar Sarang Dharmapurikar Fang Yu Patrick Crowley Jonathan.
TCAM –BASED REGULAR EXPRESSION MATCHING SOLUTION IN NETWORK Phase-I Review Supervised By, Presented By, MRS. SHARMILA,M.E., M.ARULMOZHI, AP/CSE.
A Dynamic Longest Prefix Matching Content Addressable Memory for IP Routing Author: Satendra Kumar Maurya, Lawrence T. Clark Publisher: IEEE TRANSACTIONS.
STRING SEARCHING ENGINE FOR VIRUS SCANNING Author : Derek Pao, Xing Wang, Xiaoran Wang, Cong Cao, Yuesheng Zhu Publisher : TRANSACTIONS ON COMPUTERS, 2012.
Author : Sarang Dharmapurikar, John Lockwood Publisher : IEEE Journal on Selected Areas in Communications, 2006 Presenter : Jo-Ning Yu Date : 2010/12/29.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
Section 11.4 Regular Language Topics
A Scalable Architecture For High-Throughput Regular-Expression Pattern Matching Yao Song 11/05/2015.
Author : Randy Smith & Cristian Estan & Somesh Jha Publisher : IEEE Symposium on Security & privacy,2008 Presenter : Wen-Tse Liang Date : 2010/10/27.
TFA: A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Yang Song and H. Jonathan Chao Publisher: ACM/IEEE.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Publisher : ANCS’ 06 Author : Fang Yu, Zhifeng Chen, Yanlei Diao, T.V.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
SRD-DFA Achieving Sub-Rule Distinguishing with Extended DFA Structure Author: Gao Xia, Xiaofei Wang, Bin Liu Publisher: IEEE DASC (International Conference.
1 Registers A register is a group of n flip-flops each of them capable of storing one bit of information There are two types of registers: parallel and.
Sequential Logic Design
Basic Computer Organization and Design
Week #7 Sequential Circuits (Part B)
Computer Organization and Architecture + Networks
REGISTER TRANSFER LANGUAGE (RTL)
Chap 7. Register Transfers and Datapaths
KU College of Engineering Elec 204: Digital Systems Design
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
Instructor: Alexander Stoytchev
Chapter 2 FINITE AUTOMATA.
CSCE 211: Digital Logic Design
Regular Expression Matching in Reconfigurable Hardware
CSCE 211: Digital Logic Design
Registers.
Digital Fundamentals Floyd Chapter 4 Tenth Edition
CSCE 211: Digital Logic Design
Compact DFA Structure for Multiple Regular Expressions Matching
Chapter5: Synchronous Sequential Logic – Part 3
2019/10/9 Regular Expression Matching for Reconfigurable Constraint Repetition Inspection Authors : Miad Faezipour and Mehrdad Nourani Publisher : IEEE.
Presentation transcript:

 Author: Tsern-Huei Lee  Publisher: 2009 IEEE Transation on Computers  Presenter: Yuen-Shuo Li  Date: 2013/09/18 1

 Deep packet inspection is an important component in network security appliances.  The function of deep packet inspection is to search for predefined patterns in packet payloads. It is very time consuming especially when patterns are specified with regular expressions.  According to some report [3], the pattern matching module can consume up to 70 percent of CPU computation power in an intrusion detection system. As a consequence, pure software- based pattern matching is not suitable for high-speed networks. [3] Deterministic Memory-Efficient String Matching Algorithms for Intrusion Detection

 In this paper, we present a different approach to implement an NFA.  Our implementation is for the Glushkov NFA (G-NFA). We show that the implementation can handle special symbols commonly used in extended regular expressions.  To achieve high performance, we generalize the implementation so that multiple symbols are processed in an operation cycle.

T[a] = T[b] = T[c] = T[d] = cbaba T[a] = 11010

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] =

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = 11111

 The initial state is State abdabababc text T[a] = T[b] = T[c] = T[d] = The match at the end of the text is indicated by the value 0 in the leftmost bit of the state

m: pattern size w: word size

S => T R=> State => OR

 We state some well-known properties of the G-NFA. A1A1 A ≡ 1. 2.

First(RE) = Enter(A) = and Follow(RE, 1) = Enter(B) = and B : the set of active states. State 1 =>

 We examine the Output register after the last symbol of input string T is processed. The input string T is accepted iff the final content of Output register is not zero.

 Note that the Follow(RE, x) table may have to be accessed up to N times if all bits of B are 1’s.  It is possible to reduce this number by precomputation.  To further improve system performance, the four groups can be stored in separate memories and fetched simultaneously.  The trade-off is an increase of memory requirement by many times.

Wrong

Since the total number of possible K- symbols could be huge, it is important to define equivalence class for them. For our propose, two K-symbols u and v are in the same equivalence class iff H(x, u) = H(x, v)

~ represents any symbol. The ECID of the equivalence class, which contains the most specific K-symbol, is selected if an input K-symbol matches multiple K-symbols in different equivalence classes.

The generalized 4-symbols in Group 3 contain at least one ~ at the beginning and are necessary for the states that can be accessed by state 0 in less than four steps.

The equivalence classes that form Group 4 are obtained by “intersecting” the equivalence classes of Group 2 with those Group 3 DBAB is derived from DB~~ and ~~AB. ECID4-symbolsF(u) 17DB~~5 24~~AB0 34DBABDBAB0, 5

Group 5 only contains one generalized 4-symbol, and represents the complement of the other groups.

The initial content of B is set to 1 for the bit representing state and 0 elsewhere.

 The hierarchical architecture proposed in [5] can be used to find the ECID of an input K-symbol.

 We study two extended regular expressions selected from Snort.  It is possible to reduce the number of states in a G-NFA if we allow an edge to be labeled with multiple symbols.

^ : match the beginning of the line. \s: white space \x3a: “:” \x3b: “;” m: match all line break i: case insensitive  Considering the case of K =1, there are 11 states in the reduced G-NFA and the set of equivalence classes for input symbols are {[r,R], [c, C], [p, P], [t, T], [o, O], \s, \x3a, [;, \x3b], ~}.  To implement option m, we reset the G-NFA whenever a new line symbol is encountered.  Note that there is at most one active state at any moment, and therefore, the bitwise OR logic can be removed. Also, there is only one final state, which means that the Last bitmap is not needed.

^ : match the beginning of the line. \s: white space \x3a: “:” \x3b: “;” m: match all line break i: case insensitive  Hardware resources used in the implementation are two slices, three slice flip flops, four (input) LUTs, and one BRAM. The NFA constructed with the approach proposed in [15] uses 20 slices, four slice flip flops, and 36 LUTs.  For K=4, there are 22 equivalence classes for all the 4-symbols. We used 14 slices, 16 slice flip flops, 25 LUTs, and four BRAMs in the implementation.

 The symbol [^\s] represents any symbol, which is not white space.  The option s means that the dot metacharacter includes newline

 The clock rates for our proposed architectures are slightly larger than that for the logic-based design proposed in [15]. We achieved more than 4 Gbps throughput for both examples with K=4.  With some manipulations, it is possible to reduce the required hardware resources. For example, both the Follow(RE, x) and the Enter(a) tables can be compressed.  One can implement the bound special symbol {69} with a counter. By doing so, the number of states is reduced to 24.

 Compared with logic-based designs, our proposed architectures require additional memory but less logic circuit.  One major advantage of our proposed architectures is that they can process data that arrives in small segments, such as packets while logic-based designs cannot.