FPGA-accelerated algorithm for the regular expression matching system

This article describes an algorithm to support a regular expressions matching system. The goal was to achieve an attractive performance system with low energy consumption. The basic idea of the algorithm comes from a concept of the Bloom filter. It starts from the extraction of static sub-strings for strings of regular expressions. The algorithm is devised to gain from its decomposition into parts which are intended to be executed by custom hardware and the central processing unit (CPU). The pipelined custom processor architecture is proposed and a software algorithm explained accordingly. The software part of the algorithm was coded in C and runs on a processor from the ARM family. The hardware architecture was described in VHDL and implemented in field programmable gate array (FPGA). The performance results and required resources of the above experiments are given. An example of target application for the presented solution is computer and network security systems. The idea was tested on nearly 100,000 body-based viruses from the ClamAV virus database. The solution is intended for the emerging technology of clusters of low-energy computing nodes.

[1]  Cheng-Hung Lin,et al.  Optimization of Regular Expression Pattern Matching Circuits on FPGA , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[2]  Guy Lemieux,et al.  PERG: A scalable FPGA-based pattern-matching engine with consolidated Bloomier filters , 2008, 2008 International Conference on Field-Programmable Technology.

[3]  Kazimierz Wiatr,et al.  The Enhancement of a Computer System for Sorting Capabilities Using FPGA Custom Architecture , 2013, Comput. Informatics.

[4]  Patrick Crowley,et al.  Algorithms to accelerate multiple regular expressions matching for deep packet inspection , 2006, SIGCOMM.

[5]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[6]  Guy Lemieux,et al.  PERG-Rx: a hardware pattern-matching engine supporting limited regular expressions , 2009, FPGA '09.

[7]  Stamatis Vassiliadis,et al.  Regular Expression Matching in Reconfigurable Hardware , 2008, J. Signal Process. Syst..

[8]  Viktor K. Prasanna,et al.  Fast Regular Expression Matching Using FPGAs , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[9]  Christopher R. Clark,et al.  An FPGA-based network intrusion detection system with on-chip network interfaces , 2006 .

[10]  John W. Lockwood,et al.  Fast and Scalable Pattern Matching for Network Intrusion Detection Systems , 2006, IEEE Journal on Selected Areas in Communications.

[11]  Yousef Bakhdlaghi Analyzing the effectiveness of snort network intrusion detection system (NIDS) against evasion techniques , 2013 .

[12]  Yeim-Kuan Chang,et al.  The Cost Effective Pre-processing Based NFA Pattern Matching Architecture for NIDS , 2010, 2010 24th IEEE International Conference on Advanced Information Networking and Applications.

[13]  João M. P. Cardoso,et al.  Synthesis of regular expressions for FPGAs , 2008 .

[14]  Maciej Wielgosz,et al.  The implementation of the customized, parallel architecture for a fast word-match program , 2011, Comput. Syst. Sci. Eng..

[15]  Lennart Ljung,et al.  Comparing different approaches to model error modeling in robust identification , 2002, Autom..

[16]  John W. Lockwood,et al.  Deep packet inspection using parallel bloom filters , 2004, IEEE Micro.

[17]  José Hernández Palancar,et al.  String alignment pre-detection using unique subsequences for FPGA-based network intrusion detection , 2012, Comput. Commun..

[18]  Viktor K. Prasanna,et al.  Compact architecture for high-throughput regular expression matching on FPGA , 2008, ANCS '08.

[19]  John W. Lockwood,et al.  Internet Worm and Virus Protection in Dynamically Reconfigurable Hardware , 2003 .

[20]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[21]  Brad L. Hutchings,et al.  Assisting network intrusion detection with reconfigurable hardware , 2002, Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[22]  H. Jonathan Chao,et al.  Scalable Lookahead Regular Expression Detection System for Deep Packet Inspection , 2012, IEEE/ACM Transactions on Networking.