Network Intrusion Detection and Prevention Systems (IDPS) use string matching to scan Internet packets for malicious content. Bloom filters offer a mechanism to search for a large number of strings efficiently and concurrently when implemented with Field Programmable Gate Array (FPGA) technology. A string matching circuit has been implemented within the FPX platform using Bloom filters. Using 155 block RAMs on a single Xilinx VirtexE 2000 FPGA, the circuit scans for 35,475 unique signatures. 1 Architecture By using Bloom filters [1], an IDPS can be implemented that scans for tens of thousands of strings at Gigabit per second rates, all within a single FPGA. We have built a system with Bloom filters that scans Internet traffic [2]. An overview of our string matching architecture is shown in
Michael Attig, Sarang Dharmapurikar, John W. Lockw