STRIDE Threat Modeling Fundamentals
In 2011, a major e-commerce platform suffered a breach that exposed 24 million customer records. Post-incident analysis revealed that the attack vector — a SQL injection vulnerability in the checkout service — had been present for over two years. A simple threat modeling exercise conducted during the system's initial design would have flagged the database query data flow as a Tampering risk and prompted the team to mandate parameterized queries before a single line of production code was written.
This is precisely why threat modeling exists: to surface design-level security risks early, when they are cheapest to fix.
What Is Threat Modeling?
Threat modeling is a structured technique for identifying, enumerating, and prioritizing potential threats to a system. Rather than reacting to vulnerabilities discovered in production, threat modeling proactively asks: "What can go wrong, and how do we prevent it?"
The process begins by drawing a Data Flow Diagram (DFD) of the system under review — mapping every component, every data store, and every data flow between them. Trust boundaries are drawn where privilege levels change: for instance, between the public internet and an internal application server.
Why STRIDE?
Of the many threat modeling frameworks available (PASTA, LINDDUN, VAST, Attack Trees), STRIDE is the most widely adopted in industry. Developed by Microsoft security engineers Loren Kohnfelder and Praerit Garg in 1999, STRIDE offers a practical, memorable checklist that any development team can apply without specialized security expertise.
Each letter in STRIDE maps to a threatened security property:
- Spoofing — attacks against Authentication
- Tampering — attacks against Integrity
- Repudiation — attacks against Non-repudiation
- Information Disclosure — attacks against Confidentiality
- Denial of Service — attacks against Availability
- Elevation of Privilege — attacks against Authorization
By walking through each DFD element and asking "does this element face a Spoofing threat? A Tampering threat?" and so on, security engineers ensure comprehensive threat coverage rather than relying on ad-hoc brainstorming.
Industry Adoption
STRIDE is embedded in the Microsoft SDL (Security Development Lifecycle), referenced in the OWASP Threat Modeling Cheat Sheet, and taught as the foundational framework in SANS SEC504 and SEC542 curricula. Organizations from financial institutions to cloud providers use it as the entry point into their secure design practices.
In this lab, you will apply STRIDE to a three-component web application: a Browser client, a Web Server, and a Database. You will classify threats for each component and each data flow, then demonstrate your understanding by identifying the correct STRIDE category for one of the most common web vulnerabilities in existence.