NIDS를 위한 다중바이트 기반 정규표현식 패턴매칭 하드웨어 구조

A Hardware Architecture of Multibyte-based Regular Expression Pattern Matching for NIDS

  • 윤상균 (연세대학교 컴퓨터정보통신공학부) ;
  • 이규희 (연세대학교 컴퓨터정보통신공학부)
  • 발행 : 2009.01.31

초록

최근의 네트워크 침입탐지 시스템에서는 침입이 의심되는 패킷을 나타내는 데 정규표현식이 사용되고 있다. 고속 네트워크를 통해서 입력되는 패킷을 실시간으로 검사하기 위해서는 하드웨어 기반 패턴 매칭이 필수적이며 변화되는 패턴 규칙을 다루기 위해서는 FPGA와 같은 재구성 가능한 디바이스를 사용하는 것이 바람직하다. FPGA의 동작 속도 제한으로 바이트 단위의 패킷 검사로는 실시간 검사를 할 수 없는 경우에 이를 해결하기 위해서 여러 바이트 단위로 검사하는 것이 필요하다. 본 논문에서는 정규표현식 패턴 매칭을 n바이트 단위로 처리하는 하드웨어의 구조와 설계 방법을 제시하고 이에 대한 패턴 매칭 회로 생성기를 구현한다. Snort 규칙에 대해 FPGA로 합성된 하드웨어는 n=4일 때에 규칙에 따라서 $2.62{\sim}3.4$배의 처리 속도 향상을 보였다.

In recent network intrusion detection systems, regular expressions are used to represent malicious packets. In order to process incoming packets through high speed networks in real time, we should perform hardware-based pattern matching using the configurable device such as FPGAs. However, operating speed of FPGAs is slower than giga-bit speed network and so, multi-byte processing per clock cycle may be needed. In this paper, we propose a hardware architecture of multi-byte based regular expression pattern matching and implement the pattern matching circuit generator. The throughput improvements in four-byte based pattern matching circuit synthesized in FPGA for several Snort rules are $2.62{\sim}3.4$ times.

키워드

참고문헌

  1. Snort web site, http://www.snort.org
  2. Bros Intrusion Detection System, http://bro-ids.org
  3. Bleeding Edge Threats, http://bleedingthreats.net
  4. R. Sidhu and V.K. Prasanna, 'Fast Regular Expression Matching using FPGAs', IEEE Symp. on Field-Programmable Custom Computing Machines, 2001, pp.227-238
  5. B. L. Hutchings, R. Franklin, and D. Carver, 'Assisting network intrusion detection with reconfigurable hardware', IEEE Symp. on Field-Programmable Custom Computing Machines, 2002, pp.111-120
  6. C.-H. Lin, C.-T. Huang, C.-P. Jiang, and S.-C. Chang, 'Optimization of regular expression pattern matching circuits on FPGA', Conf. on Design, Automation and Test in Europe (DATE06), 2006, pp.12-17
  7. B.C. Brodie, D.E. Taylor, and R.K. Cytron, 'A scalable architecture for high-throughput regular-expression pattern matching', Comput. Architecture News, Vol.34, No.2, 2006, pp.191-202 https://doi.org/10.1145/1150019.1136500
  8. J. Bispo, I. Sourdis, J. Cardoso, and S. Vassiliadis, 'Regular expression matching for reconfigurable packet inspection', IEEE Conf. Field Programmable Tech. (FPT06), 2006, pp.119-126
  9. C.-H. Lin, C.-T. Huang, C.-P. Jiang, and S.-C. Chang, "Optimization of pattern matching circuits for regular expression on FPGA", IEEE Trans. VLSI Systems, Vol.15, No.12 Dec. 2007, pp.1303-1310 https://doi.org/10.1109/TVLSI.2007.909801
  10. J. Lee, S.H. Hwang, N. Park, S.W. Lee, S. Jun, and Y.S. Kim, 'A high performance NIDS using FPGA-based regular expression matching', Symp. Applied Computing (SAC2007), 2007, pp.1187-1191
  11. C.R. Clark and D.E. Schimmel, 'Scalable parallel pattern matching on high speed networks', IEEE Symp. on Field-Programmable Custom Computing Machines, 2004. pp.249-257
  12. I. Sourdis and D. Pnevmatikatos, 'Pre-decoded CAMs for Efficient and High-Speed NIDS Pattern Matching', IEEE Symp. on Field- Programmable Custom Computing Machines, 2004, pp.258-267
  13. PCRE-Perl Compatible Regular Expressions, http://www.pcre.org