In episode 106, we discussed a report detailing an attack that leveraged the Forbes.com website to direct visitors to an exploit kit and subsequently infect certain designated targets in the defense and financial industries using two zero day vulnerabilities. A number of people have asked me for ideas on how to defend against this threat from the perspective of a home user, so I thought it best to write a blog post about it. Just a heads up: this is aimed at Windows users.
One of the go-to mitigations for the defending against drive by web browser style attacks are ad blockers, like AdBlock Plus. In the Forbes instance, it isn’t clear whether an ad blocker would have helped, since the malicious content may not have originated from an ad network, and instead was added through a manipulation of the Forbes site itself to include content from the exploit-hosting site. Many of the targeted watering hole attacks commonly alter the web site itself. Regardless, recent reports indicate AdBlock Plus accepts payment from ad networks in return for allowing ads through. I would not consider ad blocking a reasonable protection in any instance.
A much more effective, however more painful, avenue is NoScript, however NoScript is a FireFox plugin, and I’ve not found great plugins that work as well for Chrome, IE or Opera. With some fiddling, NoScript can provide a reasonable level of protection from general web content threats while mostly keeping your sanity intact. Mostly. You will probably not want to install NoScript on your grandparents’ computer. NoScript can be a blunt instrument, and if the user is not diligent, will likely opt to simply turn it off, at which point we are back where we started from.
Running Flash and Java are like playing with matches in a bed of dry hay. NoScript certainly helps, but it’s not a panacea. For most people, the Java browser plugin should be disabled. Don’t worry, you can still play Minecraft without the plugin. By the way, every time you update Java, the plugin is re-installed and re-enabled. Flash… Well, use NoScript to limit where Flash scripts come from to those you really need.
Browsing using a Windows account that does not have administrator rights also mitigates a lot of known browser exploits. To do this, create a wholly separate user account which does not have administrator rights and use that unprivileged account for general use, logging out or using UAC (requiring the username and password of the ID that has administrator rights) to perform tasks that require administrator rights. It’s important that you use a separate account, even those UAC gives the illusion that administrative operations will always prompt for permission to elevate authority when you are using an account with administrator rights. UAC was not designed to be a security control point, though. This might be a hassle that home users may not find palatable or be disciplined enough to stick with, however it is effective at blocking many common attacks.
Finally, using Microsoft’s Enhanced Mitigation Experience Toolkit (EMET) will block many exploit attempts, and is definitely worth installing. The default policy is pretty effective in the latest versions of EMET. The configuration can be tweaked to protect other applications not in the default policy, but doing so will require some testing, since some of these protections can cause applications to crash if they were not built with those settings in mind.
Finally, a web filter such as Blue Coat K9 can help prevent surreptitious connections to malicious web servers hosting exploit kits, so long as the site is known malicious.
Remarkably, anti-virus didn’t make the list. Yes, it needs to be installed and kept up to date, but don’t count on it to save you.
One additional thought for those who are really adventurous: install VirtualBox or use HyperV to install Windows or Linux in a virtual machine and use the browser in the virtual machine. I’ll write a post on the advantages of doing this sometime in the future.
Do you have other recommendations? Leave a comment!