The recent <a href="http://www.microsoft.com/technet/security/advisory/961051.mspx" target="new">zero-day IE7 vulnerability</a> is a big deal. Hackers used it to hack into hundreds of thousands of machines, if not millions. Both IE7 and Vista are vastly more secure than their predecessors, yet this bug sliced right through them to give the hacker a robust exploit. We need to do a post mortem of this event to figure out what we should do in the future.

Robert Graham, Contributor

December 19, 2008

4 Min Read

The recent zero-day IE7 vulnerability is a big deal. Hackers used it to hack into hundreds of thousands of machines, if not millions. Both IE7 and Vista are vastly more secure than their predecessors, yet this bug sliced right through them to give the hacker a robust exploit. We need to do a post mortem of this event to figure out what we should do in the future."0days" used to be rare, and only the paranoids worried about them. Now 0days are common, and they need to be part of everyone's defense.

Don't look to commercial products to solve this problem for you. Vendors have been falling over themselves to demonstrate how their products can mitigate this vulnerability, but it's mostly exaggeration. For example, in the IDS industry, vendors can create "exploit" signatures, but it appears that at least one of the known exploits was obfuscated to avoid most IDS products.

More important, many products only address this vulnerability if the products have been configured in a certain way -- a way that most of their customers find unacceptable. It's like weight-loss products that guarantee you will lose weight, but only when used with a general program of diet and exercise. (Presumably, if you were willing to diet and exercise, you wouldn't need weight-loss products).

Rather than relying on products, the solution you should be looking for is to reconfigure, or "harden," Windows. Microsoft lists many ways to reconfigure IE7 to mitigate this vulnerability on its security blog about this vulnerability.

Well, if those hardened steps block these exploits, why doesn't IE7 come configured that way in the first place? The answer is that security is a set of trade-offs. Each of these configuration steps breaks something that you may want. You need to figure out what features you actually need, and disable the rest.

The biggest hardening step is disabling JavaScript ("Active Scripting"). This blocks almost all the vulnerabilities that Internet Explorer has had. Unfortunately, the trade-off is that most Websites these days require JavaScript to function. It can't be considered a viable security step if you expect users to surf the Web.

Another big step is to enable DEP. This is a relatively new feature in Windows that blocks hackers from exploiting memory corruption bugs (such as this IE7 0day). Microsoft leaves this feature disabled for fear that it may break some older software, especially ActiveX controls that corporations may use for internal applications. If you don't have something internal that breaks with DEP, enable it. Even if one of your internal applications breaks, you should still enable DEP and fix that application.

Another important choice you need to make is to disable "administrator" access for users. When users infect themselves with either a 0day exploit or by running a virus, the infection is contained because it cannot gain complete control over the machine. It's a tough transition to make, but many large companies have successfully done so.

Internet Explorer has a related "protected" mode that may help. In this mode, users cannot easily download and run software. In theory, this mode has no effect on vulnerabilities. In practice, though, it protects you because most all exploits are simply a first stage downloader of a second program that does the truly nasty stuff. This "protected" mode stops the download, and therefore will protect against the known exploits for the 0day.

This bug is within a Microsoft-specific feature called "data binding." In fact, most IE vulns have been within Microsoft-specific features. Users don't need features like data binding to surf the Web; they would only need these features when using certain Web applications within the company. If your company does not use data binding, then turn it off. Other features you can turn off that might mitigate this 0day are "XML islands" and "OLEDEB32DLL." For the future, you should turn off as much Microsoft-specific stuff as you can, leaving only the bare minimum behind that your custom, in-house stuff needs.

Security is a trade-off. There is no single product or configuration that works for everyone. The solution to this problem, like most problems, is to figure out which trade-offs are appropriate for you.

Robert Graham is CEO of Errata Security. Special to Dark Reading

About the Author(s)

Keep up with the latest cybersecurity threats, newly discovered vulnerabilities, data breach information, and emerging trends. Delivered daily or weekly right to your email inbox.

You May Also Like


More Insights