1 FPGA-based ROM-free network intrusion detection using shift-OR circuit Department of Computer Science and Information Engineering National Cheng Kung.

Slides:



Advertisements
Similar presentations
Massively Parallel Cuckoo Pattern Matching Applied For NIDS/NIPS  Author: Tran Ngoc Thinh, Surin Kittitornkun  Publisher: Electronic Design, Test and.
Advertisements

A Memory-Efficient Reconfigurable Aho-Corasick FSM Implementation for Intrusion Detection Systems Authors: Seongwook Youn and Dennis McLeod Presenter:
1 A simple fast hybrid pattern- matching algorithm Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Pipelined Parallel AC-based Approach for Multi-String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 An adaptable FPGA-based System for Regular Expression Matching Department of Computer Science and Information Engineering National Cheng Kung University,
Design of High Performance Pattern Matching Engine Through Compact Deterministic Finite Automata Department of Computer Science and Information Engineering.
1 ReCPU:a Parallel and Pipelined Architecture for Regular Expression Matching Department of Computer Science and Information Engineering National Cheng.
Scalable IPv6 Lookup/Update Design for High-Throughput Routers Authors: Chung-Ho Chen, Chao-Hsien Hsu, Chen -Chieh Wang Presenter: Yi-Sheng, Lin ( 林意勝.
Improved TCAM-based Pre-Filtering for Network Intrusion Detection Systems Department of Computer Science and Information Engineering National Cheng Kung.
Compact State Machines for High Performance Pattern Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 Multi-Core Architecture on FPGA for Large Dictionary String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 Accelerating Multi-Patterns Matching on Compressed HTTP Traffic Authors: Anat Bremler-Barr, Yaron Koral Presenter: Chia-Ming,Chang Date: Publisher/Conf.
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
An Efficient and Scalable Pattern Matching Scheme for Network Security Applications Department of Computer Science and Information Engineering National.
Pipelined Architecture For Multi-String Match Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
1 Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Department of Computer Science and Information Engineering National.
1 HEXA : Compact Data Structures for Faster Packet Processing Department of Computer Science and Information Engineering National Cheng Kung University,
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
 Author: Tsern-Huei Lee  Publisher: 2009 IEEE Transation on Computers  Presenter: Yuen-Shuo Li  Date: 2013/09/18 1.
Thopson NFA Presenter: Yuen-Shuo Li Date: 2014/5/7 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Packet Classification using Rule Caching Author: Nitesh B. Guinde, Roberto Rojas-Cessa, Sotirios G. Ziavras Publisher: IISA, 2013 Fourth International.
Sampling Techniques to Accelerate Pattern Matching in Network Intrusion Detection Systems Author: Domenico Ficara, Gianni Antichi, Andrea Di Pietro, Stefano.
Theory and Applications of GF(2 p ) Cellular Automata P. Pal Chaudhuri Department of CST Bengal Engineering College (DU) Shibpur, Howrah India (LOGIC ON.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
A Scalable Architecture For High- Throughput Regular-Expression Pattern Matching Authors : Benjamin C. Brodie, Ron K. Cytron, David E. Taylor Presenter.
A Regular Expression Matching Algorithm Using Transition Merging Department of Computer Science and Information Engineering National Cheng Kung University,
Optimization of Regular Expression Pattern Matching Circuits on FPGA Authors: Cheng-Hung Lin, Chih-Tsun Huang, Chang-Ping Jiang, and Shih-Chieh Chang Publisher:
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
1 Optimization of Regular Expression Pattern Matching Circuits on FPGA Department of Computer Science and Information Engineering National Cheng Kung University,
Deterministic Finite Automaton for Scalable Traffic Identification: the Power of Compressing by Range Authors: Rafael Antonello, Stenio Fernandes, Djamel.
Regular Expression Matching for Reconfigurable Packet Inspection Authors: Jo˜ao Bispo, Ioannis Sourdis, Jo˜ao M.P. Cardoso and Stamatis Vassiliadis Publisher:
A Pattern-Matching Scheme With High Throughput Performance and Low Memory Requirement Author: Tsern-Huei Lee, Nai-Lun Huang Publisher: TRANSACTIONS ON.
DBS A Bit-level Heuristic Packet Classification Algorithm for High Speed Network Author : Baohua Yang, Xiang Wang, Yibo Xue, Jun Li Publisher : th.
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.
Vector and symbolic processors
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
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.
Binary-tree-based high speed packet classification system on FPGA Author: Jingjiao Li*, Yong Chen*, Cholman HO**, Zhenlin Lu* Publisher: 2013 ICOIN Presenter:
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Range Enhanced Packet Classification Design on FPGA Author: Yeim-Kuan Chang, Chun-sheng Hsueh Publisher: IEEE Transactions on Emerging Topics in Computing.
Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Publisher : ANCS’ 06 Author : Fang Yu, Zhifeng Chen, Yanlei Diao, T.V.
GFlow: Towards GPU-based High- Performance Table Matching in OpenFlow Switches Author : Kun Qiu, Zhe Chen, Yang Chen, Jin Zhao, Xin Wang Publisher : Information.
1 DESIGN AND EVALUATION OF A PIPELINED FORWARDING ENGINE Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan.
LOP_RE: Range Encoding for Low Power Packet Classification Author: Xin He, Jorgen Peddersen and Sri Parameswaran Conference : IEEE 34th Conference on Local.
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
Range Hash for Regular Expression Pre-Filtering Publisher : ANCS’ 10 Author : Masanori Bando, N. Sertac Artan, Rihua Wei, Xiangyi Guo and H. Jonathan Chao.
Reorganized and Compact DFA for Efficient Regular Expression Matching
A DFA with Extended Character-Set for Fast Deep Packet Inspection
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
Data Encoding Characters.
Regular Expression Matching in Reconfigurable Hardware
Parallel Processing Priority Trie-based IP Lookup Approach
Scalable Memory-Less Architecture for String Matching With FPGAs
2019/1/3 Exscind: Fast Pattern Matching for Intrusion Detection Using Exclusion and Inclusion Filters Next Generation Web Services Practices (NWeSP) 2011.
Memory-Efficient Regular Expression Search Using State Merging
A New String Matching Algorithm Based on Logical Indexing
Compact DFA Structure for Multiple Regular Expressions Matching
2019/5/3 A De-compositional Approach to Regular Expression Matching for Network Security Applications Author: Eric Norige Alex Liu Presenter: Yi-Hsien.
Pipelined Architecture for Multi-String Matching
2019/5/14 New Shift table Algorithm For Multiple Variable Length String Pattern Matching Author: Punit Kanuga Presenter: Yi-Hsien Wu Conference: 2015.
Power-efficient range-match-based packet classification on FPGA
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
Design principles for packet parsers
2019/10/9 Regular Expression Matching for Reconfigurable Constraint Repetition Inspection Authors : Miad Faezipour and Mehrdad Nourani Publisher : IEEE.
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Presentation transcript:

1 FPGA-based ROM-free network intrusion detection using shift-OR circuit Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. Authors : Wen-Jyi Hwang, Huang-Chun Roan, Ying-Nan Shih, Chia-Tien Dan Lo and Chien-Min Ou Publisher : Journal of Embedded Computing Present : Chen- Rong Chang Date : November, 18, 2009

OUTLINE Preliminaries  shift-or algorithm The architecture  Basic module circuit  Module circuit based on bitmap encoder  High throughput module circuit Experimental results and comparisons 2

Shift-Or algorithm(1/3) 3 Cycle 0 : R0R R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. aabaab An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P S

Shift-Or algorithm(1/3) 4 Cycle 1 : R0R ScSc 100 Input a R1R1 R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) 5 Cycle 2 : R0R ScSc 100 Input a R1R1 ScSc 100 Input a R2R2 R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. match prefix “aa” of P An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P 6 Cycle 3 : R0R ScSc 100 Input a R1R1 ScSc 100 Input c R2R2 R2R2 ScSc R3R3 Input b R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. match match sub-pattern “aa” of P

Shift-Or algorithm(2/3)

Shift-Or algorithm(1/3) 8 Cycle 0 : R0R R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) 9 Cycle 1 : R0R ScSc 100 Input a R1R1 R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) 10 Cycle 2 : R0R ScSc 100 Input a R1R1 ScSc 111 Input c R2R2 R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) 11 Cycle 3 : R0R ScSc 100 Input a R1R1 ScSc 111 Input c R2R2 R2R2 ScSc R3R3 Input a R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) 12 Cycle 4 : R0R ScSc 100 Input a R1R1 ScSc 111 Input c R2R2 R2R2 ScSc R3R3 Input a ScSc R4R4 Input a R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Shift-Or algorithm(1/3) 13 Cycle 5 : R0R ScSc 100 Input a R1R1 ScSc 111 Input c R2R2 R2R2 ScSc R3R3 Input a ScSc R4R4 Input a 1000R4R4 ScSc R5R5 Input a match R j+1 [i] = ( R j [i] | S c [i] ) <<1, i=1,…,m. An example of shift-or algorithm with pattern P = aab and text T = aab, The bit vector S associated with each symbol s c ∈ Σ = {a, b, c } for the pattern P

