STRIDE Model¶
Enumerate software threats across Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, and Elevation of privilege against a concrete system model.
Core Idea¶
STRIDE is a threat-enumeration model for systematically asking how a designed system could fail under six adversarial categories: Spoofing identity, Tampering with data or code, Repudiation of actions, Information disclosure, Denial of service, and Elevation of privilege. Analysts apply the categories to processes, data stores, flows, external entities, and especially trust-boundary crossings in a concrete architecture.[1]
The recognition invariant is system model + six threat categories + element-by-element enumeration + plausible threat scenarios + mapped mitigations. STRIDE is a completeness aid for discovery, not a probability, severity, or compliance score.
Structural Signature¶
- Defined security scope, assets, and assumptions.
- Architecture or data-flow diagram.
- Processes, stores, flows, actors, and trust boundaries.
- Six STRIDE categories applied systematically.
- Spoofing linked to identity/authentication failure.
- Tampering linked to integrity violation.
- Repudiation linked to missing accountability/nonrepudiation evidence.
- Information disclosure linked to confidentiality loss.
- Denial of service linked to availability degradation.
- Elevation of privilege linked to authorization boundary breach.
- Concrete scenario including actor, target, precondition, and consequence.
- Mitigation/control and residual-risk follow-up.
- Versioned assumptions and model updates as design changes.
What It Is Not¶
It is not DREAD or another risk-scoring scheme. It does not assign likelihood, impact, priority, or acceptance. It is not an attack tree, although its findings can populate one. It is not a vulnerability scanner and does not prove the absence of uncategorized threats.[2]
It is also not “apply each letter once.” One element can have many scenarios in one category, and some category–element pairings may be irrelevant only after reasoned review.
Scope of Application¶
STRIDE supports software architecture reviews, cloud services, Windows drivers, APIs, distributed systems, identity flows, data pipelines, and security design training. Microsoft incorporates it into threat-modeling guidance and maps categories to counter-properties such as authentication, integrity, confidentiality, availability, authorization, and nonrepudiation.[3]
Physical safety, fraud incentives, privacy harms, supply-chain compromise, and abuse cases may require additional lenses even when individual events can be forced into STRIDE.
Clarity¶
A category is not a scenario. “Tampering” becomes actionable only when the analyst states which data can be changed, where, by whom, through what boundary, and with what consequence.
Repudiation concerns inability to establish responsibility, not merely a user denying something. Elevation of privilege is unauthorized acquisition/use of capabilities, distinct from spoofing another identity even when one attack chain includes both.
Manages Complexity¶
The mnemonic turns an open-ended adversarial brainstorm into a bounded matrix over system elements. It reduces omission risk and gives teams shared vocabulary.
The reduction can create checkbox behavior. Quality still depends on the fidelity of the system model, creativity of scenarios, knowledge of attackers, and follow-through on mitigation.
Abstract Reasoning¶
- Bound the system and assets.
- Draw data flows and trust boundaries.
- Enumerate elements and entry points.
- Apply each STRIDE category to each relevant element.
- Convert category prompts into concrete scenarios.
- Record assumptions, prerequisites, consequences, and existing controls.
- Map mitigations and separately assess risk/priority.
- Validate coverage with abuse cases and other security lenses.
- Revisit the model after architectural change.
Knowledge Transfer¶
The portable structure is exhaustive classification across a modeled surface. The proposed immediate parent is Classification.
Examples¶
API boundary. A forged token is spoofing; altered request data is tampering; exposure of another tenant’s response is information disclosure; exploiting an admin-only endpoint is elevation of privilege.
Audit log. If an actor can perform a sensitive action without durable attributable evidence, the scenario is repudiation.
Non-example. Calling a component “high risk” without a scenario or category is risk labeling, not a STRIDE analysis.
Structural Tensions¶
- Enumeration completeness versus false assurance.
- Category simplicity versus chained attacks.
- Design model versus deployed reality.
- Threat discovery versus risk prioritization.
- Shared vocabulary versus category overlap.
- Broad applicability versus missing abuse/privacy/safety lenses.
Structural–Framed Character¶
Classification, matrix coverage, scenario construction, and boundary traversal are structural. Software elements, security properties, attacker capabilities, controls, and Microsoft methodology are domain frame.
Structural Core vs. Domain Accent¶
The portable core is applying a fixed taxonomy across every modeled element. STRIDE letters, data-flow diagrams, trust boundaries, authentication, integrity, confidentiality, availability, and authorization are constitutive domain accent.
Instantiates / Related Primes¶
Classification is the proposed immediate parent. Attack Surface, Boundary, Adversarial Thinking, Defense in Depth, and Risk Assessment are related.
The prospective queue contains one strict edge to prime:classification. No live DAG mutation is authorized.
Relationships to Other Abstractions¶
Current abstraction STRIDE Model Domain-specific
Parents (1) — more general patterns this builds on
-
STRIDE Model is a kind of Classification Prime
Classification is the proposed immediate parent.Attack Surface, Boundary, Adversarial Thinking, Defense in Depth, and Risk Assessment are related. The prospective queue contains one strict edge to
prime:classification. No live DAG mutation is authorized.
Hierarchy path (1) — routes to 1 parentless root
- STRIDE Model → Classification
Neighborhood in Abstraction Space¶
STRIDE Model sits in a sparse region of the domain-specific corpus (95th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Unclustered & Miscellaneous (1565 abstractions)
Nearest neighbors
- Authentication Failure — 0.80
- Fallacy of the Secure Network — 0.77
- Rate-Limit Absence — 0.76
- End-to-End Principle — 0.76
- Attack Surface — 0.76
Computed from structural-signature embeddings · 2026-09-08
Not to Be Confused With¶
- Risk scoring or DREAD.
- Vulnerability scanning.
- Attack trees.
- Security requirements themselves.
- Proof of complete threat coverage.
- A list of six words without system-specific scenarios.
References¶
[1] Microsoft, “Microsoft Threat Modeling Tool Threats”, official documentation. registry ↩
[2] Adam Shostack, Threat Modeling: Designing for Security, Wiley, 2014. registry ↩
[3] Michael Howard and David LeBlanc, Writing Secure Code, 2nd ed., Microsoft Press, 2003. registry ↩
[4] Frank Swiderski and Window Snyder, Threat Modeling, Microsoft Press, 2004. registry ↩