A Parallel “String Matching Engine” for use in High Speed Network Intrusion Detection Systems

被引:0
作者
Gerald Tripp
机构
[1] University of Kent,The Computing Laboratory
来源
Journal in Computer Virology | 2006年 / 2卷 / 1期
关键词
Intrusion Detection; Finite State Machine; Intrusion Detection System; Search String; String Match;
D O I
10.1007/s11416-006-0010-4
中图分类号
学科分类号
摘要
This paper describes a finite state machine approach to string matching for an intrusion detection system. To obtain high performance, we typically need to be able to operate on input data that is several bytes wide. However, finite state machine designs become more complex when operating on large input data words, partly because of needing to match the starts and ends of a string that may occur part way through an input data word. Here we use finite state machines that each operate on only a single byte wide data input. We then provide a separate finite state machine for each byte wide data path from a multi-byte wide input data word. By splitting the search strings into multiple interleaved substrings and by combining the outputs from the individual finite state machines in an appropriate way we can perform string matching in parallel across multiple finite state machines. A hardware design for a parallel string matching engine has been generated, built for implementation in a Xilinx Field Programmable Gate Array and tested by simulation. The design is capable of operating at a search rate of 4.7 Gbps with a 32-bit input word size.
引用
收藏
页码:21 / 34
页数:13
相关论文
共 10 条
  • [1] Aho A.V.(1975)Efficient string matching: an aid to bibliographic search Commun ACM 18 333-340
  • [2] Corasick M.J.(1977)A fast string searching algorithm commun. assoc. comput. mach. 20 762-772
  • [3] Boyer R.S.(2001)ClassiPi: an architecture for fast and flexible packet classification IEEE Network 15 33-41
  • [4] Moore J.S.(1977)Fast pattern matching in strings SIAM J Comput 6 323-350
  • [5] Iyer S.(undefined)undefined undefined undefined undefined-undefined
  • [6] Rao Kompella R.(undefined)undefined undefined undefined undefined-undefined
  • [7] Shelat A.(undefined)undefined undefined undefined undefined-undefined
  • [8] Knuth D.E.(undefined)undefined undefined undefined undefined-undefined
  • [9] Morris J.H.(undefined)undefined undefined undefined undefined-undefined
  • [10] Pratt V.B.(undefined)undefined undefined undefined undefined-undefined