A Fast String Matching Scheme without using Buffer for Linux Netfilter based Internet Worm Detection


The KIPS Transactions:PartC, Vol. 13, No. 7, pp. 821-830, Dec. 2006
10.3745/KIPSTC.2006.13.7.821,   PDF Download:

Abstract

As internet worms are spread out worldwide, the detection and filtering of worms becomes one of hot issues in the internet security. As one of implementation methods to detect worms, the Linux Netfilter kernel module can be used. Its basic operation for worm detection is a string matching where coming packet(s) on the network is/are compared with predefined worm signatures(patterns). A worm can appear in a packet or in two (or more) succeeding packets where some part of worm is in the first packet and its remaining part is in its succeeding packet(s). Assuming that the maximum length of a worm pattern is less than 1024 bytes, we need to perform a string matching up to two succeeding packets of 2048 bytes. To do so, Linux Netfilter keeps the previous packet in buffer and performs matching with a combined 2048 byte string of the buffered packet and current packet. As the number of concurrent connections to be handled in the worm detection system increases, the total size of buffer (memory) increases and string matching speed becomes low. In this paper, to reduce the memory buffer size and get higher speed of string matching, we propose a string matching scheme without using buffer. The proposed scheme keeps the partial matching result of the previous packet with signatures and has no buffering for previous packet. The partial matching information is used to detect a worm in the two succeeding packets. We implemented the proposed scheme by modifying the Linux Netfilter. Then we compared the modified Linux Netfilter module with the original Linux Netfilter module. Experimental results show that the proposed scheme has 25% lower memory usage and 54% higher speed compared to the original scheme.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
H. K. Kwak and K. S. Chung, "A Fast String Matching Scheme without using Buffer for Linux Netfilter based Internet Worm Detection," The KIPS Transactions:PartC, vol. 13, no. 7, pp. 821-830, 2006. DOI: 10.3745/KIPSTC.2006.13.7.821.

[ACM Style]
Hu Keun Kwak and Kyu Sik Chung. 2006. A Fast String Matching Scheme without using Buffer for Linux Netfilter based Internet Worm Detection. The KIPS Transactions:PartC, 13, 7, (2006), 821-830. DOI: 10.3745/KIPSTC.2006.13.7.821.