Browser security is the application ofInternet security toweb browsers in order to protectnetworked data andcomputer systems from breaches of privacy ormalware. Security exploits ofbrowsers often useJavaScript, sometimes withcross-site scripting (XSS) with a secondary payload usingAdobe Flash. Security exploits can also take advantage ofvulnerabilities (security holes) that are commonly exploited in allbrowsers.
The first web browser, WorldWideWeb, created in 1990 by SirTim Berners-Lee, was rudimentary, using theHTTP protocol to navigate between documents. TheMosaic web browser, released in April 1993, featured a graphical user interface that made the Web more accessible, sparking the Internet boom of the 1990s. This boom led to the browser wars betweenNetscape Navigator, developed by Mosaic's creators, and Microsoft'sInternet Explorer. This fierce competition was characterized by a rapid race to incorporate new features, often at the expense of userprivacy andsecurity.[1][2] Features were added to HTML to support interoperability with proprietary systems likeVBScript andJava applets, and vendors aimed to ensure their browsers could handle websites optimized for competitor. This led to increasingly convoluted set of undocumented hacks and fault tolerant architectures that were often hard to standardize due to competing interests.[3] After the end of this period, colloquially known as thefirst browser war, Internet Explorer captured over 80% of the market. However, despite being in this dominant position, Microsoft, the creator of Internet Explorer did not invest significantly into the browser after this period.[4] This led to the proliferation of security issues, browservulnerabilities and webworms leading eventually to the creation of modern browsers likeMozilla Firefox,Safari and eventuallyGoogle Chrome.[3]
Web browsers can be breached in one or more of the following ways:
The browser may not be aware of any of the breaches above and may show the user a safe connection is made.
Whenever a browser communicates with a website, the website, as part of that communication, collects some information about the browser (in order to process the formatting of the page to be delivered, if nothing else).[7] If malicious code has been inserted into the website's content, or in a worst-case scenario, if that website has been specifically designed to host malicious code, then vulnerabilities specific to a particular browser can allow this malicious code to run processes within the browser application in unintended ways (and remember, one of the bits of information that a website collects from a browser communication is the browser's identity- allowing specific vulnerabilities to be exploited).[8] Once an attacker is able to run processes on the visitor's machine, then exploiting known security vulnerabilities can allow the attacker to gain privileged access (if the browser isn't already running with privileged access) to the "infected" system in order to perform an even greater variety of malicious processes and activities on the machine or even the victim's whole network.[9]
Breaches of web browser security are usually for the purpose of bypassing protections to displaypop-up advertising[10] collectingpersonally identifiable information (PII) for eitherInternet marketing oridentity theft,website tracking orweb analytics about a user against their will using tools such asweb bugs,Clickjacking,Likejacking (whereFacebook'slike button is targeted),[11][12][13][14]HTTP cookies,zombie cookies orFlash cookies (Local Shared Objects or LSOs);[15] installingadware,viruses,spyware such asTrojan horses (to gain access to users'personal computers viacracking) or othermalware includingonline banking theft usingman-in-the-browser attacks.
In depth study of vulnerabilities in Chromium web-browser indicates that, Improper Input Validation (CWE-20) and Improper Access Control (CWE-284) are the most occurring root causes for security vulnerabilities.[16] Furthermore, among vulnerabilities examined at the time of this study, 106 vulnerabilities occurred in Chromium because of reusing or importing vulnerable versions of third party libraries.
Vulnerabilities in the web browser software itself can be minimized by keeping browser software updated,[17] but will not be sufficient if the underlying operating system is compromised, for example, by a rootkit.[18] Some subcomponents of browsers such as scripting, add-ons, and cookies[19][20][21] are particularly vulnerable ("theconfused deputy problem") and also need to be addressed.
Following the principle ofdefence in depth, a fully patched and correctly configured browser may not be sufficient to ensure that browser-related security issues cannot occur. For example, arootkit cancapture keystrokes while someone logs into a banking website, or carry out aman-in-the-middle attack by modifying network traffic to and from a web browser.DNS hijacking orDNS spoofing may be used to return false positives for mistyped website names, or to subvert search results for popular search engines. Malware such asRSPlug simply modifies a system's configuration to point at rogue DNS servers.
Browsers can use more secure methods ofnetwork communication to help prevent some of these attacks:
Perimeter defenses, typically through firewalls and the use offilteringproxy servers that block malicious websites and perform antivirus scans of any file downloads, are commonly implemented as a best practice in large organizations to block malicious network traffic before it reaches a browser.
The topic of browser security has grown to the point of spawning the creation of entire organizations, such as The Browser Exploitation Framework Project,[22] creating platforms to collect tools to breach browser security, ostensibly in order to test browsers and network systems for vulnerabilities.
Although not part of the browser per se, browserplugins andextensions extend theattack surface, exposing vulnerabilities inAdobe Flash Player,Adobe (Acrobat) Reader,Java plugin, andActiveX that are commonly exploited. Researchers[23] have extensively studied the security architecture of various web-browsers in particular those relying on plug-and-play designs. This study has identified 16 common vulnerability types, and 19 potential mitigations. Malware may also be implemented as a browser extension, such as abrowser helper object in the case of Internet Explorer.[24] In various other exploits websites which were designed to look authentic and included rogue 'update Adobe Flash' popups designed as visual cues to download malware payloads in their place.[25] Some browsers likeGoogle Chrome and MozillaFirefox can block—or warn users of—insecure plugins.
An August 2009 study by theSocial Science Research Network found that 50% of websites using Flash were also employing Flash cookies, yet privacy policies rarely disclosed them, and user controls for privacy preferences were lacking.[26] Most browsers'cache and history delete functions do not affect Flash Player's writing Local Shared Objects to its own cache, and the user community is much less aware of the existence and function of Flash cookies than HTTP cookies.[27] Thus, users having deleted HTTP cookies and purged browser history files and caches may believe that they have purged all tracking data from their computers while in fact Flash browsing history remains. As well as manual removal, the BetterPrivacy add-on for Firefox can remove Flash cookies.[15]Adblock Plus can be used to filter out specific threats[10] andFlashblock can be used to give an option before allowing content on otherwise trusted sites.[28]
Charlie Miller recommended "not to install Flash"[29] at thecomputer security conference CanSecWest. Several other security experts also recommend to either not install Adobe Flash Player or to block it.[30]
The contents of a web page are arbitrary and controlled by the entity owning the domain named displayed in the address bar. IfHTTPS is used, then encryption is used to secure against attackers with access to the network from changing the page contents en route. When presented with a password field on a web page, a user is supposed to look at the address bar to determine whether the domain name in the address bar is the correct place to send the password.[31] For example, for Google's single sign-on system (used on e.g. YouTube.com), the user should always check that the address bar says "https://accounts.google.com" before inputting their password.
An un-compromised browser guarantees that the address bar is correct. This guarantee is one reason why browsers will generally display a warning when entering fullscreen mode, on top of where the address bar would normally be, so that a fullscreen website cannot make a fake browser user interface with a fake address bar.[32]
Browsing the Internet as aleast-privilege user account (i.e. without administrator privileges) limits the ability of a security exploit in a web browser from compromising the whole operating system.[33]
Internet Explorer 4 and later allows the blocklisting[34][35][36] and allowlisting[37][38] ofActiveX controls, add-ons and browser extensions in various ways.
Internet Explorer 7 added "protected mode", a technology that hardens the browser through the application of a security sandboxing feature ofWindows Vista calledMandatory Integrity Control.[39]Google Chrome provides asandbox to limit web page access to the operating system.[40]
Suspected malware sites reported to Google,[41] and confirmed by Google, are flagged as hosting malware in certain browsers.[42]
There are third-party extensions and plugins available toharden even the latest browsers,[43] and some for older browsers and operating systems.Whitelist-based software such asNoScript can blockJavaScript and Adobe Flash which is used for most attacks on privacy, allowing users to choose only sites they know are safe –AdBlock Plus also uses whitelistad filtering rules subscriptions, though both the software itself and the filtering list maintainers have come under controversy for by-default allowing some sites to pass the pre-set filters.[44] TheUS-CERT recommends to blockFlash usingNoScript.[45]
Modern web browsers undergo extensivefuzzing to uncover vulnerabilities. TheChromium code ofGoogle Chrome is continuously fuzzed by the Chrome Security Team with 15,000 cores.[46] ForMicrosoft Edge andInternet Explorer,Microsoft performed fuzzed testing with 670 machine-years during product development, generating more than 400 billion DOM manipulations from 1 billion HTML files.[47][46]