skip to main content
research-article

Mitigating application-level denial of service attacks on Web servers: A client-transparent approach

Published:08 July 2008Publication History
Skip Abstract Section

Abstract

Recently, we have seen increasing numbers of denial of service (DoS) attacks against online services and Web applications either for extortion reasons or for impairing and even disabling the competition. These DoS attacks have increasingly targeted the application level. Application-level DoS attacks emulate the same request syntax and network-level traffic characteristics as those of legitimate clients, thereby making the attacks much harder to detect and counter. Moreover, such attacks often target bottleneck resources such as disk bandwidth, database bandwidth, and CPU resources. In this article, we propose handling DoS attacks by using a twofold mechanism. First, we perform admission control to limit the number of concurrent clients served by the online service. Admission control is based on port hiding that renders the online service invisible to unauthorized clients by hiding the port number on which the service accepts incoming requests. Second, we perform congestion control on admitted clients to allocate more resources to good clients. Congestion control is achieved by adaptively setting a client's priority level in response to the client's requests in a way that can incorporate application-level semantics. We present a detailed evaluation of the proposed solution using two sample applications: Apache HTTPD and the TPCW benchmark (running on Apache Tomcat and IBM DB2). Our experiments show that the proposed solution incurs low performance overhead and is resilient to DoS attacks.

