Digital Defenders

Foundations · 03

Threat modeling with four questions

You don't need a heavy method. You need four honest questions.

Customertrust boundaryWeb appDatabaseEmail servicelogin / resetSTISSpoofingTTamperingIInfo disclosureSTRIDE helps with Q21What are weworking on?draw it (DFD)2What cango wrong?STRIDE, attack trees3What are we goingto do about it?fix · accept · transfer4Did we doa good job?test, review, repeatrepeat whenever the design changes
Customertrust boundaryWeb applogin / reset passwordDatabaseEmail serviceSTRIDE prompts for Q2: Spoofing? Tampering?Information disclosure?1 · What are weworking on?2 · What can gowrong?3 · What are wegoing to do aboutit?4 · Did we do agood job?↺ repeat whenever the design changes
Diagram: Threat modeling

Threat modeling means looking at a design and asking how it could be attacked before attackers do. Most modern approaches rest on Shostack's Four Question Framework, which Adam Shostack created at Microsoft and which the Threat Modeling Manifesto also uses: What are we working on? What can go wrong? What are we going to do about it? Did we do a good job?

Take a “reset password” feature. What are we working on? Draw it: customer, web app, database and email service, with a trust boundary between the internet and your system. What can go wrong? STRIDE gives prompts: could someone spoof the customer, tamper with the reset token, or leak reset links? What are we going to do about it? Short-lived single-use tokens, rate limits, and no hint about whether an email exists. Each threat is mitigated, eliminated, transferred or accepted, on purpose.

Did we do a good job? Check that the diagram matches what was built, that every threat has an owner and a decision, and that tests prove the fixes work. Threat modeling is not a one-off document: repeat it whenever the design changes, even as a ten-minute conversation in sprint planning.

Real-world examples

Threat Modeling ManifestoValues and principles written by a group of practitioners, built around the four questions.threatmodelingmanifesto.org ↗ Shostack's Four Question FrameThe canonical wording and the 2024 white paper explaining it.github.com ↗
Sources

Updated on 12 Nov 2026