- 1 Security
- 1.1 Plugins and extensions
- 1.2 Flash
- 2 Password security model
- 3 Privacy
- 4 Hardware browser
- 5 LiveCD
- 6 Browser hardening
- 7 Remote browser isolation
- 8 Browser isolation
- 9 Fuzzing
- 10 Best practice
- 11 See also
- 12 References
- 13 Further reading
Web browsers can be breached in one or more of the following ways:
- Operating system is breached and malware is reading/modifying the browser memory space in privilege mode
- Operating system has a malware running as a background process, which is reading/modifying the browser memory space in privileged mode
- Main browser executable can be hacked
- Browser components may be hacked
- Browser plugins can be hacked
- Browser network communications could be intercepted outside the machine
The browser may not be aware of any of the breaches above and may show 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). 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). 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.
Breaches of web browser security are usually for the purpose of bypassing protections to display pop-up advertising collecting personally identifiable information (PII) for either Internet marketing or identity theft, website tracking or web analytics about a user against their will using tools such as web bugs, Clickjacking, Likejacking (where Facebook’s like button is targeted), HTTP cookies, zombie cookies or Flash cookies (Local Shared Objects or LSOs); installing adware, viruses, spyware such as Trojan horses (to gain access to users’ personal computers via cracking) or other malware including online banking theft using man-in-the-browser attacks.
Vulnerabilities in the web browser software itself can be minimized by keeping browser software updated, but will not be sufficient if the underlying operating system is compromised, for example, by a rootkit. Some subcomponents of browsers such as scripting, add-ons, and cookies are particularly vulnerable (“the confused deputy problem”) and also need to be addressed.
Following the principle of defence in depth, a fully patched and correctly configured browser may not be sufficient to ensure that browser-related security issues cannot occur. For example, a rootkit can capture keystrokes while someone logs into a banking website, or carry out a man-in-the-middle attack by modifying network traffic to and from a web browser. DNS hijacking or DNS spoofing may be used to return false positives for mistyped website names, or to subvert search results for popular search engines. Malware such as RSPlug simply modifies a system’s configuration to point at rogue DNS servers.
Browsers can use more secure methods of network communication to help prevent some of these attacks:
- DNS: DNSSec and DNSCrypt, for example with non-default DNS servers such as Google Public DNS or OpenDNS.
- HTTP: HTTP Secure and SPDY with digitally signed public key certificates or Extended Validation Certificates.
Perimeter defenses, typically through firewalls and the use of filtering proxy 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, creating platforms to collect tools to breach browser security, ostensibly in order to test browsers and network systems for vulnerabilities.
Plugins and extensions
Although not part of the browser per se, browser plugins and extensions extend the attack surface, exposing vulnerabilities in Adobe Flash Player, Adobe (Acrobat) Reader, Java plugin, and ActiveX that are commonly exploited. Malware may also be implemented as a browser extension, such as a browser helper object in the case of Internet Explorer. Browsers like Google Chrome and Mozilla Firefox can block—or warn users of—insecure plugins.
Main article: Local shared object § Privacy concerns
An August 2009 study by the Social 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. 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. 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 when in fact Flash browsing history remains. As well as manual removal, the BetterPrivacy addon for Firefox can remove Flash cookies. Adblock Plus can be used to filter out specific threats and Flashblock can be used to give an option before allowing content on otherwise trusted sites.
Charlie Miller recommended “not to install Flash” at the computer security conference CanSecWest. Several other security experts also recommend to either not install Adobe Flash Player or to block it.
Password security model
The contents of a web page are arbitrary and controlled by the entity owning the domain named displayed in the address bar. If HTTPS 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. 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.
Main articles: Internet privacy and Privacy mode
There have been attempts to market hardware-based browsers running from non-writable, read-only file systems. Data cannot be stored on the device and the media cannot be overwritten, presenting a clean executable each time it loads. The first such device was the ZeusGard Secure Hardware Browser, released in late 2013. The ZeusGard website has not been functional since mid-2016. Another device, the iCloak® Stik from the iCloak website provides a complete Live OS which completely replaces the computer’s entire operating system and offers two web browsers from the read-only system. With iCloak they provide the Tor browser for Anonymous browsing as well as a regular Firefox browser for non-anonymous browsing. Any non-secured web traffic (not using https, for example), could still be subject to man-in-the-middle alteration or other network traffic-based manipulations.
LiveCDs, which run an operating system from a non-writable source, typically come with internet browsers as part of their default image. If the original LiveCD image is free of malware, all of the software used, including the internet browser, will load free of malware every time the LiveCD image is booted.
One of the most effective ways to browse the web safely is to use browser patches to avoid the Cross-Origin Resource Sharing vulnerability (example patches are provided for WebKit-based browsers).
Also, browsing the Internet as a least-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.
Internet Explorer 4 and later allows the blacklisting and whitelisting of ActiveX 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 of Windows Vista called Mandatory Integrity Control.
Google Chrome provides a sandbox to limit web page access to the operating system.
Suspected malware sites reported to Google, and confirmed by Google, are flagged as hosting malware in certain browsers.
Remote browser isolation
A relatively new approach (started getting a lot of attention in 2017), known as browser isolation or remote browsing, involves executing browsing sessions in a remote location outside the firewall (e.g., in the DMZ or cloud), within an isolated virtual environment such as a container. The securely rendered web content is streamed back to the local browser in real time, providing a seamless and interactive user experience, while ensuring that any malicious code is fully contained—never making its way onto the endpoint. The entire virtual environment can then be reset to a known good state or discarded altogether at the end of the session.
Secure browsing can also require no additional infrastructure beyond the firewall. Instead of remote browsing isolation, a secure application container can access all websites and open all files as long as they are open and utilized within the container. All unsafe content becomes locked and isolated from the host. If the host wants to move the file, it is sanitized into a safe copy using CDR. Remote users who are not using the specific network they would otherwise use in remote browser isolation are still able to open files and browse the internet without compromising their security.  For example, MalwareLocker by Ceedo is a browser isolation product.
Modern web browsers undergo extensive fuzzing to uncover vulnerabilities. The Chromium code of Google Chrome is continuously fuzzed by the Chrome Security Team with 15,000 cores. For Microsoft Edge and Internet Explorer, Microsoft performed fuzzed testing with 670 machine-years during product development, generating more than 400 billion DOM manipulations from 1 billion HTML files.
- Load clean software: Boot from a known clean OS that has a known clean internet browser
- Prevent DNS manipulation: Use trusted and secure DNS
- Adopt adequate countermeasures against the Cross-Origin Resource Sharing vulnerability (example patches are provided for WebKit-based browsers)
- Prevent attacks via third-party software: Use a hardened internet browser or add-on-free-browsing mode
- Avoid website-based exploits: Employ link-checking browser plug-ins commonly found in internet security software
- Avoid malicious content: Employ perimeter defenses and anti-malware software
- Filter bubble
- Frame injection
- Identity driven networking
- Internet safety
- Network security policy
- Web application security
- Sesterhenn, Eric; Wever, Berend-Jan; Orrù, Michele; Vervier, Markus (19 Sep 2017). “Browser Security White Paper” (PDF). X41D SEC GmbH.
- Heiderich, Mario; Inführ, Alex; Fäßler, Fabian; Krein, Nikolai; Kinugawa, Masato (29 Nov 2017). “Cure53 Browser Security White Paper” (PDF). Cure53.