Threat Modeling Wizard

Build a full threat model in six steps: profile, data flow, STRIDE threats, DREAD scoring, mitigations, and PDF export. 39-threat library. Free in-browser.

Advertisement

Free STRIDE Threat Modeling Wizard with DREAD Scoring

Threat modeling is the practice of finding design flaws before they become incidents — asking what can go wrong with a system while it is still cheap to change. The obstacle is almost never willingness; it is that a blank page and the instruction “think like an attacker” produces nothing useful in a one-hour meeting. This wizard replaces the blank page with a six-step process: describe the system, map its data flow, generate candidate threats from a 39-entry STRIDE library filtered to your application type, score each on DREAD, assign mitigations, and export a complete threat model as a PDF.

It is aimed at developers and architects doing a first threat model, security teams running a design review, and anyone studying CISSP Domain 1 or a similar syllabus where STRIDE and DREAD appear. Everything runs in your browser — no architecture description is uploaded.

STRIDE, Accurately

STRIDE is a mnemonic developed at Microsoft that enumerates six categories of threat. Its value is that it is exhaustive at the category level: for any component in your system, asking all six questions is far more reliable than free-associating about attacks. Each category is the violation of a specific security property.

LetterCategoryProperty violatedQuestion to ask
SSpoofingAuthenticationCan someone pretend to be a user, service, or device they are not?
TTamperingIntegrityCan data or code be modified in transit, at rest, or in memory?
RRepudiationNon-repudiationCan someone perform an action and credibly deny it because we cannot prove otherwise?
IInformation DisclosureConfidentialityCan data reach someone not authorised to see it?
DDenial of ServiceAvailabilityCan the system be made unavailable or unusably slow?
EElevation of PrivilegeAuthorisationCan someone gain capabilities beyond what they were granted?

Repudiation is the one teams routinely skip, and it is usually the one that hurts during an investigation. A system with no audit trail cannot answer “who changed this?” six months later, which is a security failure even when no attacker was involved.

The Six Steps

  1. Application profile. Name, type (Web App, Mobile App, API Service, Desktop App, IoT Device, Cloud Service, or Microservices), description, data sensitivity (Public, Internal, Confidential, Restricted), user base size, whether it is internet-facing, and authentication type (None, Basic, MFA, SSO, or certificate-based). The application type drives which threats the library proposes — firmware tampering and physical access escalation appear for IoT, CSRF appears for web applications, BOLA appears for APIs and microservices.
  2. Data flow. List entry points with their protocol (HTTPS, HTTP, WebSocket, gRPC, MQTT, TCP, UDP, Bluetooth, USB, REST API) and trust level (Anonymous, Authenticated User, Privileged User, Admin, System); the assets worth protecting, typed as Data, Service, or Process and classified by sensitivity; external dependencies such as databases, cloud providers, third-party APIs, CDNs, auth providers, payment gateways, DNS, email services, and storage; and a description of your trust boundaries.
  3. STRIDE threats. The wizard proposes threats from its library, grouped under the six categories and filtered to your application type. Accept the relevant ones, edit their wording, add your own, and link each to the assets it affects.
  4. DREAD scoring. Score each threat 1–10 on five dimensions. The average determines the risk band.
  5. Mitigations. Threats are presented highest-risk first. Each carries a suggested mitigation drawn from the library; record your actual plan, a status (including explicitly accepting the risk), and a priority.
  6. Summary and export. Counts of total threats, critical and high threats, mitigated threats, and accepted risks; a STRIDE coverage radar chart; a DREAD bar chart of the top fifteen threats; a full threat table; and a PDF export of the whole model.

DREAD Scoring in Practice

DREAD turns a subjective sense of severity into five explicit questions, each scored 1–10:

  • Damage potential — how bad is it if this is exploited?
  • Reproducibility — how reliably can the attack be repeated?
  • Exploitability — how much skill, access, or effort does it take?
  • Affected users — how many people are impacted?
  • Discoverability — how easily would an attacker find it?

The average maps to a band: 1–3 Low, 4–6 Medium, 7–8 High, 9–10 Critical. Worked example — SQL injection on an unauthenticated public search endpoint: Damage 9 (full database read), Reproducibility 10 (deterministic), Exploitability 8 (automated tooling exists), Affected users 9 (every record), Discoverability 8 (a scanner finds it). Average 8.8, which lands as High and sits near the top of the mitigation queue.

