Recursive DNS servers as a growing DDoS problem
we discussed recursive dns servers before (servers which allow to query anything – including what they are not authoritative for, through them).
the attack currently in the wild is a lot bigger and more complicated than this, but to begin, here is an explanation (by metaphor) of that part:
spoofed icmp attacks have been around for a while. how many of us still get quite a bit of icmp echo replies stopped at our borders? these replies come to us due to spoofed attacks using our addresses.
now, imagine it – only bigger:
introduce an amplification effect.
as bigger udp packets will be fragmented by the servers, and udp obviously does not do any handshake and can easily be spoofed…
the server receives a large packet, breaks it down to several fragments and moves the query on.
that’s where the amplification effect starts.
both the attacked server and the unwilling participant in the attack, the recursive servers, experience a serious dns denial of service that keeps getting amplified considerably.
one of the problems is obviously the spoofing. let us, metaphorically and wrongly treat it for a minute as the remote exploit.
the second part of this problem is the recursive server, which for the moment we will wrongly treat as the local exploit.
obviously both need to be fixed. which is easier i am not so sure.
in the past, most network operators refused to implement best practices such as bcp38 (go fergie!) because they saw no reason for the hassle. returning back to: “if it isn’t being exploited right now, why should i worry about it?”
well, it is being exploited now, and will be further exploited in the future. combating spoofing on the internet is indeed important and now becoming critical.
removing the spoofing part for a second, the attack vector for this can easily be replaced, as one example, with a botnet.
a million trojaned hosts sending in even one packet a minute would cause quite a buzz – and do. now amplify the effect by the recursive servers and…
so, putting the spoofing aside, what do we do about our recursive servers?
there are some good url’s for that, here are some:
the recursive behaviour is necessary for some authoritative servers, but not for all. as a best practice for organizations, as an example, the server facing the world should not also be the one facing your organization (your users/clients). limiting this ability to your network space is also a good idea.
if you would like to check for yourselves, here is a message from duane wessels  to the dns-operations  mailing list where this is currently being discussed:
if anyone has the need to test particular addresses for the presence of open resolvers, please feel free to use this tool:
it will send a single “recursion desired” query to a target address.
if that query is forwarded to our authoritative server, the host has an open resolver running at that address.
dan (da man) kaminsky and mike schiffman have done some impressive work on this subject, outlined in dan’s latest shmoocon talk.
they found ~580k open resolvers:
i suggest those of us who need more information or help go to the dns-operations mailing list from oarc (see below) and ask the experts there, now that this is finally public.
full technical details on how the attack works at:
 duane wessels – dns genius and among other accomplishments the author of dns top.
 dns-operations – http://lists.oarci.net/mailman/listinfo/dns-operations
[changed title from: recursive dns servers ddos as a growing ddos problem]