Adam Shostack: Learning Threat Modeling for Security Professionals

Course by: Adam Shostack


In the twenty-first century, no one doubts the importance of cybersecurity. Threat modeling is where it starts. Threat modeling is a framework for thinking about what can go wrong, and the foundation for everything a security professional does.

This training course provides an overview of the traditional four-question framework for (1) defining what you’re working on, (2) discovering what can go wrong, (3) deciding what to do about it, and (4) ensuring you’ve done the right things in the right ways for the systems you’re delivering.

Instructor Adam Shostack also reviews the STRIDE model for identifying six types of threats: spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege.

Using a simple case study—a billing system for a media server that serves ads—Adam shows how to apply the principles and find security and privacy problems so the developer can include appropriate configurations and controls as part of the operational design and rollout.

Areas covered by Adam in this course:

  • Develop secure products
  • Why would you threat model?
  • A simple approach to threat modeling

There are 2 main parts of the course in which Adam explained the things in details.

1. The Four Question Framework

  • What are we working on?
  • What can go Wrong?
  • What are we going to do about it?
  • Did we do a good job?


  • Spoofing a specific server
  • Tampering with a file
  • Interlude: scope and timing
  • Repudiating an order
  • Information disclosure
  • Denial of service
  • Elevation of privilege

Visit for complete information about the course and other technical details.