STRIDE

framework · cybersecurity · organizing-schema

Microsoft threat modeling categorization: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege.

STRIDE is the threat-modeling categorization framework developed at Microsoft in the late 1990s, principally by Praerit Garg and Loren Kohnfelder, and substantially popularized through Microsoft's Security Development Lifecycle (SDL) and Adam Shostack's Threat Modeling: Designing for Security (2014). The acronym maps to six threat categories: Spoofing (impersonating someone or something — counter with authentication); Tampering (modifying data or code without authorization — counter with integrity controls); Repudiation (denying having performed an action — counter with non-repudiation, audit logs); Information disclosure (exposing information to unauthorized parties — counter with confidentiality controls, encryption); Denial of service (degrading or preventing legitimate use — counter with availability controls); Elevation of privilege (gaining capabilities not authorized — counter with authorization). The framework provides a memorable taxonomy for systematically considering threats during software design, typically applied to data flow diagrams (DFDs) where each element (process, data store, data flow, external entity, trust boundary) is examined for each STRIDE threat category. Microsoft's Threat Modeling Tool (free, currently SDL Threat Modeling Tool 2016) automates much of the STRIDE-based analysis. STRIDE is commonly used alongside DREAD (a now-deprecated risk-rating method also from Microsoft) or with other risk-rating approaches. Adam Shostack's substantial advocacy through his 2014 book and ongoing work has shaped contemporary threat-modeling practice substantially. The framework remains the most widely-taught threat-modeling categorization, though competing approaches (PASTA, attack trees, LINDDUN for privacy) address different threat-modeling purposes.

Originators

Praerit Garg and Loren Kohnfelder (Microsoft, late 1990s); Microsoft Security Development Lifecycle (SDL); Adam Shostack (substantial popularization) high

Year / Decade

Late 1990s (Microsoft origin); 2014 (Shostack's Threat Modeling); 2016 (current SDL Threat Modeling Tool) high

Primary sources

Howard, M. & LeBlanc, D. (2002). Writing Secure Code, Shostack, A. (2014). Threat Modeling: Designing for Security, Microsoft Security Development Lifecycle documentation (ongoing) high

Core components

Primary use case

Threat modeling during software design; foundation of Microsoft's Security Development Lifecycle; reference framework in secure development education; basis for many enterprise threat-modeling programs; integration with software development lifecycle and DevSecOps practices; pedagogical reference in software security courses; foundation for several commercial threat-modeling tools (Microsoft Threat Modeling Tool, IriusRisk, ThreatModeler).

Common criticisms

Lineage

Siblings
PASTA