A caveat worth stating: DREAD is a prioritisation aid, not a measurement. The scores are judgements, and different people produce different numbers for the same threat. Its real value is forcing five separate conversations instead of one argument about whether something is “critical”. Discoverability in particular deserves scepticism — scoring a flaw low because it is obscure is security through obscurity wearing a number. Score consistently within a model, and compare threats to each other rather than to an absolute scale.

The Threat Library

The wizard ships 39 threat templates spread across all six STRIDE categories, each with a description, a suggested mitigation, and the application types it applies to. A sample of what is included:

  • Spoofing — session hijacking, credential stuffing, token forgery, IP spoofing, phishing and social engineering, default credential abuse, certificate spoofing.
  • Tampering — SQL injection, stored XSS, parameter manipulation, man-in-the-middle, CSRF, firmware tampering, API request tampering, local data tampering.
  • Repudiation — insufficient logging, log tampering, transaction repudiation, anonymous actions, clock skew exploitation.
  • Information Disclosure — error message leakage, directory traversal, insecure direct object reference, unencrypted transmission, excessive data exposure, insecure local storage, reverse engineering.
  • Denial of Service — resource exhaustion, application-layer DDoS, XML bomb, regex DoS, rate limit bypass, signal jamming.
  • Elevation of Privilege — broken access control, privilege escalation via IDOR, JWT manipulation, insecure deserialization, BOLA, physical access escalation.

Each template carries a concrete mitigation rather than a platitude — token forgery suggests RS256 or better with server-side claim validation and token rotation; ReDoS suggests auditing patterns for catastrophic backtracking, linear-time engines, and execution timeouts.

Getting Value from a Threat Model

Three habits separate models that change systems from models that sit in a drive.

Do it during design. A threat found on a whiteboard costs a conversation. The same threat found in production costs an incident, a patch, and possibly a disclosure. Threat modeling loses most of its leverage once the architecture is fixed.

Get the data flow right first. Almost every serious finding sits on a trust boundary — the point where data crosses from a less trusted context to a more trusted one. If step two is vague, steps three through six inherit that vagueness. Spend the time on entry points, assets, and boundaries.

Close the loop. Every threat needs an outcome: mitigated, in progress, or explicitly accepted with a named owner. “Accepted risk” is a legitimate result — an unresolved threat with no decision attached is not. The summary step counts accepted risks separately for exactly this reason.

Frequently Asked Questions

What does STRIDE stand for?

Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege — six threat categories, each corresponding to the violation of a security property: authentication, integrity, non-repudiation, confidentiality, availability, and authorisation respectively.

What does DREAD stand for?

Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability. Each is scored 1–10 and the average gives a risk band: 1–3 Low, 4–6 Medium, 7–8 High, 9–10 Critical.

Is DREAD still recommended?

It is widely taught, including in CISSP material, and it is genuinely useful for forcing structured comparison. It is also criticised for producing scores that look more precise than the judgements behind them. Use it to rank threats within one model; do not present a DREAD average as a measurement, and consider CVSS where an industry-standard score is required.

When should I threat model?

During design, before implementation, and again whenever the architecture changes materially — a new integration, a new trust boundary, a new data classification. Revisit annually for systems that are otherwise stable.

Do I need to be a security specialist?

No. The wizard proposes threats appropriate to your application type and supplies mitigations, so the developers and architects who understand the system can produce a solid first model without a security engineer in the room. Bring one in to review the result.

What is a trust boundary?

Any point where data or control passes between contexts with different levels of trust — the internet to your API, your API to a database, a mobile app to its backend, one microservice to another. Most exploitable flaws sit on one, which is why step two asks you to name them explicitly.

Is my architecture description sent anywhere?

No. Everything — the profile, the data flow, the threats, the scores, and the PDF generation — happens in your browser. Nothing about your system is transmitted or stored on a server.

How does STRIDE relate to MITRE ATT&CK?

They work opposite ends of the same problem. STRIDE is design-time and asks what could go wrong with a system you are building. MITRE ATT&CK is operational and catalogues what adversaries actually do to systems already running. Use STRIDE to shape the design and ATT&CK to test whether you would detect an attack against it.

What should I do with the finished model?

Turn high and critical threats into tracked work items, record accepted risks with a named owner, and feed the scores into your risk register — the risk matrix calculator handles likelihood-and-impact plotting, and the incident response playbook generator covers what happens if one of them materialises anyway.

What Is Threat Modeling

Threat modeling is a structured approach to identifying, quantifying, and addressing security threats to a system. Rather than waiting for vulnerabilities to be discovered through penetration testing or real attacks, threat modeling proactively analyzes system architecture to find potential weaknesses before code is written or infrastructure is deployed.

