1.10 Threat Modeling

CISSP Domain 1 · 1.10

Threat Modeling at a glance

Threat modeling is a structured way of thinking about how a system could be attacked, misused or otherwise fail from a security perspective.

Instead of waiting for vulnerabilities to appear in production, threat modeling asks security questions while a system is being designed — when architectural weaknesses are often easier to address.

🗺️

Model

Understand the system, its assets, components and data flows.

What are we building?
⚡

Identify Threats

Think about how the system could be attacked or misused.

What could go wrong?
🛡️

Mitigate

Design controls that reduce the identified risks.

What will we do about it?

Threat Modeling thinking flow

🎯 Scope → What system are we analysing?
💎 Assets → What are we trying to protect?
🗺️ Architecture → How does the system work?
⚡ Threats → What could go wrong?
📊 Risk → Which threats matter most?
🛡️ Mitigation → How will we reduce the risk?
🔄 Review → Has the design changed?
1 What is Threat Modeling? Security analysis of system design

Threat modeling examines a system from a security perspective and attempts to identify potential threats before those threats become incidents.

It is particularly useful during system design because architectural security problems can be identified before large amounts of code and infrastructure depend on the design.

The central question

What could go wrong?

Threat modeling turns that broad question into a repeatable, structured security exercise.

Threat modeling can help teams:

  • identify security weaknesses in architecture;
  • understand attack surfaces;
  • identify important trust boundaries;
  • find missing security controls;
  • identify dangerous assumptions;
  • prioritise security requirements;
  • communicate risk between architects, developers and security teams;
  • design security into systems earlier.
⏰ When should Threat Modeling happen? Earlier is usually better

Threat modeling provides the greatest value when security can still influence architecture and design.

New system

Threat model while architecture is being designed.

Major feature

Review threats introduced by significant new functionality.

Architecture change

Reassess when data flows, components or trust boundaries change.

New integration

Assess new APIs, suppliers or external dependencies.

Example

An application previously used username and password authentication.

The organisation changes the architecture so customers authenticate through an external identity provider.

The authentication architecture and trust boundaries have changed, so the threat model should be reviewed.
Threat models are living artefacts

A threat model created during the original design may become outdated as systems, integrations and threats evolve.

2 Define the Scope Know what is inside and outside the model

Threat modeling begins by defining what is actually being analysed.

Scope may include:

Application API Cloud Service Business Process Infrastructure New Feature Integration

Define system boundaries

A model should distinguish between components that are part of the system and external components on which the system depends.

Example

An online banking application uses:

  • mobile application;
  • web application;
  • API gateway;
  • application services;
  • customer database;
  • external identity provider;
  • external payment network.

Some components may be controlled directly by the organisation while others are external dependencies.

Out of scope does not mean irrelevant

External services may still represent important trust relationships and dependencies even when the organisation does not control them.

3 Identify Assets Understand what requires protection

Assets help establish what matters in the system and why an attacker might target it.

Information

Customer records, credentials, financial data and intellectual property.

Functions

Important capabilities such as payments or account administration.

Identity

User accounts, administrator identities and authentication tokens.

Secrets

API keys, certificates, passwords and cryptographic keys.

Availability

Services whose continued operation is important to the business.

Trust

Reputation and confidence in the system or organisation.

Ask:

"If I were attacking this system, what would be valuable to me?"

4 Model the System Understand components and interactions

Effective threat modeling requires an understandable representation of how the system actually works.

The model may identify:

Users Processes Applications Databases APIs Networks External Services Data Flows Trust Boundaries
The diagram is not the goal

The goal is understanding the design well enough to identify threats.

🗺️ Data Flow Diagrams — DFDs See how information moves through the system

Data Flow Diagrams are commonly used in threat modeling to represent system components and the movement of information between them.

External Entity

A user, organisation or external system interacting with the model.

Process

A component that receives, processes or transforms information.

Data Store

A location where information is stored.

Data Flow

Information moving between components.

Simple example

👤 Customer → Login request
🌐 Web Application → Authentication request
🔐 Identity Service → Authentication result
⚙️ Application API → Account request
🗄️ Customer Database → Customer information
Follow the data

Every place where sensitive information is transmitted, processed or stored creates questions about confidentiality, integrity, authentication and authorisation.

5 Trust Boundaries Where assumptions about trust change

What is a trust boundary?

