Test Center guide to browser security
Chrome, Firefox, Internet Explorer, Opera, and Safari have different security advantages and shortcomings. More important than the browser you choose, however, is how you maintain and use it.
The recent out-of-band emergency patch for Internet Explorer has many pundits recommending any browser but IE as the best security defense. Although there is some safety in using less frequently attacked software, a better question is which is the safest choice among the most popular browsers? What are the most important security features to look for in a browser, and what are the weaknesses to beware?
This review focuses on security features of the following Windows-based Internet browsers: Google Chrome, Mozilla Firefox, Microsoft Internet Explorer, Opera Software's Opera, and Apple's Safari. All but Chrome are included because they rank among the most popular browsers, with long track records and millions of users. Google Chrome is included because it boasts a unique security model and the wide expectation to significantly eat into the other browsers' market share. The latest publicly available versions (including beta versions) have been used in the review. Each browser has been tested on Windows XP Pro SP3 and Windows Vista Enterprise.
[ For more on browser security, and the Test Center's security reviews of Chrome, Firefox, Internet Explorer, Opera, and Safari, see InfoWorld's special report. ]
The purpose of this review was to test each browser's security fitness. As such, these reviews generally do not cover any new features not related to security. Also, since this review was focused on testing the security of each particular browser, all browsers were tested with the default vendor-installed add-ons only. For example, although NoScript is a popular Firefox browser add-on often installed to enhance security, it isn't installed by default and isn't created by the vendor, so it wasn't included in the review.
Full disclosure: The author of this article is employed full-time by Microsoft as a security architect. He has no involvement in the development or marketing of Internet Explorer. He uses multiple browsers across several OS platforms on a daily basis and has several favorites, including browsers not included in this review.
Making a secure browser
If you're looking for the perfectly secure browser, stop looking. Each new browser entry typically promises a more secure browsing experience, only to prove that making a truly secure Web browser is difficult. Each of the most popular browsers has dozens of patched vulnerabilities. Even the newest, Google's Chrome, released in beta form in September 2008, has nearly a dozen exploits already. Perhaps the strongest testament to how hard it is to make a secure Internet browser is the fact that even the text-only Lynx browser, which is as simple as a browser can be (it can't even display pictures or video without external programs), has had five vulnerabilities. If attackers can cause buffer overflows in a text-based browser, any browser more complex will have its issues.
In general, administrators must consider every Internet-connected Web browser as high risk. In very high-security environments, Web browsers aren't allowed to run or aren't allowed to render content from the Internet. But assuming your enterprise needs to browse the Internet and seeks a Web browser with an acceptable level of security, keep reading. A secure browser must include the following traits as a minimum:
* It was coded using Security Development Lifecycle (SDL) techniques.
* It has undergone code review and fuzzing.
* It logically separates network and local security domains.
* It prevents easy malicious remote control.
* It prevents malicious redirection.
* It has secure defaults.
* It allows the user to confirm any file download or execution.
* It prevents URL obscurity.
* It contains anti-buffer overflow features.
* It supports common secure protocols (SSL,TLS, etc.) and ciphers (3DES, AES, RSA, etc.).
* It patches and updates itself automatically (with the user's consent).
* It has a pop-up blocker.
* It utilizes an anti-phishing filter.
* It prevents Web site cookie misuse.
* It prevents easy URL spoofing.
* It provides security zones/domains to segregate trust and functionality.
* It protects the user's Web site logon credentials during storage and use.
* It allows browser add-ons to be easily enabled and disabled.
* It prevents mischievous window use.
* It provides privacy controls.
* It has been battle tested by hackers over a sufficient period of time.
Another good place to start learning the detailed basics of Web browser security is Part 2 of the Browser Security Handbook, maintained by Michal Zalewski. The Browser Security Handbook gives a great introduction to many of the behind-the-scenes security policies that underlie most of today's browsers and indicates which features are supported in various browsers.
How to measure the security of a browser
Vulnerability counts and the frequency of announced exploits account for much of the overall risk to a Web browser, but they are far from the only relevant factors to consider. In this security review, the following criteria were used during evaluation:
Security model. Each browser is coded on the underlying strength of the browser vendor's chosen security model. This model is what keeps the untrusted network side separated from the more trusted security zones. If malware is able to exploit the browser, how easily can it compromise the whole system? What defenses did the vendor include in the browser's underlying design to prevent malicious use? How is malicious redirection (such as cross-domain cross-site scripting and frame theft) prevented? Is memory secured and cleared against malicious reuse? Does the browser give end-users multiple security domains or zones with varying levels of functionality in which to place different Web sites according to their level of associated trust? What end-user protections have been built into the browser? Does the browser attempt to update itself? All of these questions, and more, go into determining the fitness of a browser's security model.
When the browser runs on Windows does it take advantage of Data Execution Prevention (DEP)? If it runs on Windows Vista, does it use file and registry virtualization, Mandatory Integrity Controls (see sidebar), or Address Space Layout Randomization? These topics require too much space to discuss appropriately in this review, but all four mechanisms can make it harder for malware to gain system control.
Feature set and complexity. More features and increased complexity are the antithesis of computer security. Additional features mean more code available to exploit with more unexpected interactions. Conversely, a browser with a minimal feature set may not be able to render popular Web sites, which forces the user to use another browser or to install potentially insecure add-ons. Popular add-ons are often exploited by malware writers.
User-definable security zones (also known as security domains) are also an important feature. Ultimately, less functionality translates into better security. Security zones provide a way to classify various Web sites as more trustworthy and, hence, suited for greater functionality. You should be able to trust your company's Web sites significantly more than a Web site offering pirated software or a small Web page served up by someone you don't know. Security zones allow you to set various security settings and functionalities based upon the Web site's location, domain, or IP address.
Security domains are used in every computer security product (firewalls, IPSes, and so on) to establish security boundaries and areas of default trust. Having a security zone in a browser extends that model. Browsers without security zones encourage you to treat all Web sites with the same level of trust -- as well as to reconfigure the browser or use another browser for less trustworthy Web sites before each visit.
Vulnerability announcements and attacks. How many vulnerabilities have been found and publicly announced against the browser product? Are the vulnerability counts going up or down as the vendor patches its browser? How severe have the vulnerabilities been? Do they allow full system compromise or denial of service? How many vulnerabilities are currently unpatched? What is the history of zero-day attacks against the vendor? How often is the vendor's browser targeted versus a competitor's product?
Browser security tests. How did the browser fare against popularly available browser security test suites? In this review, all of the products passed the most well-known browser security tests located on the Internet, so each item was further exposed to dozens of real-life malicious Web sites. Often the outcome was not pretty. I experienced frequent browser lockups, objectionable content, and sometimes complete system reboots.
Enterprise manageability features. InfoWorld caters to administrators and technicians who need to accomplish tasks across an entire enterprise. It is generally easy to secure a favorite individual browser for personal use, but doing so for an entire business requires special tools. If the browser were selected for enterprise use, how easy is it to install, set, and manage secure configurations for every user?
These are the general categories that were considered when reviewing each Internet browser.
How I tested
I downloaded the latest publicly available version of each browser (including beta products) and installed it on fully patched 32-bit versions of Windows Vista Enterprise SP1 and Windows XP Pro SP3. I reviewed all security settings and options and checked the vendor documentation for clarification. I then subjected each browser to numerous tests, including dozens of pre-defined tests made in the lab, Internet-based test suites, and exposing the browsers to known-malicious Web sites.
The Internet-based test suites included several browser security test sites, such as scanit and Jason's Toolbox; several JavaScript, Java, and pop-up blocker testing sites; several cross-site scripting (XSS) testing Web sites; and several browser privacy test sites. I tested the security of the browsers' password handling using the Password Manager Evaluator Web site and the security of cookie handling using the Gibson Research Corporation's Cookie Forensics Web site. I tested Extended Validation certificates using links provided on the IIS7 site.
I surfed to dozens of Web sites known to contain live malware from several public and private malware site lists, including ShadowServer. I also visited dozens of known phishing Web sites, courtesy of PhishTank and similar referral sites. I used Process Explorer to monitor local processes and resources during install and ongoing operations. And I sniffed the browsers' network traffic using Microsoft Network Monitor or Wireshark and examined the results for information leaks.
Finally, I also relied on public vulnerability testing for these evaluations, including Metasploit and milw0rm.com. Vulnerability statistics were taken from Secunia.com or CVE.
Additionally, each browser was used over a series of several weeks (or longer) to test general use, patching intervals, and other involved functionality.
The most secure browser
Which of the browsers tested can claim to be the most secure? Here's the big shocker: None of the fully patched browsers allowed silent infections or exploitation beyond simple DoS attacks. All of the browsers stopped the latest malicious attacks available on the Internet. Occasional zero-day attacks could silently infect a particular browser during a particular period of time, but all of the browsers have this same risk, and all of the browser vendors in this review are fairly consistent in patching significant problems in a timely manner.
Hence, the overall conclusion of this review is that any fully patched browser can be used relatively safely. You can change browsers, but your risk is the same with all of them -- nearly zero -- if your browser, OS, and all add-ons and plug-ins are fully patched.
However, if I pretended to be an end-user tricked into running a malicious executable (such as a fake anti-virus program), each browser allowed the system to be infected and compromised. End-users running on Windows Vista without elevated credentials would have prevented most malware infections from occurring, but even those users were readily exploited if they purposefully elevated themselves to install the rogue program.
Browser security tips
Instead of accusing one browser of being weaker than another, real-world testing has revealed that users should pick a browser that has the security features and functionality they desire, and implement the following suggestions.
* Don't log on as admin or root when running an Internet browser (or use UAC on Windows Vista, SU on Linux, etc.).
* Make sure the browser, OS, and all add-ons and plug-ins are fully patched.
* Don't be tricked into running malicious code.
* If unexpectedly prompted to install third-party software while browsing a site, open another tab and download the requested software directly from the software vendor's Web site.
* Be careful about which add-ons and plug-ins you use. Many aren't secure, many are very insecure, and some are actually malware in disguise.