Basic module circuit(1/2) The basic circuit of each module for exact pattern matching, (a) The block diagram of the circuit, (b) The shift register circuit during clock cycle j

Basic module circuit(1/2) The basic circuit of each module for exact pattern matching, (a) The block diagram of the circuit, (b) The shift register circuit during clock cycle j + 1. scsc abcde… i … … … Pattern: aabc =4 256 symbols 15

Basic module circuit(2/2) scsc abcother i Pattern: aabc 2 =4 Fig. 4. The augment of a symbol encoder for reducing the ROM size. In this example, each input character is assumed to be an ASCII code (8 bits). We uses only 4 symbols in the alphabet. The output of the symbol encoder therefore is 2 bits. 16

Module circuit based on bitmap encoder(1/5) Therefore, the ROM implemented by embedded memory bits may become the bottleneck of the systems’s throughput. In addition, the same ROM cannot be shared by different rules. The consumption of embedded memory bits will be high for the circuits containing large number of Snort rules. 17

Module circuit based on bitmap encoder(2/5) Fig. 7. The increase of a symbol encoder for reducing the bitmap encoder size. In this example, each input character is assumed to be an ASCII code (8 bits). We uses only 7 symbols in the alphabet. The output of the symbol encoder is 3 bits. 18

Module circuit based on bitmap encoder(3/5) Fig.5 A simple example of the proposed circuit for the pattern aadc and the total symbol a, b, c, d, (a)The architecture (b)Table of the pattern. 19