A trust boundary exists where data or execution moves between areas with different levels of trust or security authority.

Examples can include:

Internet → Application User → Admin Zone Application → Database Organisation → Supplier Cloud → On-Premises Low Trust → High Trust
Example

Data arriving from an internet user's browser crosses into an organisation-controlled web application.

The application should not automatically trust the data simply because the client sent it.

Trust boundaries deserve attention

When information crosses a trust boundary, consider:

  • authentication;
  • authorisation;
  • input validation;
  • encryption;
  • integrity protection;
  • logging;
  • rate limiting;
  • assumptions about the sending system.
Threat-modeling habit

Whenever you see a trust boundary, ask: "What if the other side is compromised?"

🎯 Attack Surface Where can an attacker interact with the system?

The attack surface consists of the points through which an attacker may attempt to interact with, influence or compromise a system.

Network Interfaces

Internet-facing ports, services and protocols.

APIs

Public and internal application interfaces.

User Inputs

Forms, file uploads, messages and parameters.

Authentication

Login interfaces and credential-recovery mechanisms.

Administrative Interfaces

Management portals, consoles and privileged APIs.

Third Parties

Integrations and external dependencies.

Reduce unnecessary attack surface

A component that does not need to be internet-accessible should not automatically be exposed to the internet.

Threat Identification Method

STRIDE

STRIDE is a threat-classification approach associated with Microsoft's Security Development Lifecycle.

The acronym represents six categories of security threats:

S — Spoofing

Pretending to be another identity.

T — Tampering

Unauthorised modification of data or code.

R — Repudiation

Denying an action without sufficient evidence to prove otherwise.

I — Information Disclosure

Exposing information to unauthorised parties.

D — Denial of Service

Preventing or degrading legitimate use of a service.

E — Elevation of Privilege

Gaining capabilities beyond those legitimately authorised.

S Spoofing Attack the identity

What is spoofing?

Spoofing occurs when an attacker successfully pretends to be another user, system or trusted entity.

Example

An attacker obtains a customer's username and password and logs into the application as that customer.

Security property

Authentication

Can the system reliably establish who or what is communicating?

Possible mitigations

MFA Strong Authentication Certificates Managed Identities Session Protection
T Tampering Attack the integrity

Tampering involves unauthorised modification of information, code, configuration or communications.

Example

An attacker intercepts a transaction request and changes the bank account number before the request reaches the payment system.

Security property: Integrity

Can the system detect or prevent unauthorised modification?

Possible mitigations

Digital Signatures MACs Hashes TLS Access Control Code Signing
R Repudiation Attack accountability and proof

Repudiation occurs when someone performs an action and can later deny having performed it because the system cannot reliably prove otherwise.

Example

An administrator deletes important customer records.

The system uses shared administrator credentials and keeps no reliable audit logs.

It may be difficult to establish which individual performed the action.
Security property: Non-repudiation / Accountability

Can important actions be reliably attributed to the appropriate identity?

Possible mitigations

Audit Logging Unique Identities Digital Signatures Trusted Timestamps Log Protection
I Information Disclosure Attack confidentiality

Information disclosure occurs when data becomes available to someone who is not authorised to access it.

Example

An API returns complete customer records to any authenticated user, regardless of which customer account they own.

Security property: Confidentiality

Is sensitive information visible only to authorised parties?

Possible mitigations

Encryption Authorisation Data Minimisation Masking Access Control Secure Error Handling
D Denial of Service Attack availability

Denial of Service attempts to prevent legitimate users from accessing a service or to degrade that service significantly.

Example

An attacker sends very large numbers of expensive API requests, exhausting application resources and preventing legitimate customers from using the service.

Security property: Availability

Can legitimate users access the service when required?

Possible mitigations

Rate Limiting DDoS Protection Resource Limits Scaling Redundancy Monitoring
E Elevation of Privilege Attack authorisation

Elevation of privilege occurs when an attacker gains capabilities that should not be available to their current identity or privilege level.

Example

A normal application user manipulates an API request and successfully invokes an administrator-only function.

Security property: Authorisation

Is every identity limited to the actions it is permitted to perform?

Possible mitigations

Least Privilege Server-Side Authorisation RBAC PAM Privilege Separation

STRIDE memory aid