Threat modeling answers four fundamental questions: What are we building? What can go wrong? What are we going to do about it? Did we do a good job? This systematic process is recommended by OWASP, NIST, and Microsoft as an essential component of secure software development lifecycle (SSDLC) practices.

Threat Modeling Frameworks

FrameworkApproachBest ForKey Output
STRIDECategorize threats by typeSoftware applicationsThreat list organized by S/T/R/I/D/E categories
PASTARisk-centric, 7-stage processBusiness-aligned securityRisk-ranked threat library with attack trees
LINDDUNPrivacy-focused threat categoriesPrivacy-sensitive systemsPrivacy threat catalog
VASTVisual, agile, scalableEnterprise and agile teamsApplication and operational threat models
Attack TreesHierarchical decomposition of attacksSpecific attack scenariosTree diagrams showing attack paths and prerequisites
OCTAVEOrganizational risk assessmentEnterprise risk managementRisk profiles and protection strategies

STRIDE Categories

CategoryThreat TypeExampleCountermeasure
SpoofingPretending to be someone elseForged authentication tokensStrong authentication, MFA
TamperingModifying data without authorizationSQL injection, man-in-the-middleInput validation, integrity checks
RepudiationDenying an action was performedDeleting audit logsSecure logging, digital signatures
Information DisclosureExposing data to unauthorized partiesUnencrypted data in transitEncryption, access controls
Denial of ServiceMaking a system unavailableDDoS attacks, resource exhaustionRate limiting, redundancy
Elevation of PrivilegeGaining unauthorized access levelsExploiting vulnerabilities for admin accessLeast privilege, input validation

Common Use Cases

  • New application design: Identify threats during the architecture phase when they are cheapest to address
  • Cloud migration: Model threats introduced by moving workloads to cloud environments (shared responsibility, new attack surface)
  • Compliance requirements: NIST CSF, PCI DSS, and CMMC all recommend or require threat modeling as part of risk assessment
  • DevSecOps integration: Embed lightweight threat modeling into sprint planning and design reviews
  • Third-party risk: Model threats introduced by integrating third-party services, APIs, and components into your architecture

Best Practices

  1. Model early in the development lifecycle — Threat modeling during design is 10-100x cheaper than fixing security issues found in production. Make it part of your architecture review process.
  2. Use data flow diagrams (DFDs) — Visualize your system as processes, data stores, data flows, and trust boundaries. Apply STRIDE to each element crossing a trust boundary.
  3. Involve diverse perspectives — Include developers, architects, operations, and security in threat modeling sessions. Each role identifies different threats based on their expertise.
  4. Prioritize by risk, not by count — Not all threats need immediate mitigation. Use risk scoring (likelihood x impact) to prioritize remediation of the most dangerous threats first.
  5. Iterate continuously — Threat models are living documents. Update them when architecture changes, new features are added, or new attack techniques emerge.

Frequently Asked Questions

What is the STRIDE threat model?+

STRIDE is a threat classification framework developed by Microsoft. Each letter represents a threat category: Spoofing (identity), Tampering (data integrity), Repudiation (deniability), Information Disclosure (confidentiality), Denial of Service (availability), and Elevation of Privilege (authorization). It helps systematically identify threats to a system.

How does DREAD scoring work?+

DREAD scores each threat on five criteria from 1-10: Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability. The overall DREAD score is the average of all five values (sum divided by 5). Higher scores indicate more critical threats that should be prioritized for mitigation.

When should I perform threat modeling?+

Threat modeling should be performed during the design phase of any system or application, before significant code is written. It should be revisited when the architecture changes, new features are added, or new threat intelligence emerges. Regular reviews (at least annually) help catch evolving threats.

What is the difference between STRIDE and other threat modeling frameworks?+

STRIDE focuses on threat categories and is best for application-level analysis. PASTA (Process for Attack Simulation and Threat Analysis) is risk-centric with 7 stages. VAST (Visual, Agile, and Simple Threat) scales for enterprise use. Attack trees map specific attack paths. This tool uses STRIDE for identification and DREAD for prioritization.

How do I prioritize which threats to mitigate first?+

Use DREAD scores to rank threats numerically. Focus first on threats with high Damage and Exploitability scores, as these represent the greatest risk. Consider your risk appetite and budget when deciding which threats to accept, mitigate, transfer, or avoid. The tool generates a prioritized mitigation plan based on scores.

Related tools

This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results.