Manipulated DNS Meets Bad DNS Practice
Some of you may be familiar with a presentation titled “Corrupted DNS Resolution Paths: The Rise of a Malicious Resolution Authority” held by David Dagon, Chris Lee and Wenke Lee from Georgia Institute of Technology and Niels Provos of Google, Inc at Network and IT Security Conference: NDSS 2008. To provide you with a quick summary, their research suggests that there are tens of thousands of rogue DNS servers on the Internet used for various kinds of malicious activities, leading to a rise of “second secret authority” that should scare the living daylights of all of us. For Associated Press’s coverage on the topic, please click here .
Now, it may be just me, but I find it rather interesting that while security professionals all over the world are worried by the “second secret authority” on the Internet revealed by this study, the mainstream media is simultaneously embracing a service called OpenDNS. According to respected publications such as Computerworld, The New York Times, and PC World, OpenDNS is a great “speedup tweak” for anyone who wants to have a quicker name to IP resolution than what one’s own ISP provides. OpenDNS claims that their service makes Internet more reliable, networks more secure, and provides insight into DNS activity. Better yet, the service is offered free of charge so what could possibly be wrong here?
Well, my answer to this would be: several things.
First, as everyone who knows their DNS can tell you, running open recursive DNS servers (i.e. DNS servers that allow anyone, anywhere to perform recursive queries) is one of the most basic DNS security mistakes one can make. It makes the DNS server more prone to cache poisonings and, perhaps even more importantly, can be exploited to amplify Denial of Service (DoS) attacks targeted at other DNS servers. Bearing this in mind, I find it somewhat ironic that OpenDNS advertises the IPs of their open recursive DNS servers (208.67.222.222 and 208.67.220.220) and improved network security on their website.
Second, OpenDNS openly admits that their service manipulates DNS data. Now, although I’m willing to give OpenDNS the benefit of the doubt and trust that their intentions are entirely benevolent, I think this is something that can be likened to the “second secret authority” on the Internet: no matter how good the intentions behind OpenDNS, the DNS data provided by the service has been manipulated in order to generate ad revenue. Paul Vixie has apparently labelled this approach as “typosquatting” and according to Wikipedia, OpenDNS has allegedly intercepted some requests for valid servers by landing a request for google.com on OpenDNS’s own page.
Third, although one can use OpenDNS to block name requests for sites that contain inappropriate content – for example schools using this service could block name resolution to adult entertainment and other websites unsuitable to minors – it does absolutely nothing to prevent an access to an inappropriate website should the user be smart enough to type in the IP address rather than the domain name of the site in his/her browser. Essentially, this service does not actually filter any content or block access to suspect websites as advertised (this should be done on web proxy / caching level) but simply relies on the assumption that people are not smart enough to use IPs as opposed to domain names. If they are, OpenDNS will not be able to do anything about it, as DNS is used only for name to IP resolution (and vice versa).
And so, although it probably is true that OpenDNS may provide a nice “speedup tweak” for someone situated relatively close to their recursive DNS servers, in most cases I would recommend against OpenDNS and sticking to the recursive DNS service provided by one’s own ISP, or to recursive DNS service maintained in-house. After all, using DNS for something it has not been designed for doesn’t come without downsides.