optimization of regular expression pattern matching circuits on fpga
DESCRIPTION
Optimization of Regular Expression Pattern Matching Circuits on FPGA. Authors : Cheng-Hung Lin, Chih-Tsun Huang, Chang-Ping Jiang, and Shih-Chieh Chang Publisher : Design,Automation and Test in Europe,2006.DATE’06 Proceedings Present: Kia-Tso Chang Date: November 15 2007. 1. outline. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/1.jpg)
11
Optimization of Regular Expression Pattern Matching
Circuits on FPGA
Authors: Cheng-Hung Lin, Chih-Tsun Huang, Chang-Ping Jiang, and Shih-Chieh Chang
Publisher: Design,Automation and Test in Europe,2006.DATE’06 Proceedings
Present: Kia-Tso Chang
Date: November 15 2007
![Page 2: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/2.jpg)
2
outline
Introduction Implementation of NFA Sharing prefix common sub-patterns Sharing scheme for infix and postfix
![Page 3: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/3.jpg)
3
Introduction
3
In contrast to software-only NIDS, many studies proposed hardware architectures for accelerating attack detectionSidhu and Prasanna [1] proposed to construct an NFA (Nondeterministic Finite Automaton) from a regular expression to perform string matching. Hutchings, Franklin and Carver [2] developed amodule generator that combined common prefixes to reduce FPGA area.
![Page 4: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/4.jpg)
4
Simple NFA and implementation in logic
4
![Page 5: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/5.jpg)
5
Regular expressions
Regular expressions are a common way to express attack patterns.
1. The first type defines exact string patterns such as pattern, "Ahhhh My Mouth Is Open.”
2. The second type consists of meta-characters
![Page 6: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/6.jpg)
6
Sharing prefix common sub-patterns
![Page 7: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/7.jpg)
7
An erroneous implementation to share infix Dir
![Page 8: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/8.jpg)
8
Sharing scheme for infix and postfix
![Page 9: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/9.jpg)
9
An example of constraint 1
Abcdefgh
defpq
![Page 10: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/10.jpg)
10
An example of constraint 2
10
abcdefgh
dedefpq
![Page 11: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/11.jpg)
11
sharing gain
The sharing gain of a common sub-pattern is defined to be the number of characters in the sub-pattern multiplies by the number of regular expressions having the sub-pattern. For example, three regular expressions, “1Common1”, “2Common2”, and “3Common3” have the common sub-pattern “Common.” The sharing gain of the common sub-pattern is 18=6*3
![Page 12: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/12.jpg)
12
Flow of regular expression modulegeneration
12
![Page 13: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/13.jpg)
13
Logical structures for the proposedmeta-character components
![Page 14: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/14.jpg)
14
Logical structures for the proposedmeta-character components
![Page 15: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/15.jpg)
15
Implementation of NFA
![Page 16: Optimization of Regular Expression Pattern Matching Circuits on FPGA](https://reader035.vdocuments.us/reader035/viewer/2022062314/56813434550346895d9b23ef/html5/thumbnails/16.jpg)
16
The comparison among different approaches on Snort rule sets