Threat Modeling — threat model methodology guide
systemof security threat systematicas identificationand evaluationlower framework.
STRIDE threat classification
| threat |
people |
security |
pattern |
| Spoofing |
|
authentication |
MFA, authentication |
| Tampering |
data |
integrity |
HMAC, people, |
| Repudiation |
|
|
audit log, |
| Information Disclosure |
information |
|
encryption, |
| Denial of Service |
service rejection |
availability |
Rate Limiting, auto-scaling |
| Elevation of Privilege |
permission upper |
authorization |
RBAC, minimum permission principle |
STRIDE -basedfor procedure
Step 1: system minutes (DFD )
┌────────┐ HTTPS ┌──────────┐ SQL ┌─────────┐
│ Browser │ ──────────→ │ Web App │ ────────→ │ DB │
│(external) │ ←────────── │(Trust │ ←──────── │(Trust │
└────────┘ │ Boundary)│ │Boundary)│
└────┬─────┘ └─────────┘
│ REST API
▼
┌──────────┐
│ external PG │
│(external) │
└──────────┘
Trust Boundary( )from threatthis .
Step 2: per STRIDE analysis
## Browser → Web App (HTTPS)
| threat | | riskalso | |
|------|---------|--------|------|
| S | session lowerthis | | HttpOnly, Secure key |
| T | between attack | | TLS 1.3, HSTS |
| R | people request | between | request as, authentication required |
| I | before also | | TLS |
| D | DDoS | | WAF, Rate Limiting |
| E | administrator API | | role |
DREAD risk evaluation
each item 1~10 evaluation:
D (Damage):
R (Reproducibility): forthis
E (Exploitability): attack forthis
A (Affected Users): impact user ratio
D (Discoverability): forthis
riskalso = (D + R + E + A + D) / 5
etc.:
├── 8~10: Critical (immediate )
├── 5~7: High (planthe modification)
├── 3~4: Medium (monitoring)
└── 1~2: Low (countfor)
example evaluation
threat: SQL Injection in Login API
├── Damage: 9 (before DB possible)
├── Reproducibility: 8 (automatic-ize also )
├── Exploitability: 7 (items PoC count)
├── Affected Users: 10 (before user)
├── Discoverability: 9 (automatic as )
└── riskalso: (9+8+7+10+9)/5 = 8.6 → Critical
Attack Tree
target: administrator permission acquisition
├── OR: authentication
│ ├── AND: SQL Injection + password hash
│ ├── session lowerthis
│ │ ├── OR: XSSas key
│ │ └── OR: network (HTTP)
│ └── administrator account
├── OR: permission upper
│ ├── IDOR (administrator API direct )
│ ├── JWT (role )
│ └── API Gateway
└── OR:
├── administrator
└── internal
attack analysis
this attack
|
|
item |
| external API |
REST/GraphQL endpoint |
authentication, authorization, verification |
| authentication |
log, token, session |
root, session |
| day as |
as, day |
day type verification, as |
| 3 integration |
OAuth, Webhook, API |
SSRF, token |
| ** interface** |
Admin , API |
, separated |
| **data ** |
DB, cache, log |
encryption, |
threat model report template
# threat model report
## system items
- architecture thisthe (DFD)
- identification
## threat
| ID | STRIDE | threat | DREAD count | current | risk |
|----|--------|-------------|-----------|----------|----------|
| T1 | S | session lowerthis | 7.2 | HttpOnly key | between |
| T2 | I | SQL Injection | 8.6 | parameter-ize query | |
## attack
## priorityper plan
## risk countfor
1---2name: threat-modeling3description: STRIDE, DREAD, Attack Tree etc. threat model methodologyand threat identification·evaluation· strategy count guide. 'STRIDE', 'DREAD', 'threat model', 'threat modeling', 'attack tree', 'attack surface', 'threat identification', 'security ' etc. system threat analysis this for. security-consultantand pentest-reporterof threat analysis -ize. , actual penetration test executionthis CVE this of scope .4---56# Threat Modeling — threat model methodology guide78systemof security threat systematicas identificationand evaluationlower framework.910## STRIDE threat classification1112| threat | people | security | pattern |13|------|------|----------|----------|14| **S**poofing | | authentication | MFA, authentication |15| **T**ampering | data | integrity | HMAC, people, |16| **R**epudiation | | | audit log, |17| **I**nformation Disclosure | information | | encryption, |18| **D**enial of Service | service rejection | availability | Rate Limiting, auto-scaling |19| **E**levation of Privilege | permission upper | authorization | RBAC, minimum permission principle |2021## STRIDE -basedfor procedure2223### Step 1: system minutes (DFD )2425```26┌────────┐ HTTPS ┌──────────┐ SQL ┌─────────┐27│ Browser │ ──────────→ │ Web App │ ────────→ │ DB │28│(external) │ ←────────── │(Trust │ ←──────── │(Trust │29└────────┘ │ Boundary)│ │Boundary)│30 └────┬─────┘ └─────────┘31 │ REST API32 ▼33 ┌──────────┐34 │ external PG │35 │(external) │36 └──────────┘3738Trust Boundary( )from threatthis .39```4041### Step 2: per STRIDE analysis4243```markdown44## Browser → Web App (HTTPS)45| threat | | riskalso | |46|------|---------|--------|------|47| S | session lowerthis | | HttpOnly, Secure key |48| T | between attack | | TLS 1.3, HSTS |49| R | people request | between | request as, authentication required |50| I | before also | | TLS |51| D | DDoS | | WAF, Rate Limiting |52| E | administrator API | | role |53```5455## DREAD risk evaluation5657```58each item 1~10 evaluation:5960D (Damage): 61R (Reproducibility): forthis62E (Exploitability): attack forthis63A (Affected Users): impact user ratio64D (Discoverability): forthis6566riskalso = (D + R + E + A + D) / 56768etc.:69├── 8~10: Critical (immediate )70├── 5~7: High (planthe modification)71├── 3~4: Medium (monitoring)72└── 1~2: Low (countfor)73```7475### example evaluation7677```78threat: SQL Injection in Login API79├── Damage: 9 (before DB possible)80├── Reproducibility: 8 (automatic-ize also )81├── Exploitability: 7 (items PoC count)82├── Affected Users: 10 (before user)83├── Discoverability: 9 (automatic as )84└── riskalso: (9+8+7+10+9)/5 = 8.6 → Critical85```8687## Attack Tree8889```90target: administrator permission acquisition91├── OR: authentication 92│ ├── AND: SQL Injection + password hash93│ ├── session lowerthis94│ │ ├── OR: XSSas key 95│ │ └── OR: network (HTTP)96│ └── administrator account97├── OR: permission upper98│ ├── IDOR (administrator API direct )99│ ├── JWT (role )100│ └── API Gateway 101└── OR: 102 ├── administrator 103 └── internal 104```105106## attack analysis107108### this attack 109110| | | item |111|------|------|----------|112| **external API** | REST/GraphQL endpoint | authentication, authorization, verification |113| **authentication** | log, token, session | root, session |114| **day as** | as, day | day type verification, as |115| **3 integration** | OAuth, Webhook, API | SSRF, token |116| ** interface** | Admin , API | , separated |117| **data ** | DB, cache, log | encryption, |118119## threat model report template120121```markdown122# threat model report123124## system items125- architecture thisthe (DFD)126- identification127128## threat 129| ID | STRIDE | threat | DREAD count | current | risk |130|----|--------|-------------|-----------|----------|----------|131| T1 | S | session lowerthis | 7.2 | HttpOnly key | between |132| T2 | I | SQL Injection | 8.6 | parameter-ize query | |133134## attack 135## priorityper plan136## risk countfor 137```