Efficient Signature Matching with Multiple Alphabet Compression Tables Publisher : SecureComm, 2008 Author : Shijin Kong,Randy Smith,and Cristian Estan.

Slides:



Advertisements
Similar presentations
Deep packet inspection – an algorithmic view Cristian Estan (U of Wisconsin-Madison) at IEEE CCW 2008.
Advertisements

Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
Lexical Analysis IV : NFA to DFA DFA Minimization
Reducing DFA’s Section 2.4. Reduction of DFA For any language, there are many DFA’s that accept the language Why would we want to find the smallest? Algorithm:
Authors: Wei Lin, Bin Liu Publisher: ICPADS, 2008 (IEEE International Conference on Parallel and Distributed Systems) Presenter: Chia-Yi, Chu Date: 2014/03/05.
An Efficient Regular Expressions Compression Algorithm From A New Perspective Authors : Tingwen Liu,Yifu Yang,Yanbing Liu,Yong Sun,Li Guo Tingwen LiuYifu.
DFA Minimization Jeremy Mange CS 6800 Summer 2009.
Sorting Chapter 8 CSCI 3333 Data Structures.
Outline Introduction Related work on packet classification Grouper Performance Empirical Evaluation Conclusions.
Allocating Memory.
A Memory-Efficient Reconfigurable Aho-Corasick FSM Implementation for Intrusion Detection Systems Authors: Seongwook Youn and Dennis McLeod Presenter:
11 An Improved Algorithm to Accelerate Regular Expression Evaluation Authors: Michela Becchi and Patrick Crowley Publisher: ANCS’07 Present: Kia-Tso Chang.
1 On Constructing Efficient Shared Decision Trees for Multiple Packet Filters Author: Bo Zhang T. S. Eugene Ng Publisher: IEEE INFOCOM 2010 Presenter:
1 Partition Filter Set for Power- Efficient Packet Classification Authors: Haibin Lu, MianPan Publisher: IEEE GLOBECOM 2006 Present: Chen-Yu Lin Date:
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
Aho-Corasick String Matching An Efficient String Matching.
1 LR parsing techniques SLR (not in the book) –Simple LR parsing –Easy to implement, not strong enough –Uses LR(0) items Canonical LR –Larger parser but.
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:
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
NFA ε - NFA - DFA equivalence. What is an NFA An NFA is an automaton that its states might have none, one or more outgoing arrows under a specific symbol.
Presented by Tienwei Tsai July, 2005
An Improved Algorithm to Accelerate Regular Expression Evaluation Author : Michela Becchi 、 Patrick Crowley Publisher : ANCS’07 Presenter : Wen-Tse Liang.
Overview of Previous Lesson(s) Over View  Strategies that have been used to implement and optimize pattern matchers constructed from regular expressions.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
Inferring Decision Trees Using the Minimum Description Length Principle J. R. Quinlan and R. L. Rivest Information and Computation 80, , 1989.
Overview of Previous Lesson(s) Over View  An NFA accepts a string if the symbols of the string specify a path from the start to an accepting state.
TFA : A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Tang Song and H. Jonathan Chao Publisher: Technical.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
An Efficient Regular Expressions Compression Algorithm From A New Perspective  Author: Tingwen Liu, Yifu Yang, Yanbing Liu, Yong Sun, Li Guo  Publisher:
Lexical Analysis III : NFA to DFA DFA Minimization Lecture 5 CS 4318/5331 Spring 2010 Apan Qasem Texas State University *some slides adopted from Cooper.
GPEP : Graphics Processing Enhanced Pattern- Matching for High-Performance Deep Packet Inspection Author: Lucas John Vespa, Ning Weng Publisher: 2011 IEEE.
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
Deterministic Finite Automaton for Scalable Traffic Identification: the Power of Compressing by Range Authors: Rafael Antonello, Stenio Fernandes, Djamel.
ROCK: A Robust Clustering Algorithm for Categorical Attributes Authors: Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Data Engineering, Proceedings.,
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.
Extending Finite Automata to Efficiently Match Perl-Compatible Regular Expressions Publisher : Conference on emerging Networking EXperiments and Technologies.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
Author : Yang Xu, Lei Ma, Zhaobo Liu, H. Jonathan Chao Publisher : ANCS 2011 Presenter : Jo-Ning Yu Date : 2011/12/28.
Author : Randy Smith & Cristian Estan & Somesh Jha Publisher : IEEE Symposium on Security & privacy,2008 Presenter : Wen-Tse Liang Date : 2010/10/27.
Author : Weirong Jiang, Yi-Hua E. Yang, and Viktor K. Prasanna Publisher : IPDPS 2010 Presenter : Jo-Ning Yu Date : 2012/04/11.
CPSC 404, Laks V.S. Lakshmanan1 Evaluation of Relational Operations – Join Chapter 14 Ramakrishnan and Gehrke (Section 14.4)
CSC5101 Advanced Algorithms Analysis
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.
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Relational Operator Evaluation. overview Projection Two steps –Remove unwanted attributes –Eliminate any duplicate tuples The expensive part is removing.
Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Publisher : ANCS’ 06 Author : Fang Yu, Zhifeng Chen, Yanlei Diao, T.V.
An Improved DFA for Fast Regular Expression Matching Author : Domenico Ficara 、 Stefano Giordano 、 Gregorio Procissi Fabio Vitucci 、 Gianni Antichi 、 Andrea.
UNIT 4 : State Minimization: Completely Specified Machines
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
Advanced Algorithms for Fast and Scalable Deep Packet Inspection Author : Sailesh Kumar 、 Jonathan Turner 、 John Williams Publisher : ANCS’06 Presenter.
SRD-DFA Achieving Sub-Rule Distinguishing with Extended DFA Structure Author: Gao Xia, Xiaofei Wang, Bin Liu Publisher: IEEE DASC (International Conference.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
Introduction to Paging. Readings r 4.3 of the text book.
Reorganized and Compact DFA for Efficient Regular Expression Matching
Compressive Coded Aperture Video Reconstruction
HUFFMAN CODES.
A DFA with Extended Character-Set for Fast Deep Packet Inspection
Copyright © Cengage Learning. All rights reserved.
Modeling Arithmetic, Computation, and Languages
Evaluation of Relational Operations: Other Operations
Minimal DFA Among the many DFAs accepting the same regular language L, there is exactly one (up to renaming of states) which has the smallest possible.
Implementation of Relational Operations
Instructor: Aaron Roth
Regular Language Equivalence and DFA Minimization
Compact DFA Structure for Multiple Regular Expressions Matching
Efficient Huffman Decoding
Chapter5: Synchronous Sequential Logic – Part 3
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Presentation transcript:

Efficient Signature Matching with Multiple Alphabet Compression Tables Publisher : SecureComm, 2008 Author : Shijin Kong,Randy Smith,and Cristian Estan Presenter : Yu-Hsiang Wang Date : 2011/04/20 1

Outline Introduction Alphabet Compression Tables (ACT) Multiple alphabet compression tables Combining D 2 FAs and ACTs Experimental Evaluation 2

Introduction Distinct input symbols often have identical behavior in their DFAs. In these cases, an Alphabet Compression Table (ACT) [11] can be used to map such groups of symbols to a single symbol. This paper introduce the use of multiple alphabet compression tables to reduce the memory footprint of combined DFAs. Also perform a comprehensive evaluation comparing our technique with another recent proposal, D 2 FAs. 3

Alphabet Compression Tables (ACT) Alphabet compression tables for DFAs arise from the observation that for any given transition table, there are often many input characters that lead to the same next state. A shared lookup table can be used to map from the input character to the appropriate equivalence class entry in the compressed transition table. 4

Alphabet Compression Tables (ACT) 5

6 State0- NextToChars Charter NextToChars[25]0,1,2 NextToChars[41]3,4,5 NextToChars[5]6,7

Multiple alphabet compression tables When using a single ACT for all states as in the previous section, individual characters of such groups will need separate entries in each of the compressed transition tables, limiting the memory savings that can be achieved. We compute an ACT to apply only to the large subset of states S, the transition tables are smaller since the groups of characters treated identically are larger and fewer. Reductions in memory usage can be obtained by using multiple ACTs, each over a disjoint subset of states. 7

Multiple alphabet compression tables 8 To build a DFA with m ACTs, we first divide the states of an automaton into m subsets and then compute a separate ACT for each subset.

Multiple alphabet compression tables There are two methods for partitioning the states into m subsets. “Bottom-up” approach starts with the partition produced by Algorithm 2 and combine subsets until the total number of subsets is reduced to m. The combination routine iteratively combines subsets two at a time, selecting at each iteration the two subsets that yield the smallest increase in total memory usage. Unfortunately, this algorithm operates in O(n 3 |Σ|) time. 9

Multiple alphabet compression tables “top-down” approach that starts with a single set and iteratively subdivides until m subsets are produced. 10

11 (lines 7-23) starts with the set of all remaining states and removes states from the set until the desired size is reached. Each iteration of the loop reduces the size of the transition table by one by removing all states that distinguish between two groups of characters. To remove the fewest possible states, the nested inner loops (lines 9 to 18) go through all pairs of groups of characters and pick the two groups that can be combined by removing the fewest states. the algorithm sets a target for the size of the subset to remove (we found that setting this target to half the remaining states works well) and finds a subset that is large enough and has a small ACT

Multiple alphabet compression tables 1. Initial StateCoverd : state 0,1,2,3 2.Choose the pair of groups distinguished between by the fewest states Bestj=1, Bestk=2 StateCut: state 1,3 3.Discard the states, combine the groups StateCoverd : state 0,2 12 Group charcter0,1, Group charcter0,1,23,4567

Combining D 2 FAs and ACTs We extend the input alphabet to include a “not handled here” symbol, and we increase the size of the alphabet compression table by one to also include the default transition. 13

Experimental Evaluation(1) 14

Experimental Evaluation (2) 15

Experimental Evaluation (3) 16

Experimental Evaluation (4) 17

Experimental Evaluation (5) 18