skip to main content
research-article

Off-Path TCP Injection Attacks

Published:01 April 2014Publication History
Skip Abstract Section

Abstract

We present practical off-path TCP injection attacks for connections between current, nonbuggy browsers and Web servers. The attacks allow Web-cache poisoning with malicious objects such as spoofed Web pages and scripts; these objects can be cached for a long period of time, exposing any user of that cache to cross-site scripting, cross-site request forgery, and phishing attacks.

In contrast to previous TCP injection attacks, we do not require MitM capabilities or malware running on the client machine. Instead, our attacks rely on a weaker assumption, that the user only enters a malicious Web site, but does not download or install any application. Our attacks exploit subtle details of the TCP and HTTP specifications, and features of legitimate (and very common) browser implementations. An empirical evaluation of our techniques with current versions of browsers shows that connections with most popular Web sites are vulnerable.

We conclude this work with practical client- and server-end defenses against our attacks.

References

  1. Advanced Network Architecture Group. 2013. Spoofer project. http://spoofer.csail.mit.edu/summary.php.Google ScholarGoogle Scholar
  2. Alexa Web Information Company. 2013. Top sites. http://www.alexa.com/topsites.Google ScholarGoogle Scholar
  3. Antonatos, S., Akritidis, P., Lam, V. T., and Anagnostakis, K. G. 2008. Puppetnets: Misusing web browsers as a distributed attack infrastructure. ACM Trans. Inf. Syst. Secur. 12, 2, 12:1--12:15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Baker, F. and Savola, P. 2004. Ingress Filtering for Multihomed Networks. RFC 3704 (Best Current Practice). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Barth, A. 2011. The Web Origin Concept. RFC 6454 (Proposed Standard).Google ScholarGoogle Scholar
  6. Barth, A., Jackson, C., and Mitchell, J. C. 2008. Robust defenses for cross-site request forgery. In Proceedings of the ACM Conference on Computer and Communications Security. P. Ning, P. F. Syverson, and S. Jha Eds., ACM Press, New York, 75--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bellovin, S. M. 1989. Security problems in the tcp/ip protocol suite. Comput. Comm. Rev. 19, 2, 32--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bellovin, S. M. 2004. A look back at “security problems in the tcp/ip protocol suite”. In Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC’04). IEEE Computer Society, 229--249. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bernstein, D. J. 1996. SYN cookies. http://cr.yp.to/syncookies.html.Google ScholarGoogle Scholar
  10. Beverly, R., Berger, A., Hyun, Y., and Claffy, K. C. 2009. Understanding the efficacy of deployed internet source address validation filtering. In Proceedings of the Internet Measurement Conference. A. Feldmann and L. Mathy Eds., ACM Press, New York, 356--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Browserscope. 2012. Browser comparison. http://www.browserscope.org.Google ScholarGoogle Scholar
  12. Eddy, W. 2007. TCP syn flooding attacks and common mitigations. RFC 4987 (Informational).Google ScholarGoogle Scholar
  13. Ehrenkranz, T. and Li, J. 2009. On the state of ip spoofing defense. ACM Trans. Internet Technol. 9, 2, 6:1--6:29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ferguson, P. and Senie, D. 2000. Network ingress filtering: Defeating denial of service attacks which employ ip source address spoofing. RFC 2827 (Best Current Practice). Updated by RFC 3704. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and Berners-Lee, T. 1999. Hypertext transfer protocol -- Http/1.1. RFC 2616 (Draft Standard). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gilad, Y. and Herzberg, A. 2012. Off-path attacking the web. In Proceedings of the USENIX Workshop on Offensive Technologies. USENIX Association, Berkeley, CA, 41--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gilad, Y. and Herzberg, A. 2013a. Puppet code (java script). http://u.cs.biu.ac.il/_herzbea/security/code/puppet-example.js.Google ScholarGoogle Scholar
  18. Gilad, Y. and Herzberg, A. 2013b. When tolerance becomes weakness: The case of injection-friendly browsers. In Proceedings of the International World Wide Web Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Gilad, Y., Herzberg, A., and Shulman, H. 2014. Off-path hacking: The illusion of challenge-response authentication. IEEE Secur. Privacy Mag. PP, 99.Google ScholarGoogle Scholar
  20. Gont, F. and Bellovin, S. 2012. Defending against sequence number attacks. RFC 6528 (Proposed Standard).Google ScholarGoogle Scholar
  21. Herzberg, A. and Jbara, A. 2008. Security and identification indicators for browsers against spoofing and phishing attacks. ACM Trans. Internet Technol. 8, 4, 16:1--16:36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Herzberg, A. and Shulman, H. 2012. Security of patched dns. In ESORICS, S. Foresti, M. Yung, and F. Martinelli Eds., Lecture Notes in Computer Science, vol. 7459, Springer, 271--288.Google ScholarGoogle Scholar
  23. Jim, T., Swamy, N., and Hicks, M. 2007. Defeating script injection attacks with browser-enforced embedded policies. In Proceedings of the International Conference on World Wide Web. C. L. Williamson, M. E. Zurko, P. F. Patel-Schneider, and P. J. Shenoy Eds., ACM Press, New York, 601--610. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Joncheray, L. 1995. A simple active attack against tcp. In Proceedings of the 5th Symposium on UNIX Security. USENIX Association, Berkeley, CA, 7--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Kaminsky, D. 2011. Black ops of tcp/ip. In Black Hat Conference.Google ScholarGoogle Scholar
  26. Killalea, T. 2000. Recommended internet service provider security services and procedures. RFC 3013 (Best Current Practice). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Klein, A. 2004. Divide and conquer. HTTP response splitting, web cache poisoning attacks and related topics. Sanctum white paper.Google ScholarGoogle Scholar
  28. Klein, A. 2005. DOM based cross site scripting or xss of the third kind. Tech. rep., Web Application Security Consortium: Articles.Google ScholarGoogle Scholar
  29. Klein, A. 2011. Web cache poisoning attacks. In Encyclopedia of Cryptography and Security 2nd Ed. Springer, 1373--1373.Google ScholarGoogle Scholar
  30. KLM. 2007. Remote blind tcp/ip spoofing. Phrack Mag.Google ScholarGoogle Scholar
  31. Larsen, M. and Gont, F. 2011. Recommendations for transport-protocol port randomization. RFC 6056 (Best Current Practice). http://tools.ietf.org/html/rfc6056.Google ScholarGoogle Scholar
  32. Lemon, J. 2002. Resisting syn flood dos attacks with a syn cache. In Proceedings of the Conference on File and Storage Technologies (BSDCon’02). S. J. Leffler Ed., USENIX Association, Berkeley, CA, 89--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Marlinspike, M. 2009. New tricks for defeating ssl in practice. https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf.Google ScholarGoogle Scholar
  34. Morris, R. T. 1985. A weakness in the 4.2bsd unix tcp/ip software. Tech. rep., AT&T Bell Laboratories.Google ScholarGoogle Scholar
  35. The Open Web Application Security Project. 2009. Cache poisoning. https://www.owasp.org/index.php/CachePoisoning.Google ScholarGoogle Scholar
  36. The Open Web Application Security Project. 2010. Cross-site request forgery. https://www.owasp.org/index.php/Cross-Site.Google ScholarGoogle Scholar
  37. Petefish, P., Sheridan, E., and Wichers, D. 2011. Cross-site request forgery (csrf) prevention cheat sheet. https://www.owasp.org/index.php/Cross-Site.Google ScholarGoogle Scholar
  38. Postel, J. 1981. Transmission control protocol. RFC 793 (Internet Standard). Updated by RFCs 1122, 3168, 6093, 6528. http://www.ietf.org/rfc/rfc793.txt.Google ScholarGoogle Scholar
  39. Qian, Z. and Mao, Z. M. 2012. Off-path tcp sequence number inference attack. In Proceedings of the IEEE Symposium on Security and Privacy. 347--361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Qian, Z., Mao, Z. M., and Xie, Y. 2012. Collaborative tcp sequence number inference attack: How to crack sequence number under a second. In Proceedings of the ACM Conference on Computer and Communications Security. ACM Press, New York, 593--604. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Ruderman, J. 2001. Same origin policy for javascript. https://developer.mozilla.org/En/Same.Google ScholarGoogle Scholar
  42. Sanfilippo, S. 1998. A new tcp scan method. http://seclists.org/bugtraq/1998/Dec/79.Google ScholarGoogle Scholar
  43. Shimomura, T. and Markoff, J. 1995. Takedown: The Pursuit and Capture of Kevin Mitnick, America’s Most Wanted Computer Outlaws - by the Man Who Did It 1st Ed. Hyperion Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Stamm, S., Sterne, B., and Markham, G. 2010. Reining in the web with content security policy. In Proceedings of the International Conference on World Wide Web. M. Rappa, P. Jones, J. Freire, and S. Chakrabarti Eds., ACM Press, New York, 921--930. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Touch, J. 2007. Defending tcp against spoofing attacks. RFC 4953. http://tools.ietf.org/html/rfc4953.Google ScholarGoogle Scholar
  46. Watson, P. 2004. Slipping in the window: TCP reset attacks. http://bandwidthco.com/whitepapers/netforensics/tcpip/TCP%20Reset%20Attacks.pdf.Google ScholarGoogle Scholar
  47. Zalewski, M. 2001. Strange attractors and tcp/ip sequence number analysis. http://lcamtuf.coredump.cx/newtcp/.Google ScholarGoogle Scholar
  48. Zalewski, M. 2011. The Tangled Web: A Guide to Securing Modern Web Applications 1st Ed. No Starch Press, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Off-Path TCP Injection Attacks

    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 Transactions on Information and System Security
      ACM Transactions on Information and System Security  Volume 16, Issue 4
      April 2014
      154 pages
      ISSN:1094-9224
      EISSN:1557-7406
      DOI:10.1145/2617317
      • Editor:
      • Gene Tsudik
      Issue’s Table of Contents

      Copyright © 2014 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: 1 April 2014
      • Accepted: 1 November 2013
      • Received: 1 July 2013
      Published in tissec Volume 16, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader