초록
최근의 네트워크 침입탐지 시스템에서는 침입이 의심되는 패킷을 나타내는 데 정규표현식이 사용되고 있다. 고속 네트워크를 통해서 입력되는 패킷을 실시간으로 검사하기 위해서는 하드웨어 기반 패턴 매칭이 필수적이며 변화되는 패턴 규칙을 다루기 위해서는 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.