S — Spoofing Who ARE you?
T — Tampering Was it CHANGED?
R — Repudiation Can you PROVE who did it?
I — Information Disclosure Who can SEE it?
D — Denial of Service Can users REACH it?
E — Elevation of Privilege What are you ALLOWED to do?

S T R I D E

STRIDE and the security properties it threatens

STRIDE ThreatSecurity PropertyQuestion
SpoofingAuthenticationAre you really who you claim to be?
TamperingIntegrityHas information been changed?
RepudiationNon-repudiation / AccountabilityCan we prove who performed the action?
Information DisclosureConfidentialityCan unauthorised parties see the information?
Denial of ServiceAvailabilityCan legitimate users still use the service?
Elevation of PrivilegeAuthorisationCan someone perform actions they should not be allowed to?
🏦 Worked STRIDE example: online banking Apply all six threat categories

System

A customer uses a mobile banking application to view balances and make payments.

S — Spoofing

An attacker steals customer credentials and authenticates as the victim.

Potential mitigation: strong MFA and session controls.

T — Tampering

A payment request is modified so money is sent to a different account.

Potential mitigation: integrity controls and secure communication.

R — Repudiation

A user denies having authorised a transaction and the system lacks reliable evidence.

Potential mitigation: reliable audit trails and transaction records.

I — Information Disclosure

An API exposes another customer's transaction history.

Potential mitigation: strong access control and data protection.

D — Denial of Service

An attacker overwhelms the login service, preventing customers from accessing accounts.

Potential mitigation: rate limiting, resilience and DDoS protection.

E — Elevation of Privilege

A normal customer manipulates an API and gains access to administrator-only functions.

Potential mitigation: server-side authorisation and least privilege.

🕵️ Think like an attacker Challenge the assumptions in the design

Threat modeling encourages teams to question assumptions made during system design.

What if the user's device is compromised?
What if the API request is manipulated?
What if the supplier is breached?
What if authentication succeeds but the user is malicious?
What if a privileged administrator becomes malicious?
What if encryption fails?
What if a service receives 100,000 times normal traffic?
What if a downstream dependency returns malicious data?
Assume breach

A useful design mindset is to ask what happens if one security layer fails rather than assuming every existing control will always work.

😈 Abuse and Misuse Cases How could legitimate functionality be abused?

Traditional requirements often describe how legitimate users should use a system.

Abuse or misuse cases turn the perspective around and ask how the same functionality could be exploited.

Normal use case

A customer uses the password-reset function to regain access to their account.

Abuse case

An attacker abuses the password-reset function to take over another customer's account.

Useful questions

  • Can functionality be called more often than expected?
  • Can parameters be changed?
  • Can steps be performed in the wrong order?
  • Can the process be automated by an attacker?
  • Can one user reference another user's objects?
  • Can error messages reveal sensitive information?
🌳 Attack Trees Break an attacker objective into possible paths

An attack tree starts with an attacker objective and breaks that objective into possible ways it might be achieved.

Goal: Access customer account

🎯 Goal → Compromise customer account
🔑 Path 1 → Steal password
📱 Path 2 → Hijack session
🔄 Path 3 → Abuse password reset
⚙️ Path 4 → Exploit authentication vulnerability
Think from the attacker's objective backward

Attack trees help reveal that a single security goal may be attacked through several completely different paths.

🧭 Threat Modeling Methodologies Different ways to structure the analysis

Threat modeling is a discipline rather than one single mandatory methodology.

STRIDE

Categorises threats into six security-threat classes.

Attack Trees

Start with an attacker objective and identify possible attack paths.

Abuse / Misuse Cases

Examine how legitimate system functionality might be abused.

Attack-Centric Modeling

Focuses strongly on attacker goals, techniques and possible attack paths.

Asset-Centric Modeling

Starts with important assets and identifies threats against them.

System / Software-Centric Modeling

Starts with architecture and examines threats across system components and interactions.

The methodology should support the goal

Organisations can choose an approach that suits their architecture, development lifecycle, risk methodology and security maturity.

🔬 Threat Modeling vs Vulnerability Scanning Design analysis and technical scanning are different
Threat Modeling

Looks for potential security problems in architecture, data flows, trust relationships and design assumptions.

Vulnerability Scanning

Looks for known or detectable weaknesses in deployed systems, software and configurations.

Design flaw

A customer API intentionally allows any authenticated user to request another customer's account number because object-level authorisation was never designed.

