Threat Model for the Web

Editor’s Draft,

More details about this document
This version:
http://w3c.github.io/threat-model-web/
Feedback:
public-security@w3.org with subject line “[threat-model-web] … message topic …” (archives)
Editors:
(W3C)
(Legendary Requirements)
(FBK)

Abstract

This document describes the Threat Model for the Web and include the Web Security Model and may include the goals that have not yet been achieved across the whole web platform, but which will still be applied in reviews of new and changed specifications.

Status of this document

1. What are we building?

1.1. Use Scenario

The Web Platform is a collection of open (royalty-free) technologies that enable the Web. As a platform, users interact with websites using their user agent (e.g., a Web Browser).

Websites contain a series of file formats, such as HTML, CSS, fonts, multimedia files, and scripts, that are transmitted from the server to the user’s device, interpreted, and rendered by the browser so the user can use them. The web browser is a critical and widely used gateway for accessing the web. It is increasingly relied upon as the single most important application for work, forming the basis of browser-centric workflows.

However, the Web Platform presents significant security and privacy challenges for the Web Browser, which is designed to request and execute instructions from arbitrary locations on the Internet, and it must surrender considerable control to web servers to render content correctly, as it runs code from untrusted sources.

Therefore, a Web Security Model—which defines the logic of web security — that can be characterized by the centrality of the concept of origin and isolation. These concepts are enshrined as part of the underlying logic in web specifications and are subsequently implemented in the various components of Web User Agents. Web browsers are a type of Web User Agent.

That’s why it’s interesting to analyze the threat model by abstracting the structure of a hypothetical web browser.

1.2. Web Browser Components

Main components of a Web Browser:

1.3. External Dependencies

The web browser operates within an ecosystem that includes several external dependencies, systems, or entities it interacts with or relies upon:

1.4. Entry Points

Entry points are interfaces or mechanisms through which an adversary can interact with or supply data to the system. For a web browser, these include:

1.5. Assets

The assets that need to be protected when considering the web browser threat model are diverse and critical to user security and privacy:

1.6. Threat sources

1.7. High-level Threats

1.8. Security Features and Invariants

Web browsers employ a variety of security features and protection mechanisms to defend against threats:

1.9. Data Flow Diagram

1.9.1. Main Web Browser Components

The diagram illustrates the data flow and interactions between core browser components, external entities, and specific elements like storage, extensions, and device sensors.

Data Flow Diagram (DFD)