An old bug is rearing its ugly head again -- and this time, it could spell trouble for not only Internet users, but for corporate intranets as well.
The so-called "DNS pinning" vulnerability -- sometimes called DNS rebinding -- has researchers worldwide scrambling to figure out ways to protect Web users and corporate networks.
DNS pinning is a browser technology that is designed to tie a single IP address to a single domain. Ironically, it was developed as a security precaution to help prevent malicious servers from hijacking HTTP sessions. But now researchers have discovered some pretty scary -- and shockingly easy -- anti-DNS pinning attacks, a few of which will be revealed and demonstrated at Black Hat next month.
In one proof-of-concept exploit, a researcher will show how a victim can be lured to a malicious site -- allowing the attacker to set up a VPN connection straight to the victim's corporate network. Another will show an anti-DNS pinning attack that makes the victim's browser a proxy server, allowing the attacker to reach the victim's intranet.
It's just those kinds of severe attack scenarios that have led to a resurgence of interest in the bug -- which isn't actually in DNS, but in browsers and browser plug-in programs such as Java, Flash, and Adobe. "The security industry is taking a hard look at Web 2.0," says Dan Kaminsky, who will present the VPN attack in his BlackOps session at Black Hat. The more code and action on the client in the Web 2.0 model, the more at risk the client, he says.
Kaminsky, who is director of penetration testing for IOActive, says it's trivial to exploit the DNS pinning flaw. "I can build an exploit in the same day... That's why so many people are working on this one," he says. "There's no barrier to entry to build an exploit. You don't have to make different versions for different Web browsers."
Even worse, there's really no way to patch it. In Kaminsky's demo, he'll show "generic" tunneling with a VPN client to show how it's not limited to one protocol or browser. "I want to show that this class of vulnerabilities is generic. It's a full-on connectivity compromise," he says. "And when you take a fully weaponized version of it, it's impossible to fix with any patch."
DNS pinning is vulnerable because it tries to bind a single IP address to a single domain name, experts say. "But it doesn't work, because there are multiple things that can run inside a browser and that do their own DNS lookups -- XML, Java plug-ins," Kaminsky explains.
For example, because the Web allows one Web page to show you another, Kaminsky says, an attacker could take advantage of that by embedding a configuration screen of your DSL router or intranet printer, and "bounce off" the browser to read and write messages to those devices.
"It makes your browser think that both a Website on the Internet and your internal printer are the same place, to be trusted just the same -- even though one is several thousand miles away and the other is just down the hall," Kaminsky says.
"At the end of the day, the problem is you don't want bad guys bouncing off Web browsers and affecting other things," he says.
The big challenge is getting the browser and plug-in vendors to respond to the problem. "One thing to keep in mind is that a fix must happen in three separate locations: in the browser, Flash, and Java," says Jeremiah Grossman, CTO and founder of WhiteHat Security.
Grossman says he has advised the browser vendors to prevent public Websites from initiating connections to private IPs, but so far, none have responded.
So if there's no patch, what can you do? A white paper written by Dafydd Stuttard, principal security consultant with NGS Software, recommends preventing one type of anti-DNS pinning attack by posting a warning message to site users that asks them whether they trust the Website that has moved -- and if not, to stop using it.
The paper also recommends adding stronger authentication for internal, Web-based sensitive content; employing the same level of security testing and "hardening" as for public Web apps; and using SSL for accessing internal apps. You should also prevent your Internet Web proxies from accessing your intranet servers by blocking those connections at the network level, the paper says.
Meanwhile, several researchers are still working on exploring the risks of the DNS pinning flaw and how to mitigate attacks that take advantage of it. "There is a lot more research to be done in this area. It's not going to stop anytime soon," WhiteHat's Grossman says.
Kelly Jackson Higgins, Senior Editor, Dark Reading