A traditional vulnerability scanner may not understand this business logic flaw.
They complement each other

Threat modeling does not replace vulnerability scanning, penetration testing or code review.

Each technique finds different types of security weakness.

🧪 Threat Modeling vs Penetration Testing Design-time thinking vs testing implementation
Threat Modeling

Asks what could go wrong based on system design and architecture.

Penetration Testing

Actively tests whether weaknesses can be exploited in an implemented environment.

Threat model finding

"If authorisation is not enforced server-side, one customer may be able to access another customer's records."

Penetration test

The tester manipulates the customer identifier in the API request and confirms that another customer's records are returned.

Threat models can guide testing

Identified threats provide useful scenarios for security testers to validate later.

6 Identify Mitigations Turn threats into security requirements

Finding threats is only useful if the organisation decides how they should be addressed.

Threats may result in security requirements such as:

Authentication

Prove identity appropriately.

Authorisation

Restrict actions according to permissions.

Encryption

Protect sensitive information.

Input Validation

Treat untrusted input appropriately.

Logging

Record important security events.

Rate Limiting

Reduce abuse and resource exhaustion.

Segmentation

Reduce movement between trust zones.

Least Privilege

Limit the impact of compromise.

Threat → Requirement

Threat modeling is particularly valuable when identified threats are translated into concrete design requirements rather than simply being recorded in a document.

📊 Prioritise the Threats Not every threat has equal business significance

A threat model may identify dozens or hundreds of potential threats.

Organisations therefore need to determine which require the greatest attention.

Consider factors such as:

Likelihood Impact Asset Criticality Exposure Existing Controls Exploitability Business Context
Example

Two systems contain similar technical weaknesses.

One is an isolated internal test environment.

The other processes millions of internet-facing customer transactions.

The business risk may be very different even though the technical weakness is similar.
📝 Document and Track Threats A threat model should lead to action

Threats identified during the exercise should be recorded so they can be reviewed, assigned and tracked.

Threat ID Component Threat Description STRIDE Category Risk Mitigation Owner Status
Example entry

Threat: Customer may access another customer's record by changing the customer ID in an API request.

STRIDE: Information Disclosure / Elevation of Privilege

Mitigation: Enforce object-level authorisation on the server.

Owner: Application development team.

✅ Validate Mitigations Designed controls still need to work

Threat modeling identifies security requirements, but implementation still needs to be verified.

Validation may include:

Code Review Security Testing Penetration Testing Configuration Review Control Testing
Example

Threat modeling identifies the need for server-side authorisation.

Developers add the control.

Security testing later verifies that changing object identifiers no longer provides access to another user's information.

The mitigation has now been tested rather than merely assumed.
🔄 Maintain the Threat Model Architecture changes can introduce new threats

Threat models should be revisited when meaningful changes occur.

New API

Creates additional entry points and data flows.

New Supplier

Introduces a new external trust relationship.

Cloud Migration

Changes architecture and security boundaries.

New Authentication

Changes identity and session threats.

Sensitive Data

Changes potential confidentiality impact.

New Privilege

May introduce elevation-of-privilege scenarios.

Architecture changed? Threat model may need to change too.
👥 Who should participate? Threat modeling works best collaboratively

Security professionals may facilitate threat modeling, but they rarely understand every detail of a system alone.

Security Architects Developers Engineers Product Owners Operations Privacy Business Representatives
Example

The security consultant understands common attack techniques.

The developer understands implementation details.

The architect understands the data flows.

The product owner understands how customers use the service.

Combining those perspectives creates a stronger threat model.
⚠️ Common mistakes Threat-modeling concepts people often misunderstand
"Threat modeling is a penetration test."

Threat modeling analyses potential security problems in design. Penetration testing actively tests an implemented system.

"Threat modeling is just drawing a diagram."

Diagrams help teams understand architecture. The important work is identifying and treating threats.

"STRIDE is a list of vulnerabilities."

STRIDE provides categories that help teams systematically think about possible threats.

"Once a threat model is complete, it never changes."

Significant architecture and feature changes can create new threats and trust boundaries.

"External services are outside our threat model."

External services may still create important dependencies and trust relationships.

"Authenticated users are trusted."

Authentication establishes identity. It does not guarantee that the user is benign or authorised to perform every action.

"Encryption fixes all threats."

Encryption can help protect confidentiality and sometimes integrity, but it does not solve spoofing, privilege escalation, denial of service or many other threats by itself.

