A multiple string matching algorithm based on memory optimization

被引:0
|
作者
Liu, Yanbing [1 ,2 ]
Liu, Ping [1 ]
Tan, Jianlong [1 ]
Guo, Li [1 ]
机构
[1] Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China
[2] Graduate University of Chinese Academy of Sciences, Beijing 100049, China
关键词
Intrusion detection - Trees (mathematics) - Automata theory - Cache memory - Computer viruses - Computer system firewalls - Network security - Pattern matching - Speed - Forestry;
D O I
暂无
中图分类号
学科分类号
摘要
Multiple string matching algorithms play a fundamental role in many network security systems, such as intrusion detection and prevention systems, anti-virus systems, anti-spam systems, firewall, etc. It has been observed that the memory space usage and cache locality of automata are critical factors affecting multiple string matching algorithms' searching speed. As the pattern set size grows larger and larger, classical multiple string matching algorithms suffer from great performance degradation because of the massive storage usage of string matching automata. The authors propose optimization strategies for the classical string matching algorithm SBOM to reduce its automata size and improve its cache locality, which results in a great promotion in searching speed. More specifically, the Factor Oracle of SBOM algorithm is first replaced with a suffix tree structure, and then the rarely accessed automata nodes are removed through the pruning method to reduce suffix tree to nearly linear space complexity, and finally the pruned suffix tree is represented with double-array trie structure to compress its memory space. Compared with SBOM, this algorithm can greatly reduce memory usage and improve searching speed. Experiments on random data sets show that the proposed algorithm uses memory less than 5% of SBOM and achieves 100% performance improvement over SBOM algorithm. The proposed algorithm is especially suitable for high-speed online pattern matching.
引用
收藏
页码:1768 / 1776
相关论文
共 50 条
  • [1] A Lightweight Multiple String Matching Algorithm
    Dai, Liuling
    Xia, Yuning
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, 2008, : 611 - +
  • [2] An aggressive algorithm for multiple string matching
    Dai, Liuling
    INFORMATION PROCESSING LETTERS, 2009, 109 (11) : 553 - 559
  • [3] Clustering Oriented Hashing Based Multiple String Pattern Matching Algorithm
    Kanuga, Punit
    2015 INTERNATIONAL CONFERENCED ON CIRCUITS, POWER AND COMPUTING TECHNOLOGIES (ICCPCT-2015), 2015,
  • [4] A Factor-searching-based Multiple String Matching Algorithm for Intrusion Detection
    Liu, Yanbing
    Liu, Qingyun
    Liu, Ping
    Tan, Jianlong
    Guo, Li
    2014 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC), 2014, : 653 - 658
  • [5] Fast multiple pattern algorithm for Chinese string matching
    Shen, Zhou
    Wang, Yong-Cheng
    Xu, Yi-Zhen
    Shanghai Jiaotong Daxue Xuebao/Journal of Shanghai Jiaotong University, 2001, 35 (09): : 1285 - 1289
  • [7] Parallel optimization of string mode matching algorithm based on multi-core computing
    Chen, Zhanlong
    Wu, Liang
    Ma, Jiongyu
    Zheng, Kuo
    Journal of Software Engineering, 2015, 9 (02): : 383 - 391
  • [8] Optimal shift-or string matching algorithm for multiple patterns
    Prasad, Rajesh
    Agarwal, Suneeta
    WCECS 2007: WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE, 2007, : 263 - +
  • [9] HashTrie: A space-efficient multiple string matching algorithm
    2015, Editorial Board of Journal on Communications (36):