Skip to content

Services, Wiki-Artikel, Blog-Beiträge und Glossar-Einträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
Secure Development Glossary

Threat Modeling (Bedrohungsmodellierung)

A structured process for systematically identifying security threats in software development or IT architecture. STRIDE, PASTA, and DREAD are the best-known methods. Goal: To identify security vulnerabilities before code is written.

Threat Modeling is the systematic analysis of security threats—ideally during the design phase, before any code is written. It answers four fundamental questions:

  1. What are we building? (Understanding the system)
  2. What could go wrong? (Identifying threats)
  3. What will we do about it? (Planning countermeasures)
  4. Have we done a good job? (Validation)

STRIDE – Microsoft’s Threat Classification

STRIDE is the best-known threat modeling framework. Each letter represents a threat category:

LetterThreatAffects...Example
SSpoofingAuthenticityAttacker impersonates an admin
TTamperingIntegrityManipulating database entries
RRepudiationNon-repudiation"I never made that transaction"
IInformation DisclosureConfidentialitySQL injection reads all customer data
DDenial of ServiceAvailability100,000 requests → Server overloaded
EElevation of PrivilegeAuthorizationNormal user becomes admin

Applying STRIDE - Example Login Form

Component: Login Form with Database

STRIDEThreatCountermeasure
S (Spoofing)Attacker impersonates another userMFA, secure session tokens
T (Tampering)Password hash manipulated in databaseDB user has no UPDATE privileges on user table
R (Repudiation)User denies successful loginsAudit log with timestamp, IP, user agent (unchangeable)
I (Information Disclosure)SQL injection exposes all password hashesParameterized queries, least privilege DB account
D (Denial of Service)10,000 login attempts/second → Server overloadedRate limiting, CAPTCHA after X attempts
E (Elevation of Privilege)Regular user accesses admin pagesServer-side auth check on EVERY admin endpoint

PASTA - Process for Attack Simulation and Threat Analysis

PASTA is more risk-based and business-oriented than STRIDE:

  1. Define Objectives: Define business impact—what is worth protecting?
  2. Technical Scope: System diagrams, data flows, trust boundaries
  3. Application Decomposition: DFDs (Data Flow Diagrams), component inventory
  4. Threat Analysis: Which threat actors? APT, insiders, script kiddies?
  5. Vulnerability Analysis: Identify vulnerabilities in the system
  6. Attack Modeling: Attack trees for each threat
  7. Risk Analysis: Risk = Probability × Business Impact

DREAD - Risk Scoring

DREAD rates identified threats on a scale of 1–10:

LetterCriterionQuestion
DDamageHow severe is the damage?
RReproducibilityHow easy is it to reproduce?
EExploitabilityHow easy is it to exploit?
AAffected UsersHow many are affected?
DDiscoverabilityHow easy to find?

Example: SQL injection on login form: Damage 9, Reproducibility 10, Exploitability 8, Affected Users 10, Discoverability 7 → DREAD Score: 44/50 = critical.

Threat Modeling in Practice

Microsoft Threat Modeling Tool

Free tool from Microsoft:

  • Graphical DFD creation
  • Automatic STRIDE threat identification
  • Recommendations for countermeasures
  • Export reports

OWASP Threat Dragon

Open-source alternative:

  • Web-based or desktop
  • GitHub integration
  • STRIDE-based

When to Perform Threat Modeling?

Early in the SDLC:

  • For new features during design review
  • Before starting implementation (2 hours can save weeks of rework)
  • When making architectural changes

Regularly:

  • Update annually for existing systems
  • After penetration testing: Update the threat model
  • After security incidents: What did we overlook?

Threat modeling is the most cost-effective security mechanism: A 2-hour workshop during the design phase can identify vulnerabilities that would cost thousands of euros to fix in a penetration test.