Threat Modeling Frameworks
Threat modeling is a critical skill for security engineers. It helps you proactively identify vulnerabilities in existing systems or design new systems with security in mind. Mastering this skill shows that you can reason about risks strategically and apply defenses effectively.
This lesson covers two widely used approaches: STRIDE and Attack Trees, and how to use them to think like an attacker while designing robust systems.
STRIDE
STRIDE is a framework that helps you categorize potential threats across six categories:
STRIDE gives you a structured way to identify threats across a system and connect each threat to practical mitigations. This ensures your security design is comprehensive rather than reactive.
“Using STRIDE, I’d identify spoofing and elevation of privilege as top threats in this system because they could lead to credential abuse and full account compromise.”
Attack trees
Attack Trees help you map out how an attacker could reach their goals, showing multiple paths and dependencies. Each node is a step an attacker might take, and branches represent alternate ways to achieve the goal.

“I’d use an Attack Tree to visualize how an attacker could reach sensitive data, then prioritize defenses that break multiple attack paths, like improved authentication and least privilege.”
This shows strategic thinking and defense prioritization.