Skip to content
atlas

Attack surface

The sum of all the places where an outsider could try to get into a system, send data into it or pull data out.

Draft - this entry has not been reviewed yet.

Formal

The set of all points at which a system can be reached or acted on from outside its trust boundary - open ports, web pages and APIs, user accounts, stored data, the people who run it and the suppliers it depends on.

In plain English

Like counting every door, window, hatch and mail slot in a house - each one is a place a burglar could try, whether or not it is locked.

In practice

An IT operations manager at a water utility checks what it exposes to the internet and finds an old test website, a forgotten file server and three admin accounts nobody uses; shutting them down shrinks the attack surface.

Why it matters

Every extra way in is one more thing to watch and patch, and attackers need to find only the one that was missed; a smaller surface leaves fewer places for weaknesses to hide.

Technical deep dive

NIST defines the attack surface as the set of points on the boundary of a system, a system element or an environment where an attacker can try to enter, cause an effect on, or extract data from it. In practice it is usually split into a digital surface (network services, web applications and APIs, remote-access gateways, cloud storage, identity endpoints), a physical surface (devices, ports, premises) and a human or social-engineering surface (staff, help desk, suppliers with access). Software supply-chain dependencies and third-party SaaS integrations have become a fourth category, because a compromised OAuth grant or build dependency reaches inside the boundary without touching any exposed port.

Attempts to measure it go back to Michael Howard's Relative Attack Surface Quotient at Microsoft in the early 2000s, which counted and weighted "attack vectors" such as open sockets, services running as SYSTEM and weak ACLs. Manadhata and Wing later formalised a metric along three dimensions: entry and exit points (methods that receive or send data), channels (sockets, pipes, RPC endpoints) and untrusted data items (files, registry keys, database rows), each weighted by a damage-potential-to-effort ratio. The useful insight is that surface is not just a count of ports; a single endpoint running with high privilege or accepting unauthenticated input weighs more than ten read-only ones.

Operationally, external attack surface management (EASM) discovers what is actually exposed from the outside using DNS enumeration, certificate transparency logs, internet-wide scan data and cloud provider inventories, then compares it with the CMDB. Typical findings are forgotten subdomains vulnerable to takeover, test environments with production data, exposed RDP or management interfaces, and storage buckets with public read. Internally, attack surface analysis in a design review lists entry points per trust boundary, which feeds directly into threat modelling.

Reduction follows a few principles: remove what is not needed (hardening, decommissioning), restrict who can reach what remains (network segmentation, allowlists, authentication in front of admin interfaces), and lower the privilege behind each entry point. A common misconception is that few known CVEs means a small surface; vulnerabilities are defects in the surface, not the surface itself, and an unpatched service that nobody knows exists is invisible to vulnerability scanning scoped to known assets. The attack surface is also distinct from the threat landscape: one describes your own exposure, the other the actors and techniques that may exploit it.

What to learn first

Everything this builds on, foundations first.

  1. CIA triad
  2. →Threat
  3. →Asset
  4. →Vulnerability
  5. →Attack surface

Relationships

Don't confuse with
Threat landscape
Caused by
Microservices

Sources & further reading

Standards & official texts

Where this data comes from

This entry was drafted by an AI from the sources above and has not yet been checked by a person. Treat it as a starting point, and check anything important against the sources.

See the review queueSuggest a correction on GitHubThis term as JSON

Mentioned in

Check yourself

Loading…

Atlas is in beta.