Module circuit based on bitmap encoder(4/5) Fig.6 An example of three patterns (aadc, bdd and ddac) share the same bitmap encoder, (a) The architecture (b) Table of three patterns 20

Module circuit based on bitmap encoder(5/5) The sharing of the same symbol encoder and bitmap encoder by three different Snort rules. Each character is also assumed to be an ASCII. All the Snort rules use the same alphabet comprised of 7 symbols. 21

High throughput module circuit scsc *aabcdother i Pattern: aabcd Payload: 123aabcd scsc aabcd*other i Bitmap Encoder 1 Bitmap Encoder

Experimental results and comparisons(1/3) The performance of the ROM-based and bitmap encoding circuit with q = 1 for various rule sets sizes ranging from 500 characters to 8000 characters (a) LE per character (b) Operating Frequency. 23

Experimental results and comparisons(2/3) 24

Experimental results and comparisons(3/3) 25

Shift-And Algorithm The shift-or algorithm is a tricky implementation of shift-and. The idea is to avoid using the “0 m -1”mask of formula in order to speed up the computation. R j+1 [i] = (R j [i]<<1 | 0 m-1 1) & S c [i], i=1,…,m. 26 Shift-and algorithm formula: R j+1 [i] = R j [i]<<1 | S c [i], i=1,…,m. Shift-or algorithm formula:

Shift-Or algorithm(1/3) Let R j be a bit vector containing information about all matches of the prefixes of P that end at j. The vector contains m + 1 elements Rj [i], i = 0,...,m, where Rj [i] = 0 if the first i characters of the pattern P match exactly the last i characters up to j in the text (i.e., p 1 p 2...p i = t j−i+1 t j−i+2... t j ). The transition from R j to R j+1 is performed by the recurrence: where the initial conditions for the recurrence are given by R 0 [i] = 1, i = 1,...,m, and R j [0] = 0, j = 0,...,m. The recurrence can be implemented by the simple shift and OR operations.

Shift-Or algorithm(2/3) Suppose P =p 1 p 2...p m is a pattern to be searched inside a large text (or source) T = t 1 t 2... t n, where n>>m. Every character of P and T belongs to the same alphabet Σ = {s 1,..., s |Σ| }. Let R j be a bit vector containing information about all matches of the prefixes of P that end at j. The formula shows in follow: 28 The initial value: R j = 1 m-1 0, EX: R j =