Threat Modeling
5 exercises — master threat modelling vocabulary: STRIDE threat classification, DREAD vs CVSS risk rating, PASTA methodology, threat actor profile definition, and building a mature threat modelling programme.
0 / 5 completed
Threat modelling quick reference
- STRIDE — Spoofing / Tampering / Repudiation / Information disclosure / DoS / Elevation of privilege. Applied to each element of a DFD.
- DREAD — Damage / Reproducibility / Exploitability / Affected users / Discoverability. Simple 1-10 relative scoring for internal prioritisation.
- CVSS — Common Vulnerability Scoring System; standardised 0-10 score. Use for published CVEs and external reports.
- PASTA — 7-stage, business-risk-centric methodology: Objectives → Scope → Decompose → Threats → Vulnerabilities → Attack simulation → Risk analysis.
- Threat actor profile — defines attacker identity, motivation, starting access, skill level. Must be set before scoping decisions are made.
- Shift-left — threat modelling at design time, not after implementation. Security champions own it in the dev team.
- Living threat model — updated with each significant change; linked to tickets; reviewed regularly.
1 / 5
A security lead introduces threat modelling to the team: "We're going to use STRIDE to analyse the new API gateway. Can someone walk through what each letter stands for and how we apply it?"
STRIDE — the universal threat classification framework for threat modelling sessions across any system type.
STRIDE categories with examples:
STRIDE application process (on a DFD):
1. Draw a Data Flow Diagram (DFD) showing processes, data stores, external entities, data flows, and trust boundaries
2. For each element, systematically apply each STRIDE category: "Can an attacker spoof this? Tamper with this?..."
3. Log each threat found: what is it, how can it be exploited, what's the impact
4. Rate severity (DREAD, CVSS, or simple H/M/L)
5. Assign mitigations: what control prevents or detects this threat?
STRIDE-per-element (systematic approach):
• External entities (humans, other systems) → focus on S (spoofing identity)
• Processes → focus on T (tampering with logic), E (privilege escalation)
• Data stores → focus on T (modification), I (disclosure), D (deletion/unavailability)
• Data flows → focus on T (tampering in transit), I (interception), D (dropped messages)
• Trust boundary crossings → all STRIDE categories apply
Key vocabulary:
• STRIDE — Spoofing / Tampering / Repudiation / Information disclosure / Denial of Service / Elevation of privilege; a threat classification taxonomy for systematic threat elicitation
• Threat modelling — structured analysis of a system to identify, enumerate, and prioritise potential threats before implementation
• DFD (Data Flow Diagram) — diagram showing how data moves through a system, used as the canvas for STRIDE analysis
• Trust boundary — a line on a DFD where data crosses from one trust level to another; highest-risk points in a system
STRIDE categories with examples:
| Letter | Threat | Violated property | API gateway example |
|---|---|---|---|
| S | Spoofing | Authentication | Forged JWT token passes API gateway auth |
| T | Tampering | Integrity | Man-in-the-middle modifies request payload |
| R | Repudiation | Non-repudiation | No audit log — user denies making API call |
| I | Information disclosure | Confidentiality | Stack trace in 500 error reveals internal paths |
| D | Denial of Service | Availability | Expensive query floods backend, exhausts DB pool |
| E | Elevation of privilege | Authorisation | IDOR bug: user accesses another user's resources |
STRIDE application process (on a DFD):
1. Draw a Data Flow Diagram (DFD) showing processes, data stores, external entities, data flows, and trust boundaries
2. For each element, systematically apply each STRIDE category: "Can an attacker spoof this? Tamper with this?..."
3. Log each threat found: what is it, how can it be exploited, what's the impact
4. Rate severity (DREAD, CVSS, or simple H/M/L)
5. Assign mitigations: what control prevents or detects this threat?
STRIDE-per-element (systematic approach):
• External entities (humans, other systems) → focus on S (spoofing identity)
• Processes → focus on T (tampering with logic), E (privilege escalation)
• Data stores → focus on T (modification), I (disclosure), D (deletion/unavailability)
• Data flows → focus on T (tampering in transit), I (interception), D (dropped messages)
• Trust boundary crossings → all STRIDE categories apply
Key vocabulary:
• STRIDE — Spoofing / Tampering / Repudiation / Information disclosure / Denial of Service / Elevation of privilege; a threat classification taxonomy for systematic threat elicitation
• Threat modelling — structured analysis of a system to identify, enumerate, and prioritise potential threats before implementation
• DFD (Data Flow Diagram) — diagram showing how data moves through a system, used as the canvas for STRIDE analysis
• Trust boundary — a line on a DFD where data crosses from one trust level to another; highest-risk points in a system