Germany's cyber-security agency is working on a set of minimum rules that modern web browsers must comply with in order to be considered secure.
The new guidelines are currently being drafted by the German Federal Office for Information Security (or the Bundesamt für Sicherheit in der Informationstechnik -- BSI), and they'll be used to advise government agencies and companies from the private sector on what browsers are safe to use.
A first version of this guideline was published in 2017, but a new standard is being put together to account for improved security measures added to modern browsers, such as HSTS, SRI, CSP 2.0, telemetry handling, and improved certificate handling mechanisms -- all mentioned in a new draft released for public debate last week.
According to the BSI's new draft, to be considered "secure," a modern browser must follow the following requirements:
- Must support TLS
- Must have a list of trusted certificates
- Must support extended validation (EV) certificates
- Must verify loaded certificates against a Certification Revocation List (CRL) or an Online Certificate Status Protocol (OCSP)
- The browser must use icons or color highlights to show when communications to a remote server is encrypted or in plaintext
- Connections to remote websites running on expired certificates must be allowed only after specific user approval
- Must support HTTP Strict Transport Security (HSTS) (RFC 6797)
- Must support Same Origin Policy (SOP)
- Must support Content Security Policy (CSP) 2.0
- Must support Sub-resource integrity (SRI)
- Must support automatic updates
- Must support a separate update mechanism for crucial browser components and extensions
- Browser updates must be signed and verifiable
- Browser's password manager must store passwords in an encrypted form
- Access to the browser's built-in password vault must be allowed only after the user has entered a master password
- User must be able to delete passwords from the browser's password manager
- Users must be able to block or delete cookie files
- Users must be able to block or delete autocomplete history
- Users must be able to block or delete browsing history
- Organization admins must be able to configure or block browsers from sending telemetry/usage data
- Browsers must support a mechanism to check for harmful content/URLs
- Browsers should let organizations run locally-stored URL blacklists
- Browsers must be able to import centrally-created configuration settings, ideal for wide-scale enterprise deployments
- Must allow admins to disable cloud-based profile synchronization features
- Must run after its initialization with minimal rights in the operating system
- Must support sandboxing. All browser components must be isolated from each other and the operating system. Communication between the isolated components may only take place via defined interfaces. Direct access to resources of isolated components must not be possible.
- Web pages need to be isolated from each other, ideally in the form of stand-alone processes. Thread-level isolation is also allowed.
- Browsers must be coded using programming languages that support stack and heap memory protections
- Browser vendor must provide security updates no longer than 21 days after the public disclosure of a security flaw. If the primary browser vendor fails to provide a security update, organizations must move to a new browser.
- Browsers must use OS memory protections like Address Space Layout Randomization (ASLR) or Data Execution Prevention (DEP).
- Organization administrators must be able to regulate or block the installation of unsanctioned add-ons/extensions.
Once this draft goes through a public debate, it is expected that the BSI will release a public document detailing which browsers meet the new criteria, as it did in 2017 -- document that is now outdated.
But besides rules for what is considered a "secure browser," the BSI guideline also includes a basic "secure" configuration for browsers, that sysadmins can use as a guide for deploying browsers in their organizations.
- Browsers must support TLS 1.2 or higher
- Sysadmins must check whether the list of root CAs must be restricted or not.
- The use of HSTS must be activated for all websites. Exceptions for special sites and privacy requirements are possible.
- Third-party cookies may not be accepted.
- Plugin execution (such as Flash, Java, or others) is only allowed after user confirmation (click-to-play).
- Extended Media Extensions (EME) must be disabled if they are not needed.
- The autocomplete feature must be disabled.
- The synchronization of data (cookies, history, bookmarks, etc.) with external storage services or locations (cloud) must be disabled.
- Centrally-managed settings/configurations must be protected from unauthorized user changes.
- After applying browser updates, admins must check for any browser configuration changes.