Realizing a sub-linear time string-matching algorithm with a hardware accelerator using bloom filters

  • Authors:
  • Po-Ching Lin;Yin-Dar Lin;Yuan-Cheng Lai;Yi-Jun Zheng;Tsern-Huei Lee

  • Affiliations:
  • Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan;Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan;Department of Information Management, National Taiwan University of Science and Technology, Taipei, Taiwan;Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan;Department of Communication Engineering, National Chiao Tung University, Hsinchu, Taiwan

  • Venue:
  • IEEE Transactions on Very Large Scale Integration (VLSI) Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

Many network security applications rely on string matching to detect intrusions, viruses, spam, and so on. Since software implementation may not keep pace with the high-speed demand, turning to hardware-based solutions becomes promising. This work presents an innovative architecture to realize string matching in sub-linear time based on algorithmic heuristics, which come from parallel queries to a set of space-efficient Bloom filters. The algorithm allows skipping characters not in a match in the text, and in turn simultaneously inspect multiple characters in effect. The techniques to reduce the impact of certain bad situations on performance are also proposed: the bad-block heuristic, a linear worst-case time method and a non-blocking interface to hand over the verification job to a verification module. This architecture is simulated with both behavior simulation in C and timing simulation in HDL for antivirus applications. The simulation shows that the throughput of scanning Windows executable files for more than 10 000 virus signatures can achieve 5.64 Gb/s, while the worst-case performance is 1.2 Gb/s if the signatures are properly specified.