|
|
The Continuing Denial of Service Threat Posed by DNS Recursion
U.S. Department of Homeland Security US-CERT
Summary
US-CERT has been alerted to an increase in distributed denial of service (DDoS) attacks using spoofed recursive DNS requests. These attacks are troublesome because all systems communicating over the internet need to allow DNS traffic. The attacks work in the following manner: a malicious attacker sends several thousand spoofed requests to a DNS server that allows recursion. The DNS server processes these requests as valid and then returns the DNS replies to the spoofed recipient (i.e., the victim). When the number of requests is in the thousands, the attacker could potentially generate a multi-gigabit flood of DNS replies. This is known as an amplifier attack because this method takes advantage of misconfigured DNS servers to reflect the attack onto a target while amplifying the volume of packets.
A recent survey
1 conducted by the Measurement Factory, sponsored by the DNS appliance vendor InfoBlox, found that 75% of DNS servers they polled (roughly 1.3 million) allowed recursion. A similar study using a smaller sample size was conducted by the CERT Coordination Center (CERT/CC). It found 80% of DNS servers still enabled recursion.2An organization could be used as a DNS recursion amplifier if its DNS server is misconfigured. Consequently, its DNS server could be misused in a DDoS attack against another organization. An organization could still be targeted by a DDoS attack from misconfigured recursive DNS servers even if it is not running a vulnerable name server.
Background
The domain name system (DNS) is the internetwork of name servers and protocols that allow computers to resolve hostnames to IP addresses. Commonly referred to as the workhorse of the internet, it provides name resolution services for other core protocols. For detailed information on DNS, consult RFC 1035.
31
http://dns.measurement-factory.com/surveys/sum1.html2
http://cyber.law.harvard.edu/icann/mdr2001/archive/pres/Cert.pdf3
http://www.ietf.org/rfc/rfc1035.txtDNS requests can be either recursive or non-recursive. A recursive DNS server processes a domain name request on a domain name for which it is not authoritative (or has not already cached) by querying the root name servers for the IP address of the requested domain name. The root name server will then "delegate" the query to the appropriate top level domain (TLD) server (.com, .org, .net, etc.), which in turn delegates to the authoritative nameserver for the domain in question. A non-recursive server only provides the information it has available locally. However, depending on its configuration, it may also return delegation information for the requested domain.
Potential Targets and Risks
Any system configured to provide DNS recursion is susceptible to this attack, including
In addition, the inbound network transport infrastructure is put at risk during such an attack because of the volume of traffic generated.
A DNS recursion attack is essentially an amplification DoS attack. Therefore, the attack affects multiple impact points:
What can I do to protect my DNS servers from abuse?
Typically, DNS servers only provide DNS services to machines within a trusted domain. Restricting recursion and disabling the ability to send additional delegation information can help prevent DNS-based DoS attacks and cache poisoning. It can also improve performance on your network by reducing the vulnerability of your DNS servers to use as a reflector in such an attack. The following sections provide guidance on mitigating this threat.
Follow Security Best Practices for Configuring DNS
For additional information on secure DNS practices, see the "Resources" section of this paper.
Microsoft
Server 2003
Consult Microsoft’s
Securing DNS for Windows 2003:Windows 2000
Consult the
Windows 2000 Secure DNS Configuration Guide:http://nsa2.www.conxion.com/win2k/guides/w2k-6.pdf
Unix
The Berkeley internet Name Domain (BIND) server is distributed with most UNIX variants and provides name services to many networks. BIND, however, has a number of vulnerabilities that can, among other things, allow it to be exploited to launch DoS attacks. Team Cymru’s Secure BIND Template provides guidance on securing BIND from such abuse. The template is available at the following URL:
http://www.cymru.com/Documents/secure-bind-template.html
Team Cymru also provides templates for additional border protection: the Secure IOS Template and the Secure BGP Template.
Disable Recursive DNS
Consult the following documentation to learn about disabling recursive DNS in your environment.
Microsoft
Server 2003
Information on how to disable recursive queries on the DNS server can be found at the following URL:
Windows 2000
Information on how to disable recursive queries on the DNS server can be found at the following URL:
Unix
For information on disabling recursive DNS on Unix systems, see Team Cymru’s BIND Template (noted above).
Test your existing configuration
The Measurement Factory web site provides pointers to a number of third-party tools available for validating DNS. The list is available at the following URL:
http://dns.measurement-factory.com/tools/third-party-validation-tools/
Conclusion
Where possible, organizations should secure their DNS servers to ensure that they do not allow recursion or, at a minimum, restrict access to only trusted domains and disable the ability to send additional delegation information.
Resources
The following resources discuss DNS threats.
Bellovin, Stephen M.
Using the Domain Name System for System Break-ins. <http://www.cs.columbia.edu/~smb/papers/dnshack.ps> (1990).Boran, Sean.
Hardening the BIND DNS Server. <http://www.boran.com/security/sp/chrooting_bind.html> (October 2, 2000).Householder, Allen et al.
Securing an Internet name server. <http://www.cert.org/archive/pdf/dns.pdf> (August 2002).Mirkovic, Jelena; Dietrich, Sven; Dittrich, David; and Reiher, Peter.
Internet Denial of Service: Attack and Defense Mechanisms. New York, NY: Prentice Hall PTR, 2004 (pp. 51-52).RUS CERT. Permitting recursion can allow spammers to steal name server resources (discussion thread). http://cert.uni-stuttgart.de/archive/bugtraq/2003/09/msg00164.html> (September 9, 2003).
Schuba, Christoph.
Addressing Weaknesses in the Domain Name Protocol. <http://ftp.cerias.purdue.edu/pub/papers/christoph-schuba/schuba-DNS-msthesis.pdf> (August 1993).UNISOG. Discussion thread concerning a DNS reflector DoS attack against a major provider of global domain name registration services. <http://staff.washington.edu/dittrich/misc/ddos/register.com-unisog.txt> (January 2001).
Zytrax Communications.
DNS BIND Query Statements. <http://www.zytrax.com/books/dns/ch7/queries.html> .References
DynDNS.
The Dangers of Open Recursive DNS. <http://www.dyndns.com/about/company/notify/archives/the_dangers_of_open_recursive_dns.html> (November 3, 2005).Espiner, Tom.
Old software weakening Net’s backbone, survey says. <http://news.com.com/Old+software+weakening+Nets+backbone,+survey+says/2100-7347_3-5913771.html> (October 25, 2005).Leydon, John.
Most DNS Servers ‘wide open’ to attack. <http://www.theregister.co.uk/2005/10/24/dns_security_survey/> (October 24, 2005).LURHQ Threat Intelligence Group.
DNS Cache Poisoning – The Next Generation. <http://www.lurhq.com/cachepoisoning.html> .Myser, Michael.
DNS Survey Finds Widespread Vulnerability. <http://www.eweek.com/article2/0,1895,1877177,00.asp> (October 25, 2005).Rampling, Blair; Dalan, David. Walking through DNS Request Processing (adapted from
DNS for Dummies). <http://www.dummies.com/WileyCDA/DummiesArticle/id-1701.html> (February 2003).Wikipedia.
An example of theoretical DNS recursion. <http://en.wikipedia.org/wiki/Domain_Name_System#An_example_of_theoretical_DNS_recursion>.Produced 2005 by US-CERT, a government organization