"Threat modeling replaces security testing."

Threat modeling complements code review, scanning, penetration testing and other security-assurance techniques.

"Every identified threat requires the strongest possible control."

Threats should be considered in the context of risk, business impact, existing controls and proportional treatment.

CISSP Exam Perspective

Think about design before implementation

Threat modeling questions often reward the answer that identifies security problems early and systematically rather than waiting until a system is deployed.

🗺️ Understand

Architecture Data Flow Assets Dependencies Scope

🚧 Boundaries

Trust Boundary External System Untrusted Input Interface

⚡ Identify

STRIDE Threat Attack Surface Abuse Case

📊 Prioritise

Likelihood Impact Risk Business Context

🛡️ Mitigate

Control Requirement Least Privilege Defense in Depth

🔄 Maintain

Review Architecture Change Validation Ownership
📝 Practice scenarios Apply threat-modeling thinking

Scenario 1

A team is designing a new customer payment application.

When should threat modeling ideally begin?

During design, while architecture and security requirements can still be influenced.

Scenario 2

An attacker logs in using credentials stolen from another user.

STRIDE category:

Spoofing.

Scenario 3

An attacker modifies an API transaction while it crosses the network.

STRIDE category:

Tampering.

Scenario 4

An administrator performs a sensitive action but the system has no reliable logs showing which administrator performed it.

STRIDE category:

Repudiation.

Scenario 5

An API exposes private customer information to another authenticated customer.

STRIDE category:

Information Disclosure.

Scenario 6

Thousands of malicious requests exhaust application capacity and prevent legitimate customers from accessing the service.

STRIDE category:

Denial of Service.

Scenario 7

A normal user manipulates an API request and successfully performs an administrator-only action.

STRIDE category:

Elevation of Privilege.

Scenario 8

Customer-controlled input crosses from the internet into a trusted application environment.

What deserves particular attention?

The trust boundary and the controls applied to the incoming data.

Scenario 9

A system architecture changes to use a new external identity provider.

What should happen to the threat model?

It should be reviewed because the architecture, dependencies and trust relationships have changed.

Scenario 10

A threat-model review identifies that one customer may be able to reference another customer's object through an API.

What should happen next?

Define an appropriate mitigation such as server-side object-level authorisation, assign ownership and later validate that the control works.

Scenario 11

A team claims a third-party payment API can be ignored because the API itself is outside the organisation's control.

Why is this problematic?

The API may still be an important external dependency and trust relationship within the system's threat model.

Scenario 12

The threat model identifies a potential attack but nobody is assigned responsibility for addressing it.

What is missing?

Mitigation ownership and tracking.

Threat Modeling memory aid

1. Scope What are we ANALYSING?
2. Assets What are we PROTECTING?
3. Model How does it WORK?
4. Threats What could go WRONG?
5. Risk What MATTERS most?
6. Mitigate What will we DO?
7. Review What has CHANGED?

Model. Threat. Mitigate. Review.

STRIDE in six questions

S Can someone PRETEND to be somebody else?
T Can someone CHANGE something?
R Can someone DENY what they did?
I Can someone SEE something they shouldn't?
D Can someone STOP the service?
E Can someone DO something they shouldn't?

Key takeaways

Threat modeling is a structured security analysis of system design.

It is particularly valuable early in development because security can influence architecture before weaknesses become expensive to change.

Start by understanding the scope, assets, architecture, components, data flows and trust boundaries.

Trust boundaries deserve particular attention because they represent places where assumptions about trust change.

STRIDE identifies six common threat categories: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service and Elevation of Privilege.

Spoofing attacks authentication.

Tampering attacks integrity.

Repudiation attacks accountability and non-repudiation.

Information Disclosure attacks confidentiality.

Denial of Service attacks availability.

Elevation of Privilege attacks authorisation.

Threat modeling may also use approaches such as attack trees and abuse or misuse cases.

Identified threats should be translated into security requirements and mitigations.

Those mitigations should later be validated through appropriate security assurance activities.

Threat modeling does not replace vulnerability scanning, code review or penetration testing — it complements them.

Threat models should be revisited when architecture, integrations, sensitive data or functionality changes.

Most importantly: understand how the system works, ask what could go wrong, and design the protection before the attack happens.

📚 Sources & Further Reading Authoritative references