A study on the efficient method of constrained iterative regular expression pattern matching

제약 반복적인 정규표현식 패턴 매칭의 효율적인 방법에 관한 연구

  • Seo, Byung-Suk (Department of Information Security, Sangji University)
  • 서병석 (상지대학교 정보보안학과)
  • Received : 2022.09.12
  • Published : 2022.09.30

Abstract

Regular expression pattern matching is widely used in applications such as computer virus vaccine, NIDS and DNA sequencing analysis. Hardware-based pattern matching is used when high-performance processing is required due to time constraints. ReCPU, SMPU, and REMP, which are processor-based regular expression matching processors, have been proposed to solve the problem of the hardware-based method that requires resynthesis whenever a pattern is updated. However, these processor-based regular expression matching processors inefficiently handle repetitive operations of regular expressions. In this paper, we propose a new instruction set to improve the inefficient repetitive operations of ReCPU and SMPU. We propose REMPi, a regular expression matching processor that enables efficient iterative operations based on the REMP instruction set. REMPi improves the inefficient method of processing a particularly short sub-pattern as a repeat operation OR, and enables processing with a single instruction. In addition, by using a down counter and a counter stack, nested iterative operations are also efficiently processed. REMPi was described with Verilog and synthesized on Intel Stratix IV FPGA.

Keywords

References

  1. J. Friedl, Mastering Regular Expression, 3rd ed. OReilly Media, 2006.
  2. J. C. Bispo, I. Sourdis, J. M. Cardoso, and S. Vassiliadis, "Regular expression matching for reconfigurable packet inspection," in IEEE Int. Conf Field Programmable Technology (FPT'06), 2006.
  3. C.-H. Lin, C.-T. Huang, C.-P. Jiang, and S.-C. Chang, "Optimization of regular expression pattern matching circuits on FPGA," in Proc conf. Design, automation and test in Europe (DATE'06), 2006.
  4. R. Sidhu and V. Prasanna, "Fast regular expression matching using FPGAs," in IEEE Symp. Field-Programmable Custom Computing Machines (FCCM'01), 2001.
  5. M. Paolieri, I. Bonesana, and M. Santambrogio, "ReCPU: a parallel and pipelined architecture for regular expression matching," in Proc. IFIP Int. Conf. VLSI-SoC, 2007.
  6. I. Bonesana, M. Paolieri, and M. Santambrogio, "An adaptable FPGA-based system for regular expression matching," in Proc. Conf. Design, Automation and Test in Europe (DATE'08), 2008.
  7. Q. Li, J. Li, J. Wang, B. Zhao, and Y. Qu, “A pipelined processorarchitecture for regular expression string matching,” Microprocessorsand Microsystems, vol. 36, no. 6, pp. 520-526, Aug. 2012.
  8. B. Ahn, K. Lee, and S. Yun, “Regular expression matching processor supporting efficient repetitive operations,” Journal of KIISE: Computing Practices and Letters (in Korean), vol. 19, no. 11, pp. 553-558, Nov. 2013.
  9. Snort-Network Intrusion Detection & Prevention System, https://snort.org