What is DNS Poisoning?
After my post about CyberPatrol’s new SiteSURV product, one of my readers emailed and asked “What is DNS Poisoning?” Instead of responding personally, I thought it would make a good blog post.
First a little background on the Domain Name System or DNS. Basically every computer on the Internet has an IP address, for instance this site is 72.54.145.200. But it is a whole lot easier to reference these computers by name, like www.insideinternetfiltering.com. So the Domain Name System was created to turn these names into the numbers that our computers understand.
This system works as a hierarchy of DNS servers. At the top are the root servers, they have .com, .org, .net etc. When you register a domain, an entry is added to these root servers that tells computers looking for your domain where to look next. So at the root servers there is a entry for insideinternetfiltering.com that tells them to look to my two DNS servers for more information about my domain. My DNS servers have an entry for www that describes my IP address.
For your computer to work properly on the Internet you need to at least one DNS server entered in your network settings. Most of the time this happens automatically for you when you connect to your Internet Service Provider or corporate network. Then when you enter a URL in your browser, www.insideinternetfiltering.com for example, your computer consults that DNS server behind the scenes. If that DSN server doesn’t know the IP address for www.insideinternetfiltering.com it then typically consults the root server looking for insideinternetfiltering.com, which in turn sends it to my DNS server, which returns the IP address for my site. This is known as an authoritative response.
So with that as background, what is DNS poisoning? Quite simply it is technical jargon for changing the normal flow of the DNS system and introducing results that aren’t authoritative. This term is often applied to malicious types of attacks as the DNS poisoning article wikipedia article points out. However, it has also traditionally be used to describe a method of Internet filtering in which DNS return values are altered from their authoritative value for the purposes of filtering content.
For instance, lets say that the DNS server that is configured on my computer is programmed with a blacklist of bad websites. On this list is a site called www.badsite.com. When you try to visit www.badsite.com, your computer asks the DNS server for the IP address of www.badsite.com. The DNS server is programmed to look at the blacklist and if it finds www.badsite.com it does not consult the root DNS server, but instead returns an invalid value that causes your computer to not connect to the site. It could even return a new valid IP address that would send you to a server that has been configured to display a “this site has been blocked” page.
This was a long post. If there is something that doesn’t make sense, please comment.
![[Post to Twitter]](http://www.insideinternetfiltering.com/wordpress/wp-content/plugins/tweet-this/tweet-this-small.png)
Aaron Kenny
