The curious case of the invulnerable Web browser

Even if every Internet browser were vulnerability-free, it wouldn't stop malicious hackers and malware

The results of the CanSecWest 2009 PWN2OWN hacking contest are in. And guess what? The hackers won, and the browsers lost -- the lone exception being Google Chrome. Hackers successfully compromised fully patched Firefox, Internet Explorer, and Safari browsers, all using exploits that required the local user to load a malicious Web site. Today, that's how 99.999 percent of exploits happen.

Dr. Charlie Miller, whom I've met a few times at Black Hat conferences in Las Vegas, took down the Apple Safari browser running on an Apple computer. Most reports said he did it in 10 seconds, but Dr. Miller later confirmed that he had the specific exploit in mind since last year's contest, but kept it secret so he could claim another cash prize and new computer. It's a bit like asking an artist how long it took him to paint a particular painting. "My whole life," the artist should respond, if he includes experience and practice in the equation. Check out this great interview with Dr. Miller for more.

[ Cut straight to the key news for technology development and IT management, with our once-a-day summary of the top tech news. Subscribe to the InfoWorld Daily newsletter. ]

Dr. Miller's exploit was quickly followed by Nils (only the first name was given), who also exploited Safari, this time on Windows Vista, followed by successful exploits against Internet Explorer and Firefox. Nils too was going home with a nice cash prize and computer. I understand he is looking for a job and using CanSecWest as part of his interview.

Mighty Chrome

Google's Chrome was the only browser the hackers did not break. Dr. Miller said that he had Chrome exploits but couldn't leverage the exploits into something useful. Kudos to the Google team! I wrote about the enhanced security model Chrome uses in my security review of Internet browsers earlier this year. I gave Chrome high marks for the base security model but slammed it for some basic mistakes.

I'm a little sad that Opera was not involved in the contest. It doesn't get enough respect, although I'm not sure if Opera's makers really want it exposed to a no-holds-barred battle test. The odds aren't good for any browser in money-for-bugs competition.

So is Google's Chrome the prime candidate for perfect browser security? Not really. First, it has had its share of exploits and bugs since it was released, and it probably won't go even a year without another security vulnerability being found, especially if it gains popularity. I could be wrong (and I hope I am), but it's very difficult for any of today's sophisticated browsers to go merrily along without some interesting security issue being found. Browsers are ultra-complex pieces of software, interacting in myriad unexpected ways with millions of Web sites (some not so nice), questionable JavaScript, reams of dicey content, and unmanaged plug-ins from third-party vendors.

Chromium team, if I'm wrong and Chrome goes a full 12 months without an exploit, the beer, good beer, is on me.

Asking for trouble

But here is the dirty little secret of browser security: Even if every Internet browser made today were completely bug-free, it wouldn't stop malicious hackers and malware. Why? Because the vast majority of successful malicious exploits today don't exploit buggy browsers, but rather unwitting end-users. That is, Web-based malware is successful because end-users are intentionally installing it! Most exploit code doesn't search for an unpatched vulnerability, but simply asks the user to install.

Imagine being a browser vendor and knowing that even if you reach the Holy Grail of browser coders -- producing a browser with no serious security vulnerabilities, ever -- it simply won't make a difference to most end-users, because they will allow malware to enter their system right through the front door (egged on by very legitimate-looking social engineering tricks).

The most common trick is the fake anti-virus warning. The user thinks their anti-virus program is detecting a virus and intentionally installs the new program to "fix" it. I tested all the leading browsers, and all of them fall for this fake .EXE trick. If the end-user executes the impostor, it's game over, no matter which browser they're using.

Today, the problem isn't so much the browser -- most browsers are getting more and more secure. Browsers are the strong link in the relationship. Stop thinking that some magically secure browser is one day going to make your life easier. It won't.

Let that sink in a bit and ask what you would do differently today based on that information? Better end-user education? Not letting them be logged on as administrator or root all the time? Whitelisting software?

As usual, the answer is harder than it first appears.

Mobile Security Insider: iOS vs. Android vs. BlackBerry vs. Windows Phone
Recommended
Join the discussion
Be the first to comment on this article. Our Commenting Policies