2019/5/3 A De-compositional Approach to Regular Expression Matching for Network Security Applications Author: Eric Norige Alex Liu Presenter: Yi-Hsien.

Slides:



Advertisements
Similar presentations
Deep Packet Inspection with DFA-trees and Parametrized Language Overapproximation Author: Daniel Luchaup, Lorenzo De Carli, Somesh Jha, Eric Bach Publisher:
Advertisements

Optimizing Regular Expression Matching with SR-NFA on Multi-Core Systems Authors : Yang, Y.E., Prasanna, V.K. Yang, Y.E. Prasanna, V.K. Publisher : Parallel.
An Efficient Regular Expressions Compression Algorithm From A New Perspective Authors : Tingwen Liu,Yifu Yang,Yanbing Liu,Yong Sun,Li Guo Tingwen LiuYifu.
A hybrid finite automaton for practical deep packet inspection 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.
Improved TCAM-based Pre-Filtering for Network Intrusion Detection Systems Department of Computer Science and Information Engineering National Cheng Kung.
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.
1 Performance Improvement of Two-Dimensional Packet Classification by Filter Rephrasing Department of Computer Science and Information Engineering National.
1 Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Department of Computer Science and Information Engineering National.
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.
Sampling Techniques to Accelerate Pattern Matching in Network Intrusion Detection Systems Author: Domenico Ficara, Gianni Antichi, Andrea Di Pietro, Stefano.
Leveraging Traffic Repetitions for High- Speed Deep Packet Inspection Author: Anat Bremler-Barr, Shimrit Tzur David, Yotam Harchol, David Hay Publisher:
SI-DFA: Sub-expression Integrated Deterministic Finite Automata for Deep Packet Inspection Authors: Ayesha Khalid, Rajat Sen†, Anupam Chattopadhyay Publisher:
A Regular Expression Matching Algorithm Using Transition Merging Department of Computer Science and Information Engineering National Cheng Kung University,
EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.
Pattern-Based DFA for Memory- Efficient and Scalable Multiple Regular Expression Matching Author: Junchen Jiang, Yang Xu, Tian Pan, Yi Tang, Bin Liu Publisher: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:
1 Optimization of Regular Expression Pattern Matching Circuits on FPGA Department of Computer Science and Information Engineering National Cheng Kung University,
Regular Expression Matching for Reconfigurable Packet Inspection Authors: Jo˜ao Bispo, Ioannis Sourdis, Jo˜ao M.P. Cardoso and Stamatis Vassiliadis Publisher:
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
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.
LaFA Lookahead Finite Automata Scalable Regular Expression Detection Authors : Masanori Bando, N. Sertac Artan, H. Jonathan Chao Masanori Bando N. Sertac.
Packet Classification Using Dynamically Generated Decision Trees
LOP_RE: Range Encoding for Low Power Packet Classification Author: Xin He, Jorgen Peddersen and Sri Parameswaran Conference : IEEE 34th Conference on Local.
SRD-DFA Achieving Sub-Rule Distinguishing with Extended DFA Structure Author: Gao Xia, Xiaofei Wang, Bin Liu Publisher: IEEE DASC (International Conference.
Series DFA for Memory- Efficient Regular Expression Matching Author: Tingwen Liu, Yong Sun, Li Guo, and Binxing Fang Publisher: CIAA 2012( International.
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
JA-trie: Entropy-Based Packet Classification Author: Gianni Antichi, Christian Callegari, Andrew W. Moore, Stefano Giordano, Enrico Anastasi Conference.
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
Reorganized and Compact DFA for Efficient Regular Expression Matching
2018/4/23 Dynamic Load-balanced Path Optimization in SDN-based Data Center Networks Author: Yuan-Liang Lan , Kuochen Wang and Yi-Huai Hsu Presenter: Yi-Hsien.
2018/4/27 PiDFA : A Practical Multi-stride Regular Expression Matching Engine Based On FPGA Author: Jiajia Yang, Lei Jiang, Qiu Tang, Qiong Dai, Jianlong.
2018/5/8 An approach for detecting encrypted insider attacks on OpenFlow SDN Networks Author: Charles V. Neu , Avelino F. Zorzox , Alex M. S. Orozcoy and.
2018/5/13 CoSwitch: A Cooperative Switching Design for Software Defined Data Center Networking Author: Yue ZhangKai ,Zheng, Chengchen Hu, Kai Chen, Yi.
A DFA with Extended Character-Set for Fast Deep Packet Inspection
2018/6/5 Centralized Retransmission Management with SDN in Multihop Wireless Access Network Author: Bong-Hwan Oh , Jaiyoung Lee Presenter: Yi-Hsien Wu.
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
Regular Expression Matching in Reconfigurable Hardware
Statistical Optimal Hash-based Longest Prefix Match
2018/11/19 Source Routing with Protocol-oblivious Forwarding to Enable Efficient e-Health Data Transfer Author: Shengru Li, Daoyun Hu, Wenjian Fang and.
SigMatch Fast and Scalable Multi-Pattern Matching
Parallel Processing Priority Trie-based IP Lookup Approach
2018/12/29 A Novel Approach for Prefix Minimization using Ternary trie (PMTT) for Packet Classification Author: Sanchita Saha Ray, Abhishek Chatterjee,
Binary Prefix Search Author: Yeim-Kuan Chang
2019/1/1 High Performance Intrusion Detection Using HTTP-Based Payload Aggregation 2017 IEEE 42nd Conference on Local Computer Networks (LCN) Author: Felix.
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
Virtual TCAM for Data Center Switches
Scalable Multi-Match Packet Classification Using TCAM and SRAM
A New String Matching Algorithm Based on Logical Indexing
Compact DFA Structure for Multiple Regular Expressions Matching
2019/5/5 A Flexible Wildcard-Pattern Matching Accelerator via Simultaneous Discrete Finite Automata Author: Hsiang-Jen Tsai, Chien-Chih Chen, Yin-Chi Peng,
2019/5/8 BitCoding Network Traffic Classification Through Encoded Bit Level Signatures Author: Neminath Hubballi, Mayank Swarnkar Publisher/Conference:
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.
QoS Constrained Path Optimization Algorithm in NFV/SDN Environment
OpenSec:Policy-Based Security Using Software-Defined Networking
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
A Hybrid IP Lookup Architecture with Fast Updates
An Improved Wu-Manber Multiple Patterns Matching Algorithm
2019/9/3 Adaptive Hashing Based Multiple Variable Length Pattern Search Algorithm for Large Data Sets 比對 Simple Pattern 的方法是基於 Hash 並且可以比對不同長度的 Pattern。
2019/10/9 Regular Expression Matching for Reconfigurable Constraint Repetition Inspection Authors : Miad Faezipour and Mehrdad Nourani Publisher : IEEE.
Packet Classification Using Binary Content Addressable Memory
2019/11/12 Efficient Measurement on Programmable Switches Using Probabilistic Recirculation Presenter:Hung-Yen Wang Authors:Ran Ben Basat, Xiaoqi Chen,
Presentation transcript:

2019/5/3 A De-compositional Approach to Regular Expression Matching for Network Security Applications Author: Eric Norige Alex Liu Presenter: Yi-Hsien Wu Conference : 2016 IEEE 36th International Conference on Distributed Computing Systems Date: 2017/12/27 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. CSIE CIAL Lab 1

Outline Introduction Proposed Scheme Results and Analysis Conclusion National Cheng Kung University CSIE Computer & Internet Architecture Lab

2019/5/3 Introduction The category of DPI with the best cost-vs-accuracy tradeoff is regular expression (regex) matching, because it is simple enough for efficient implementation but complex enough to precisely specify attack patterns. A major benefit of regex matching for security applications is the availability of offline pre-processing that greatly speeds online matching of packets. 近期因為ruleset size快速成長,因此ruleset複雜度造成一般封包分類方法memory表現很差 Swintop是一種將ruleset去分類的方式 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Proposed Scheme We propose Stateful Match Filtering, a de-compositional approach to matching regular expressions. The core idea is that by decomposing a complex pattern into simpler patterns we can post-process the matches of the simpler pattern to get the match results of the complex pattern. National Cheng Kung University CSIE Computer & Internet Architecture Lab

2019/5/3 Proposed Scheme Examples : R1 matches on the “emacs”, on the second “gnu”, and on the “xyz”, while R2 matches at those positions and at a number of other positions. Because the matches for R2 are a superset of the matches for R1, by filtering the extra matches we could use the DFA for R2 to match the patterns in R1. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Proposed Scheme (Components) A stateful filter is shown in Table III. Each match-id that arrives at the filter triggers a very simple program that can examine and modify a few bits and decide whether to match. 1. The filter engine first runs action 4 and sets bit 0. 2. It takes action 1, tests that bit 0 is set, and since it is, reports a match. 3. It then takes action 2, which tests if bit 1 is set. Since the filter’s memory is initialized to 0, bit 1 is not set, so it does not match at this point. 4. Next, Action 5 sets bit 10 . 5. Then action 2 again tests bit 1 and allows the match this time. 6. Finally, action 6 sets bit 2. 7. Action 7 checks that bit 2 is set and sets bit 3. 8. Action 3 checks bit 3 to allow the final match. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Proposed Scheme The packet payloads are sent to the DFA engine, which reads from the Character DFA and sends match events to the Filter Engine. When a match-id arrives at the Filter Engine, it looks up the corresponding action, runs that action to update its state and potentially permits a match to pass through it. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Proposed Scheme Regex Splitting Details : We use the notation {{x}} as part of a regular expression to indicate that when the prefix of the regular expression before the annotation has been matched, match-id x should be reported. For example, A{{1}}|B{{1}} can refer to any regular expression for which matching either A or B results in match id 1, also written (A|B){{1}}. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Proposed Scheme Dot Star A common pattern in security regular expressions is .*A.*B{{1}}, which we call dot-star. This pattern is capable of causing a multiplicative increase in the number of DFA states , because all DFA states that can be active before starting the match of A must have a corresponding distinct state that can become active after matching A, doubling the number of states needed. We will de-compose this pattern into .*A{{1a}}|.*B{{1}} Adding this decomposed pattern to a pattern set will cause only an additive increase in the number of DFA states, instead of the multiplicative increase caused by the original dot-star pattern. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Proposed Scheme First, both match ids 1a and match id 1 must be filtered Id 1a : cannot be reported, but must set a bit flag . Id 1 : must be reported only when that bit is set. If we choose to use bit 0 of memory for this filter, we can write the filters compactly as: 1a: Set 0, 1: Test 0 to Match. Second, in order to de-compose .*A.*B{{1}}, no suffix of A can be a prefix of B. For example, if this rule is used to de-compose .*abc.*bcd{{1}} into .*abc{{1a}}|.*bcd{{1}} as above, the result will incorrectly report a match on input “abcd”. This problem occurs because the de-composed patterns allow overlap, where B begins matching before A finishes matching. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Proposed Scheme This de-composition step can be used multiple times on a single regex: .*A.*B.*C{{1}} can be de-composed twice, resulting in .*A{{1a}}|.*B{{1b}}|.*C{{1}} with two memory bits used for filtering. In this case, the match filters are : 1a: Set 0 . 1b: Test 0 to Set 1. 1: Test 1 to Match. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Proposed Scheme Almost Dot Star For IDS pattern sets, an even more common pattern than dot-star is almost-dot-star: .*A[ˆX]*B{{1}}. This pattern can be de-composed to .*A{{1a}}|.*[X]{{1b}}|.*B{{1}}. The match filters are, 1a: Set 0, 1b: Clear 0, 1: Test 0 to Match. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Results and Analysis We present comparison results of Match Filtering Automata (MFA) with DFA, NFA, HFA , and XFA . The patterns we use come from various security applications, and have the number of regular expressions, NFA states and DFA states summarized in Table V. S-patterns and B-patterns come from Snort and Bro. The C-patterns come from a major networking vendor and are proprietary. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Results and Analysis National Cheng Kung University CSIE Computer & Internet Architecture Lab

Results and Analysis National Cheng Kung University CSIE Computer & Internet Architecture Lab

Results and Analysis Each point represents a single pattern on a single trace using a single algorithm. So each algorithm gets its own point shape. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Conclusion The methods presented here are effective at dealing with state space explosion while still being automatically generable, and without producing an overly complex automaton that performs slowly. Further work can still be done to add more patterns that can be de-composed. While it is not a silver bullet for all possible regular expressions, this approach will only become more powerful as additional effort is put into implementing efficient de-compositions and filters to efficiently match commonly used patterns. National Cheng Kung University CSIE Computer & Internet Architecture Lab