DOI QR코드

DOI QR Code

FPGA를 이용한 효율적 정규표현매칭

Efficient Regular Expression Matching Using FPGA

  • 이장행 (조지아공대 컴퓨터공학과) ;
  • 이성원 (광운대학교 컴퓨터공학과) ;
  • 박능수 (건국대학교 컴퓨터공학부)
  • 발행 : 2009.10.31

초록

Network Intrusion Detection System(NIDS)는 네트워크를 통해 들어오는 패킷들을 모니터링 하고 분석하여 내부 시스템에 유해한 내용을 담고 있는 패킷을 탐지 하는 시스템이다. 이 시스템은 네트워크의 패킷을 놓치지 않고 분석할 수 있어야 하며, 예측 불허의 공격 방법들에 대해서는 새로운 법칙을 적용하여 방어할 수 있어야 한다. 이에 대응하여, 소프트웨어적 처리에 비해 높은 비교 성능과 재구성이 가능한 유연성을 제공하는 FPGA는 좋은 해결책이다. 그럼에도 불구하고, 고속 네트워크의 등장과 축적되는 공격 패턴들의 증가는 제한된 속도와 공간을 가지고 있는 FPGA에게 부담이 된다. 본 연구는 추가적인 자원 사용을 최소화하고 성능의 극대화를 가져오는 방식으로 접두어 공유 병렬 패턴매치 기법을 제시하고 설계하였다. 실험을 통하여 입력 문자열을 8bit에서 16bit로 증가할 때 성능이 두 배 향상이 되면서 구현을 위해 사용되는 자원은 평균 1.07배 증가하는 것을 확인할 수 있다.

Network intrusion detection system (NIDS) monitors all incoming packets in the network and detects packets that are malicious to internal system. The NIDS should also have ability to update detection rules because new attack patterns are unpredictable. Incorporating FPGAs into the NIDS is one of the best solutions that can provide both high performance and high flexibility comparing with other approaches such as software solutions. In this paper we propose and design a novel approach, prefix sharing parallel pattern matcher, that can not only minimize additional resources but also maximize the processing performance. Experimental results showed that the throughput for 16-bit input is twice larger than for 8-bit input but the used LEs/Char in FPGA increases only 1.07 times.

키워드

참고문헌

  1. Ioannis Sourdis and Dionisios Pnevmatikatos, Pre-decoded CAMs for Efficient and High-Speed NIDS Pattern Matching, In Proceedings of the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 258-267, April, 2004
  2. James Moscola, John Lockwood, Ronald P. Loui, and Michae Pachos, Implementation of a Content-Scanning Module for an Internet Firewall, In Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machine, Apr., 2003.
  3. Y.Cho and W. Mangione-Smith, Deep Packet Filter with Dedicated Logic and Read Only Memories, In Proceedings of the 12th Annual IEEE Symposiumon Field-Programmable Custom Computing Machines, Apr., 2004. https://doi.org/10.1109/FCCM.2004.25
  4. Martin Roesch and Chris Green, Snort User's Manual. http://www.snort.org/docs/writing_rules
  5. R. Sidhu and V.K. Prasanna, Fast Regular Expression Matching using FPGA, In Proceedings of IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01), Apr., 2001
  6. Christopher R. Clark and David E. Schimmel, Design of Efficient FPGA Circuits for Matching Complex Patterns in Network Intrusion Detection Systems. In Proceedings of the 13th International Conference on Field Programmable Logic and Applications, June, 2003.
  7. Christopher R. Clark and David E. Schimmel, Scalable Pattern Matching for High Speed Networks, In Proceedings of the 12th Annual IEEE Symposiumon Field-Programmable Custom Computing Machines, Apr., .2004. https://doi.org/10.1109/FCCM.2004.50