References

  1. Apache. 2004. Apache tomcat servlet/JSP container. http://jakarta.apache.org/tomcat.]]Google ScholarGoogle Scholar
  2. Apache. 2005a. Apache HTTP server. http://httpd.apache.org.]]Google ScholarGoogle Scholar
  3. Apache. 2005b. Introduction to server side includes. http://httpd.apache.org/docs/howto/ssi.html.]]Google ScholarGoogle Scholar
  4. Bernstein, D. J. 2005. SYN cookies. http://cr.yp.to/syncookies.html.]]Google ScholarGoogle Scholar
  5. Black, D. RFC 2983: Differentiated services and tunnels. http://www.faqs.org/rfcs/rfc2983.html.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cardellini, V., Casalicchio, E., Colajanni, M., and Mambelli, M. 2002. Enhancing a Web server cluster with quality of service mechanisms. In Proceedings of 21st IEEE International Performance Computing and Communications Conference (IPCCC).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CERT. 2004. Incident note IN-2004-01 W32/Novarg.A virus.]]Google ScholarGoogle Scholar
  8. Chandra, S., Ellis, C. S., and Vahdat, A. 2000. Application-level differentiated multimedia Web services using quality aware transcoding. In Proc. IEEE (Special Issue on QoS in the Internet).]]Google ScholarGoogle Scholar
  9. Cherkasova, L. and Phaal, P. 2002. Session based admission control: A mechanism for Web QoS. In IEEE Trans. Comput.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Crosby, S. A. and Wallach, D. S. 2003. Denial of service via algorithmic complexity attacks. In Proceedings of 12th USENIX Security Symposium. 29--44.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. DARPA. 1981. RFC 793: Transmission control protocol. http://www.faqs.org/rfcs/rfc793.html.]]Google ScholarGoogle Scholar
  12. Dierks, T. and Allen, C. RFC 2246: The TLS protocol. http://www.ietf.org/rfc/rfc2246.txt.]]Google ScholarGoogle Scholar
  13. Egevang, K. and Francis, P. 1994. RFC 1631: The IP network address translator (NAT). http://www.faqs.org/rfcs/rfc1631.html.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ferguson, R. and Senie, D. 1998. RFC 2267: Network ingress filtering: Defeating denial of service attacks which employ IP source address spoofing. http://www.faqs.org/rfcs/rfc2267.html.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. FIPS. Data encryption standard (DES). http://www.itl.nist.gov/fipspubs/fip46-2.htm.]]Google ScholarGoogle Scholar
  16. FireFox. 2005. Mozilla firefox Web browser. http://www.mozilla.org/products/firefox.]]Google ScholarGoogle Scholar
  17. Google. Google mail. http://mail.google.com/.]]Google ScholarGoogle Scholar
  18. Google. Google maps. http://maps.google.com/.]]Google ScholarGoogle Scholar
  19. Halfbakery. Stateless TCP/IP server. http://www.halfbakery.com/idea/Stateless_20TCP_2fIP_20server.]]Google ScholarGoogle Scholar
  20. Harkins, D. and Carrel, D. 1998. RFC 2409: The Internet key exchange (IKE). http://www.faqs.org/rfcs/rfc2409.html.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. IBM. 2005. DB2 universal database. http://www-306.ibm.com/software/data/db2.]]Google ScholarGoogle Scholar
  22. Iyengar, A., Ramaswamy, L., and Schroeder, B. 2005. Web content delivery. In Techniques for Efficiently Serving and Caching Dynamic Web Content, X. Tang, J. Xu, and S. Chanson Ed., Springer.]]Google ScholarGoogle Scholar
  23. Juels, A. and Brainard, J. 1999. Client puzzle: A cryptographic defense against connection depletion attacks. In Proceedings of Networks and Distributed Systems Security Symposium (NDSS).]]Google ScholarGoogle Scholar
  24. Jung, J., Krishnamurthy, B., and Rabinovich, M. 2002. Flash crowds and denial of service attacks: Characterization and implications for CDNS and Web sites. In Proceedings of 11th World Wide Web Conference (WWW'02).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Kandula, S., Katabi, D., Jacob, M., and Berger, A. 2005. Botz-4-sale: Surviving organized DDoS attacks that mimic flash crowds. In Proceedings of 2nd USENIX Symposium on Networked Systems Design and Implementation (NSDI).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Kent, S. 1998. RFC 2401: Secure architecture for the Internet protocol. http://www.ietf.org/rfc/rfc2401.txt.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Leyden, J. 2003. East European gangs in online protection racket. www.theregister.co.uk/2003/11/12/east-european-gangs-in-online/.]]Google ScholarGoogle Scholar
  28. NetFilter. Netfilter/IPTables project homepage. http://www.netfilter.org/.]]Google ScholarGoogle Scholar
  29. Netscape. Javascript language specification. http://wp.netscape.com/eng/javascript/.]]Google ScholarGoogle Scholar
  30. Nichols, K., Blake, S., Baker, F., and Black, D. RFC 2474: Definition of the differentiated services field (DS field) in the IPv4 and IPv6 headers. http://www.faqs.org/rfcs/rfc2474.html.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. NIST. AES: Advanced encryption standard. http://csrc.nist.gov/CryptoToolkit/aes/.]]Google ScholarGoogle Scholar
  32. OpenSSL. Openssl. http://www.openssl.org/.]]Google ScholarGoogle Scholar
  33. PHARM. 2000. Java TPCW implementation distribution. http://www.ece.wisc.edu/~pharm/tpcw.shtml.]]Google ScholarGoogle Scholar
  34. Poulsen, K. 2004. FBI busts alleged ddos mafia. www.securityfocus.com/news/9411.]]Google ScholarGoogle Scholar
  35. Savage, S., Wetherall, D., Karlin, A., and Anderson, T. 2000. Practical network support for IP traceback. In Proceedings of ACM SIGCOMM.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. SHA1. 2001. US secure hash algorithm I. http://www.ietf.org/rfc/rfc3174.txt.]]Google ScholarGoogle Scholar
  37. Siris, V. A. and Papagalou, F. 2004. Application of anomaly detection algorithms for detecting SYN flooding attacks. In Proceedings of IEEE Global Telecommunications Conference (GLOBECOM).]]Google ScholarGoogle Scholar
  38. Srivatsa, M., Iyengar, A., Yin, J., and Liu, L. 2006a. A client-transparent approach to defend against denial of service attacks. In Proceedings of the 25th IEEE Symposium on Reliable Distributed Systems (SRDS).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Srivatsa, M., Iyengar, A., Yin, J., and Liu, L. 2006b. A middleware system for protecting against application level denial of service attacks. In Proceedings of the 7th ACM/IFIP/USENIX Middleware Conference.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Stoica, I., Shenker, S., and Zhang, H. 1998. Core-stateless fair queuing: A scalable architecture to approximate fair bandwidth allocations in high speed networks. In Proceedings of ACM SIGCOMM.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Stubblefield, A. and Dean, D. 2001. Using client puzzles to protect TLS. In Proceedings of the USENIX Security Symposium.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. TPC. 2000. TPCW: Transactional e-commerce benchmark. http://www.tpc.org/tpcw.]]Google ScholarGoogle Scholar
  43. Wang, X. and Reiter, M. K. 2004. Mitigating bandwidth-exhaustion attacks using congestion puzzles. In Proceedings of 11th ACM Computer and Communications Security Conference (CCS).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Waters, B., Juels, A., Halderman, A., and Felten, E. W. 2004. New client puzzle outsourcing techniques for DoS resistance. In Proceedings of 11th ACM Computer and Communications Security Conference (CCS).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Wei, C. K. 2005. AJAX: Asynchronous Java + XML. http://www.developer.com/design/article.php/3526681.]]Google ScholarGoogle Scholar
  46. Xu, J. and Lee, W. 2003. Sustaining availability of Web services under distributed denial of service attacks. In IEEE Trans. Comput. 52, 2, 195--208.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Yang, B. and Garcia-Molina, H. 2002. Improving search in peer-to-peer networks. In Proceedings of the IEEE 22nd International Conference on Distributed Computer Systems (ICDCS'03).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Yang, X., Wetherall, D., and Anderson, T. 2005. A DoS-limiting network architecture. In Proceedings of ACM SIGCOMM.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Yin, H. and Wang, H. 2005. Building an application-aware IPSec policy system. In Proceedings of the USENIX Security Symposium.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mitigating application-level denial of service attacks on Web servers: A client-transparent approach

          Recommendations

          Reviews

          Ruay-Shiung Chang

          When the response from Google or Yahoo! is slow, you may think, "What a busy day it is!" But the actual truth may be that these Web sites are being attacked using the denial of service (DoS) tactic. A DoS attack is an attempt to make a service unavailable to its intended users. In the real world, a terrorist may attack a place to make it unavailable. In the networked world, the means to carry out and the motives for DoS attacks vary. However, the goal is always the same: to prevent an Internet site or service from functioning efficiently or at all, temporarily or indefinitely. This paper proposes an architecture that includes admission-control and congestion-control mechanisms to thwart DoS attacks. Extensive experiments show that this approach has low performance overhead and is resilient to DoS attacks. Preventing DoS attacks is difficult, if not impossible. First of all, it is hard to differentiate between real user traffic and DoS attack traffic. Second, the frontier machine, meant to defend from the DoS attack, is itself under attack; there is nothing to protect it. In this paper, the doorkeeper machine uses a challenge-response strategy to determine if a client is legitimate. To prevent the challenge-response server from being drowned by DoS attack packets, the paper ensures that calculating the response is several orders of magnitude costlier than the challenge. However, it still does not solve the distributed DoS (DDoS) problem. If the response is 1,000 times more difficult than the challenge, perhaps 1,000,000 zombie clients will swamp the challenge server. This paper is quite long (49 pages); therefore, you know it's meticulous. As a result, the reader will learn a lot about DoS. Online Computing Reviews Service

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          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 the Web
            ACM Transactions on the Web  Volume 2, Issue 3
            July 2008
            122 pages
            ISSN:1559-1131
            EISSN:1559-114X
            DOI:10.1145/1377488
            Issue’s Table of Contents

            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: 8 July 2008
            • Revised: 1 February 2008
            • Accepted: 1 February 2008
            • Received: 1 September 2007
            Published in tweb Volume 2, Issue 3

            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