70 likes | 178 Views
Overview of using FAs in regular expression matching. Nguyen Hoa Hung. NFA implementation. Sidhu 2001 FF model and algorithms for implementing NFA using FPGA Self reconfiguration model and algorithm Hutchings 2002 Implement generator module for extracting patterns in Snort rule sets
E N D
Overview of using FAs in regular expression matching Nguyen Hoa Hung
NFA implementation • Sidhu 2001 • FF model and algorithms for implementing NFA using FPGA • Self reconfiguration model and algorithm • Hutchings 2002 • Implement generator module for extracting patterns in Snort rule sets • Generate RE for all pattern
NFA implementation • Clark 2003, 2004 • Predecoding approach: replace distributed comparators with shared 8-to-256 character decoder • Using wide parallel inputs for a scalable bandwidth system • Cho 2002, 2004 • Pipelined comparators for high-speed rule-based multilayer inspection • Reducing number of comparator by finding identical alignments
NFA implementation • Baker 2004, 2005 • Min-cut partitioning allows efficient multibyte comparisons and partial matches • Predecoded shift-and-compare architecture -> reduce comparator size • 2006 • Sharing common prefix, infix and suffix • New five NFA components for PCRE • Generator for extracting common subexpression
DFA implementation • 2003 -> device utilization • Content-scanning module for an internet firewall • Parallel DFA search, parallel content scanners • 2006 -> throughput and density • High-throughput FSM: single transition based on a string of m instead of a character • Alphabet encoding • Transition table compression via run-length coding
DFA implementation • Kumar 2006 • D2FA: delayed input DFA – compact traditional DFA based on states have same outgoing transition • CD2FA: content-addressed D2FA
DFA implementation • 2007 ->minimize storage requirements -> scale to fast on-chip memory. • mCAM: modified content addressable memory • Interleaved memory banks • Data packing • 2008 • deltaFA for reducing state • State encoding scheme based on input character