## Threat Modelling Concepts and Methodologies

(p.31)

## Identifying threats

### STRIDE
STRIDE (from Microsoft) is often used in assessing threats against applications or OSs.

STRIDE’s six threat concepts are:
* Spoofing
* Tampering
* Repudiation
* Information disclosure
* Denial of service
* Elevation of Privilege

### PASTA
~PASTA is a threat modeling methodology~. The Process for Attack Simulation and Threat Analysis is risk-centric and has seven stages:
1. DO – Definition of Objectives (for the analysis of risks)
2. DTS – Definition of the Technical Scope
3. ADA – Application of Decomposition and Analysis
4. TA – Threat Analysis
5. WVA – Weakness and Vulnerability Analysis
6. AMS – Attack Modeling and Simulation
7. RAM – Risk Analysis and Management

Trike is also a risk based threat modeling methodology.

### VAST
Visual, Agile, and Simple Threat (VAST) modeling is based on Agile principles. The goal is to integrate threat and risk management into an Agile programming environment.

### OCTAVE
see Defensive Security Handbook [Chapter 1: Risk Management](../../Literature%20notes/Def_Sec_Handbook_Chapter_1.md#Chapter%201%20Risk%20Management)
## Diagramming Potential Attacks
See pp 35-36

The diagram contains:
* Elements involved in the transaction (processes, systems, users, data objects)
* Data flows
* Privilege boundaries

## Reduction Analysis
Reduction analysis is also known as *decomposing* the system/environment.

In decomposing you identify five key concepts:
* Trust boundaries
* Data flow paths
* Input points
* Privileged operations
* Details about security stance and approach (active security policies and assumptions)

## Prioritization and Response
Document the threats by defining the means, targets and consequences of a threat.
After documentation, the threats are ranked or rated. There are different techniques for that, e.g. by probability x potential damage, or DREAD.

The **DREAD threat-rating system** is based on five main questions about each threat:
* Damage potential
* Reproducibility (how hard is it for attackers to reproduce the exploit)
* Exploitability (how complex is it to perform the exploit)
* Affected users (percentage)
* Discoverability (how hard is it to discover the weakness)

