Massive DNS security problem endangers the internet
US-CERT and other security experts have warned of a critical design problem affecting all DNS implementations. The Domain Name Service is responsible for converting readable names like www.heise-online.co.uk into the IP addresses that computers can handle, such as 22.214.171.124. DNS is thus the internet equivalent to a phonebook and without it, nothing works. Anyone who takes control of it can control the internet.
In order to avoid repeating name resolution for every network connection, many systems store the results in a cache for a certain length of time. If an attacker succeeded in slipping false addresses into such a cache, he could divert any network connections to systems under his control. That would open up the possibility of enormous phishing campaigns and the large-scale theft of passwords, credit-card data, and even access data for online banking.
The fundamental problem with the DNS is that the responses to queries can, in principle, be faked. For that reason, current systems use a randomly selected 16-bit transaction ID for each query. If the answer also contains this ID it comes from the correct server, and the prospect of an attacker guessing it is negligibly small. Amit Klein, however, has already shown several times how implementation errors, say in the random-number generator used, can be exploited to enable DNS cache poisoning.
Vulnerability notes from US-CERT say the security expert Dan Kaminsky has now discovered a general method for reducing the odds sufficiently, for cache poisoning to be implemented effectively. The method is evidently not based on defective implementation, but on a cunning attack scenario that markedly increases the attacker's chances. Kaminsky doesn't want to reveal the details until the Black Hat conference in August. Almost all noteworthy vendors are affected, including ISC (whose BIND is the most widely used server), Cisco and Microsoft.
Kaminsky informed these vendors, who then developed updated versions of their software and issued them in a coordinated operation on 8 July. These updated versions are intended to reinforce the barriers against attackers to some degree. Among other things, they select random UDP source ports for their outgoing DNS queries. ISC emphasises, however, that ultimately only the DNSSEC extension will give reliable protection, and since its introduction, can't be completed overnight, due to political and technical problems, ISC urgently advises that the current updates be installed.
The seriousness of the problem is indicated by the coordinated action of these normally competing firms, which otherwise are not greatly interested in cooperation. Now the cat is out of the bag, we must fear that others will very quickly catch on to how Kaminsky managed to fool the DNS servers. For that reason, all operators of DNS servers that also work as a cache should contact the vendor of their software as quickly as possible to check the current state of affairs and see if there are any recommended protective measures. There is no need to panic yet, but haste is definitely advisable.
- Multiple DNS implementations vulnerable to cache poisoning, warning by US-CERT
- DNS Cache Poisoning Issue, ISC advisory regarding BIND
- Multiple Vendor DNS Implementations Insufficient Entropy Vulnerability, security advisory from Cisco
- Vulnerabilities in the Windows Domain Name System (DNS) that could allow spoofing, Microsoft Security Bulletin MS08-037