skip to main content
research-article

Deflating the big bang: fast and scalable deep packet inspection with extended finite automata

Authors Info & Claims
Published:17 August 2008Publication History
Skip Abstract Section

Abstract

Deep packet inspection is playing an increasingly important role in the design of novel network services. Regular expressions are the language of choice for writing signatures, but standard DFA or NFA representations are unsuitable for high-speed environments, requiring too much memory, too much time, or too much per-flow state. DFAs are fast and can be readily combined, but doing so often leads to state-space explosion. NFAs, while small, require large per-flow state and are slow.

We propose a solution that simultaneously addresses all these problems. We start with a first-principles characterization of state-space explosion and give conditions that eliminate it when satisfied. We show how auxiliary variables can be used to transform automata so that they satisfy these conditions, which we codify in a formal model that augments DFAs with auxiliary variables and simple instructions for manipulating them. Building on this model, we present techniques, inspired by principles used in compiler optimization, that systematically reduce runtime and per-flow state. In our experiments, signature sets from Snort and Cisco Systems achieve state-space reductions of over four orders of magnitude, per-flow state reductions of up to a factor of six, and runtimes that approach DFAs.

References

  1. A. V. Aho and M. Corasick. Efficient string matching: An aid to bibliographic search. In Communications of the ACM, June 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Ball and S. Rajamani. The SLAM project: Debugging system software via static analysis. January 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Becchi and S. Cadambi. Memory-efficient regular expression search using state merging. In IEEE Infocom 2007.Google ScholarGoogle Scholar
  4. M. Becchi and P. Crowley. An improved algorithm to accelerate regular expression evaluation. In ANCS 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Brodie, R., and D. Taylor. A scalable architecture for high-throughput regular-expression pattern matching. SIGARCH Comput. Archit. News, 34(2):191--202, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Brumley, J. Newsome, D. Song, H. Wang, and S. Jha. Towards automatic generation of vulnerability-based signatures. In IEEE Symposium on Security and Privacy, May 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. R. Clark and D. E. Schimmel. Scalable pattern matching for high-speed networks. In IEEE FCCM, April 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. The MIT Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Crosby and D. Wallach. Denial of service via algorithmic complexity attacks. In Usenix Security, August 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Dharmapurikar and J. W. Lockwood. Fast and scalable pattern matching for network intrusion detection systems. IEEE Journal on Selected Areas in Comm., 24(10):1781--1792, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. The Guardian. Trouble on the line. http://technology. guardian.co.uk/weekly/story/0,,1747343,00.html, 2006.Google ScholarGoogle Scholar
  12. M. Handley, V. Paxson, and C. Kreibich. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics. In Usenix Security, August 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. W. Hawking. A brief history of time. From the Big Bang to Black Holes. Bantam Book, 1988.Google ScholarGoogle Scholar
  14. John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach, 2nd Edition. Morgan Kaufmann, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Hopcroft, R. Motwani, and J. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Myles Jordan. Dealing with metamorphism. Virus Bulletin Weekly, 2002.Google ScholarGoogle Scholar
  17. C. Kachris and S. Vassiliadis. Design of a web switch in a reconfigurable platform. In ANCS 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Kapustka. Vonage complaining of VoIP blocking. http://www.networkcomputing.com/channels/~networkinfrastructure/60400413, 2005.Google ScholarGoogle Scholar
  19. S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese. Curing regular expressions matching algorithms from insomnia, amnesia, and acalculia. In ANCS 2007, pages 155--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Kumar, S. Dharmapurikar, F. Yu, P. Crowley, and J. Turner. Algorithms to accelerate multiple regular expressions matching for deep packet inspection. In ACM SIGCOMM, September 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Kumar, J. Turner, and J. Williams. Advanced algorithms for fast and scalable deep packet inspection. In ANCS 2006, pages 81--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Liu, N. Huang, C. Chen, and C. Kao. A fast string-matching algorithm for network processor--based intrusion detection system. Trans. on Embedded Computing Sys., 3(3):614--633, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. McGhan. Niagara 2 opens the floodgates. In Microprocessor Report, November 2006.Google ScholarGoogle Scholar
  24. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Neider. Deep packet inspection: A service provider's solution for secure VoIP. VoIP Magazine, Oct 2005.Google ScholarGoogle Scholar
  26. V. Paxson. Bro: a system for detecting network intruders in real-time. In Computer Networks, volume 31, pages 2435--2463, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. Ptacek and T. Newsham. Insertion, evasion and denial of service: Eluding network intrusion detection. In Secure Networks, Inc., January 1998.Google ScholarGoogle Scholar
  28. M. Roesch. Snort -- lightweight intrusion detection for networks. In 13th Systems Administration Conference. USENIX, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. U. Shankar and Vern Paxson. Active mapping: Resisting nids evasion without altering traffic. In IEEE Symp. on Security and Privacy, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. R. Smith, C. Estan, and S. Jha. Backtracking algorithmic complexity attacks against a NIDS. In ACSAC 2006, pages 89--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. R. Smith, C. Estan, and S. Jha. XFA: Faster signature matching with extended automata. In IEEE Symposium on Security and Privacy, May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. R. Sommer and V. Paxson. Enhancing byte--level network intrusion detection signatures with context. In ACM CCS, Oct. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. I. Sourdis and D. Pnevmatikatos. Fast, large-scale string match for a 10gbps fpga-based network intrusion detection system. In Int. Conf. on Field Programmable Logic and Applications, sep. 2003.Google ScholarGoogle ScholarCross RefCross Ref
  34. L. Tan and T. Sherwood. A high throughput string matching architecture for intrusion detection and prevention. In ISCA, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. N. Tuck, T. Sherwood, B. Calder, and G. Varghese. Deterministic memory-efficient string matching algorithms for intrusion detection. In IEEE INFOCOM 2004, pages 333--340.Google ScholarGoogle ScholarCross RefCross Ref
  36. H. J. Wang, C. Guo, D. Simon, and A. Zugenmaier. Shield: Vulnerability-driven network filters for preventing known vulnerability exploits. In ACM SIGCOMM, August 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. F. Yu, Z. Chen, Y. Diao, T. V. Lakshman, and R. H. Katz. Fast and memory-efficient regular expression matching for deep packet inspection. In ANCS 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Deflating the big bang: fast and scalable deep packet inspection with extended finite automata

    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

    Full Access

    • Published in

      cover image ACM SIGCOMM Computer Communication Review
      ACM SIGCOMM Computer Communication Review  Volume 38, Issue 4
      October 2008
      436 pages
      ISSN:0146-4833
      DOI:10.1145/1402946
      Issue’s Table of Contents
      • cover image ACM Conferences
        SIGCOMM '08: Proceedings of the ACM SIGCOMM 2008 conference on Data communication
        August 2008
        452 pages
        ISBN:9781605581750
        DOI:10.1145/1402958

      Copyright © 2008 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: 17 August 2008

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader