skip to main content
10.1145/1185347.1185359acmconferencesArticle/Chapter ViewAbstractPublication PagesancsConference Proceedingsconference-collections
Article

Advanced algorithms for fast and scalable deep packet inspection

Published:03 December 2006Publication History

ABSTRACT

Modern deep packet inspection systems use regular expressions to define various patterns of interest in network data streams. Deterministic Finite Automata (DFA) are commonly used to parse regular expressions. DFAs are fast, but can require prohibitively large amounts of memory for patterns arising in network applications. Traditional DFA table compression only slightly reduces the memory required and requires an additional memory access per input character. Alternative representations of regular expressions, such as NFAs and Delayed Input DFAs (D2FA) require less memory but sacrifice throughput. In this paper we introduce the Content Addressed Delayed Input DFA (CD2FA), which provides a compact representation of regular expressions that match the throughput of traditional uncompressed DFAs. A CD2FA addresses successive states of a D2FA using their content, rather than a "content-less" identifier. This makes selected information available earlier in the state traversal process, which makes it possible to avoid unnecessary memory accesses. We demonstrate that such content-addressing can be effectively used to obtain automata that are very compact and can achieve high throughput. Specifically, we show that for an application using thousands of patterns defined by regular expressions, CD2FAs use as little as 10% of the space required by a conventional compressed DFA, and match the throughput of an uncompressed DFA.

References

  1. R. Sommer, V. Paxson, "Enhancing Byte-Level Network Intrusion Detection Signatures with Context," ACM conf. on Computer and Communication Security, 2003, pp. 262--271. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. E. Hopcroft and J. D. Ullman, "Introduction to Automata Theory, Languages, and Computation," Addison Wesley, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Kumar et al, "Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection", in ACM SIGCOMM'06, Pisa, Italy, September 12-15, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bro Intrusion detection system, Vern Paxson, http://www.icir.org/vern/bro-info.htmlGoogle ScholarGoogle Scholar
  5. M. Roesch, "Snort: Lightweight intrusion detection for networks," Systems Administration Conference (LISA), November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Antonatos, et al, "Generating realistic workloads for network intrusion detection systems," In ACM Workshop on Software and Performance, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. V. Aho, M. J. Corasick, "Efficient string matching: An aid to bibliographic search," Comm. of ACM, 18(6):333--340, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Commentz-Walter, "A string matching algorithm fast on the average," Proceedings of ICALP, pages 118--132, July 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Wu, U. Manber," A fast algorithm for multi-pattern searching," Tech. R. TR-94-17, Univ of Arizona, 1994.Google ScholarGoogle Scholar
  10. Fang Yu, et al., "Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection", UCB tech. report, EECS-2005-8.Google ScholarGoogle Scholar
  11. N. Tuck, T. Sherwood, B. Calder, and G. Varghese, "Deterministic memory-efficient string matching algorithms for intrusion detection," IEEE Infocom 2004, pages 333--340.Google ScholarGoogle Scholar
  12. L. Tan, and T. Sherwood, "A High Throughput String Matching Architecture for Intrusion Detection and Prevention," ISCA'05. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. I. Sourdis et al, "Pre-decoded CAMs for Efficient and High-Speed NIDS Pattern Matching," FCCM, 2004, pp. 258--267. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Yusuf and W. Luk, "Bitwise Optimised CAM for Network Intrusion Detection Systems," IEEE FPL 2005.Google ScholarGoogle Scholar
  15. R. Sidhu and V. K. Prasanna, "Fast regular expression matching using FPGAs," IEEE FCCM, Rohnert Park, CA, April 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C. R. Clark and D. E. Schimmel, "Efficient reconfigurable logic circuit for matching complex network intrusion detection patterns," In 13th FCCM conference.Google ScholarGoogle Scholar
  17. J. Moscola, et al, "Implementation of a content-scanning module for an internet firewall," IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, USA, April 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Phillip Hall, "On representatives of subsets," J. London Math. Soc.,vol. 10, pp. 26--30, 1936.Google ScholarGoogle Scholar
  19. Will Eatherton, John Williams, "An encoded version of reg-ex database from cisco systems provided for research purposes".Google ScholarGoogle Scholar
  20. TippingPoint X505, www.tippingpoint.com/products_ips.htmlGoogle ScholarGoogle Scholar
  21. Cisco IOS IPS Deployment Guide, www.cisco.comGoogle ScholarGoogle Scholar
  22. Tarari RegEx, www. tarari.com/PDF/RegEx_FACT_SHEET.pdfGoogle ScholarGoogle Scholar
  23. R. Motwani, "Average-case analysis of algorithms for matching and related problems," J. of the ACM, 41:1329--1356, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. B. Kruskal, "On the shortest spanning subtree of a graph and the traveling salesman problem," Proc. of the American Mathematical Society, 7:48--50, 1956.Google ScholarGoogle ScholarCross RefCross Ref
  25. N.J. Larsson, "Structures of string matching and data compression," PhD thesis, Lund University, 1999.Google ScholarGoogle Scholar
  26. S. Dharmapurikar, et al, "Deep Packet Inspection using Parallel Bloom Filters," IEEE Hot Interconnects 12, August 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Z. K. Baker, V. K. Prasanna, "Automatic Synthesis of Efficient Intrusion Detection Systems on FPGAs," in Field Programmable Logic and Applications, Aug. 2004, pp. 311--321.Google ScholarGoogle ScholarCross RefCross Ref
  28. Y. H. Cho, W. H. Mangione-Smith, "Deep Packet Filter with Dedicated Logic and Read Only Memories," Field Programmable Logic and Applications, Aug. 2004, pp. 125--134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Gokhale, et al., "Granidt: Towards Gigabit Rate Network Intrusion Detection Technology," Field Programmable Logic and Applications, Sept. 2002, pp. 404--413. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. Levandoski, E. Sommer, and M. Strait, "Application Layer Packet Classifier for Linux". http://l7-filter.sourceforge.net/.Google ScholarGoogle Scholar
  31. M. Hill and J. Elder, "DineroIV tracedriven uniprocessor cache simulator," http://www.cs.wisc.edu/markhill/DineroIV, 1998.Google ScholarGoogle Scholar
  32. SafeXcel Content Inspection Engine, regex acceleration IP.Google ScholarGoogle Scholar
  33. Network Services Processor, OCTEON CN30XX Family.Google ScholarGoogle Scholar
  34. D. Fotakis, et. al, "Space efficient hash tables with worst case constant access time," In STACS, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Advanced algorithms for fast and scalable deep packet inspection

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ANCS '06: Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems
      December 2006
      202 pages
      ISBN:1595935800
      DOI:10.1145/1185347

      Copyright © 2006 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 3 December 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate88of314submissions,28%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader