Advanced Topic 46 of 51 Security & Cryptography
Threat Modeling
Systematically identifying and prioritizing threats.
How it works
Threat modeling is a structured way to identify what could go wrong with a system and decide what to do about it, ideally during design. Steps include describing the system with data flow diagrams, identifying assets and trust boundaries, enumerating threats with methods such as STRIDE, spoofing, tampering, repudiation, information disclosure, denial of service and elevation of privilege, rating risk and choosing mitigations. Attack trees and the PASTA process are alternatives.
Step-by-step walkthrough
- Draw data flows and trust boundaries.
- Apply STRIDE: spoofing, tampering, repudiation, information disclosure, denial of service, elevation.
- Rank by likelihood and impact.
- Plan fixes before building.
- Update the model as the system changes.
Where it is used
Teams threat model new features, architectures and integrations to build security requirements and tests early, when changes are cheap.
Common pitfall
A model that is done once and filed away quickly goes stale; update it when the design changes. Focusing only on technical threats and ignoring abuse cases or insiders leaves gaps. Overly detailed exercises burn time. Involve developers and operations, keep it lightweight and track mitigations as work items.
Where it fits in the course
Threat Modeling is topic 46 of 51 in Security & Cryptography, rated Advanced. It follows Digital Forensics. The next topic is Zero Trust Architecture.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Security & Cryptography quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Security & Cryptography quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Threat Modeling?
Where do people use Threat Modeling?
What is the most common mistake with Threat Modeling?
What should I learn before this topic?
How can I practice it?
Is Threat Modeling hard to learn?
How long does it take to learn Threat Modeling?
Which topics are related to Threat Modeling?
What should I study after Threat Modeling?
Related topics
- Digital Forensics (Security & Cryptography)
- Zero Trust Architecture (Security & Cryptography)
- Reverse Engineering (Security & Cryptography)
- Secure Multi-Party Computation (Security & Cryptography)
- Entity-Relationship Modeling (Databases)