More than a decade after serious holes were discovered in the internet's address lookup system, end users remain vulnerable to so-called domain name system cache poisoning, a security researcher has warned.
Developers of the software that handles DNS lookups have scrambled to patch buggy code that could allow the attacks, but not to the satisfaction of Amit Klein, CTO of security firm Trusteer, who over the past year has uncovered serious new vulnerabilities in multiple DNS products.
Last July, he exposed flaws in Berkeley Internet Name Domain (BIND), the mostly widely used DNS server. The flaws allowed attackers to predict the pseudo-random number transaction number that the software uses when providing the numeric IP address of a requested web page. That, in turn, could allow the attacker to supply a fraudulent address that leads to a malicious destination.
"I'm not too comfortable with the quality of the solution from the security and predictability standpoint," Klein said during a session at last week's RSA security conference in San Francisco.
DNS cache poisoning first came to light in 1997, when researchers discovered that an attacker could infect the DNS resolvers of internet service providers and large organizations with spoofed IP addresses. The servers store the incorrect information for hours or days at a time, so the attack has the potential to send large numbers of end users to websites that install malware or masquerade as a bank or other trusted destination and steal sensitive account information.
In 1998, Eugene E. Kashpureff admitted to federal US authorities that on two occasions the previous year he interrupted service for tens of thousands of Internet users worldwide. By corrupting DNS caches, he was able to divert traffic intended for InterNIC to AlterNIC, a competing domain name registration site that he owned.
Makers of DNS products, which in addition to BIND's Internet System Consortium, include Microsoft, PowerDNS and OpenBSD, responded to the discovery by requiring look-up requests and responses to include pseudo-random transaction ID numbers. Because attackers can't predict them, DNS cache servers automatically ignore any attempts to send spoofed responses. But over the past year, Klein has found defects in the randomization processes of many of these products that allow him to accurately predict the ID numbers.
That has prompted a new round of patches that include more robust algorithms. Just last week, for instance, Microsoft pushed out a Windows update that did just that. Klein hasn't had time to examine that patch, but he's still not confident the transaction ID in others can't be predicted.
Asked how such a wide range of developers could deploy weak randomization features into software so critical to the functioning of the net, Klein said: "It's a mystery to me. None of them probably consulted a real cryptography expert. There are DNS server implementations which use real crypto, so it is not that they didn't have any counter examples. I'm as dumbfounded by this as you are." ®