140 likes | 321 Views
Deflating the Big Bang: Fast and Scalable Deep Packet Inspection with Extended Finite Automata. Date:101/3/21 Publisher:SIGCOMM 08 Author: Randy Smith Cristian Estan Somesh Jha Shijin Kong Ioannidis Presenter : Shi- qu Yu. Introduction.
E N D
Deflating the Big Bang: Fast and Scalable Deep Packet Inspection with Extended Finite Automata Date:101/3/21 Publisher:SIGCOMM 08 Author:RandySmith CristianEstanSomeshJhaShijinKongIoannidis Presenter : Shi-qu Yu
Introduction • Regular expressions are typically implemented as either deterministic finite automata (DFAs) or nondeterministic finite automata (NFAs). Like strings, DFAs are fast and can be readily combined. However, for many common signatures their combination exhibits an explosion in the state space
Eliminating Ambiguity Through Auxiliary Variables • Theorem 1. Let D1 and D2 be DFAs with D1+D2 their standard product combination. If D1 and D2 are unambiguous, then |D1 + D2| < |D1| + |D2|, where |D| is the number of states in D. • Theorem 2. If D1 and D2 are unambiguous, then D1 + D2 is unambiguous.
XFA • XFA Construction[31] • Combining XFAs • Matching to Input
OPTIMIZATION • Exposing Runtime Information • Combining Independent Variables • Code Motion and Instruction Merging
Combining Independent Variables • Dataflow Analysis • Compatibility Analysis
Dataflow Analysis • Definition 2. Let Q be the set of states containing a set operation for counter C. Then, C is active at state S if there is at least one sequence of input symbols forming a path of states from a state in Q to S in which no state in the path contains a reset operation for C. Otherwise C is inactive.
Compatibility Analysis • Two counters can be reduced to one if they are compatible at all states in the automaton
Dataflow Analysis • A stream is a sequence of operations that execute in order. • While the stream is executing, the CPU is able to collect the next batch of packets.
EXPERIMENTAL EVALUATION • Data Set:XFAs on FTP, SMTP, and HTTP signatures from Snort [28] and Cisco Systems. • CPU:3.0 GHz Pentium 4