Markdown Editor

Attack Tree Analysis Template

Attack tree for one attacker goal: AND/OR tree as list and Mermaid, leaf cost/skill/likelihood, path analysis, countermeasures

软件与工程标准Schneier attack treesattacktreediagrammath

使用方法: Use when one high-value attacker goal needs deeper analysis than a STRIDE table. Fix the goal and attacker profile first, build the tree as a nested list, then rate leaves only and propagate values. The main pitfall is stopping after one countermeasure without re-running the path analysis.

预览

Attack Tree Analysis: [Attacker goal against system name]

Attack tree analysis following the method popularised by Bruce Schneier ("Attack Trees", Dr. Dobb's Journal, December 1999): one attacker goal as the root, sub-goals refined through AND and OR nodes down to concrete leaf attacks, attributes on each leaf (cost, skill, likelihood), analysis of the cheapest and most likely paths, and countermeasures mapped to the nodes they cut. Replace every [bracketed] value and every row marked Example. The worked example targets the administrator account of a fictional SaaS billing console.

FieldValue
Document ID[AT-BILLING-001]
System[Billing console, release 3.2]
Attacker goal[Take over a billing administrator account]
Attacker profile[External, financially motivated, moderate skill, budget up to USD 10,000]
Version[0.1]
Status[Draft / In review / Approved]
Owner[@security-engineer]
Reviewers[@tech-lead], [@identity-team]
Related threat model[TM-BILLING-002]
Last updatedYYYY-MM-DD

1. Goal and scope

Root goal: Example: Obtain an authenticated session with billing administrator rights in the production billing console.

ItemValue
Asset at stakeExample: Ability to issue refunds and change payout bank accounts
Impact if achievedExample: Direct financial loss up to USD 250,000 per incident before detection
In scopeWeb console, identity provider integration, support desk processes, administrator endpoints
Out of scopePhysical attacks on data centres; compromise of the cloud provider
AssumptionsMFA is enforced for administrators; console reachable from the internet

2. Attacker profile

AttributeValue used in ratings
TypeExample: External criminal group
SkillModerate: uses public tools and phishing kits; no novel exploits
BudgetUp to USD 10,000 per target
TimeWeeks
AccessNo insider access at the start
Risk toleranceAvoids actions likely to be detected before payout

3. Attack tree

The tree below refines the root goal; [OR] means any child achieves the parent and [AND] means all children are needed.

3.1 Tree as a nested list

  • 0 Take over a billing administrator account [OR]
    • 1 Steal credentials and bypass MFA [AND]
      • 1.1 Obtain password [OR]
        • 1.1.1 Phish the administrator with a fake login page (leaf)
        • 1.1.2 Reuse a password from a third-party breach (leaf)
      • 1.2 Defeat MFA [OR]
        • 1.2.1 Adversary-in-the-middle proxy relays the one-time code (leaf)
        • 1.2.2 MFA fatigue: send repeated push prompts until approved (leaf)
    • 2 Abuse account recovery [AND]
      • 2.1 Gather personal details of the administrator from social media (leaf)
      • 2.2 Persuade the support desk to reset MFA (leaf)
    • 3 Hijack an existing session [OR]
      • 3.1 Steal a session cookie with malware on the administrator's laptop (leaf)
      • 3.2 Exploit stored XSS in the console to exfiltrate the session (leaf)
    • 4 Escalate from a low-privilege account [AND]
      • 4.1 Obtain any customer-support account (leaf)
      • 4.2 Exploit a broken authorization check to assign the admin role (leaf)

3.2 Tree as a diagram

The diagram shows the same structure; AND gates are drawn as hexagons and OR gates as rounded boxes.

4. Leaf attributes

Each leaf is rated for cost to the attacker (USD), skill (1 low to 5 expert), likelihood of success per attempt (0 to 1) and detectability (Low, Medium, High) with current controls.

NodeLeaf attackCost (USD)Skill (1-5)LikelihoodDetectabilitySource of estimate
1.1.1Phishing pageExample: 50020.30MediumInternal phishing simulation: 30% click rate
1.1.2Breached password reuse10010.05LowPassword screening already blocks known breached passwords
1.2.1AitM proxy relays code1,50030.60LowPublic phishing kits; TOTP is relayable
1.2.2MFA fatigue010.10HighNumber matching enabled in 2025
2.1OSINT on admin20010.90LowPublic profiles
2.2Social-engineer support desk1,00030.15MediumTwo of 20 red-team calls succeeded
3.1Cookie-stealing malware3,00030.10MediumEDR on managed laptops
3.2Stored XSS5,00040.05MediumCSP in place; last pentest found none
4.1Obtain support account80020.25MediumSupport staff not on phishing-resistant MFA
4.2Broken authorization4,00040.10LowRole endpoint lacks server-side check (finding SR-014)
[n.n][Leaf][Cost][1-5][0-1][L/M/H][Source]

5. Path analysis

Values propagate upwards with these rules:

OR: C=min⁡iCi,P=max⁡iPiAND: C=∑iCi,P=∏iPi,S=max⁡iSi\text{OR: } C = \min_i C_i,\quad P = \max_i P_i \qquad \text{AND: } C = \sum_i C_i,\quad P = \prod_i P_i,\quad S = \max_i S_i

where CC is cost, PP likelihood and SS required skill.

5.1 Computed node values

NodeGateCost (USD)SkillLikelihoodCheapest child
1.1OR1001 by cost, 2 by likelihood0.30Example: 1.1.2 by cost, 1.1.1 by likelihood
1.2OR01 by cost, 3 by likelihood0.601.2.2 by cost, 1.2.1 by likelihood
1AND2,000 (1.1.1 + 1.2.1)30.18Most likely combination
2AND1,20030.135
3OR3,00030.103.1
4AND4,80040.025
0OR1,200 by cost; path 1 by likelihood30.18Path 1

5.2 Critical paths

RankPathCostLikelihoodWhy it matters
1Example: 1.1.1 phishing AND 1.2.1 AitM proxy2,0000.18Highest likelihood; low detectability of the proxy
22.1 OSINT AND 2.2 support-desk reset1,2000.135Cheapest path; bypasses MFA entirely
33.1 session theft by malware3,0000.10Independent of authentication controls
[n][Path][Cost][P][Reason]

Expected loss for the top path, using the impact in section 1: 0.18×250,000=USD 45,0000.18 \times 250{,}000 = \text{USD } 45{,}000 per targeted campaign.

6. Countermeasures

IDCountermeasureNodes affectedNew ratingCost to defenderOwnerStatus
CM-01Example: Phishing-resistant MFA (FIDO2 security keys) for all administrators1.2.1, 1.2.21.2.1 likelihood 0.60 to 0.01USD 3,000 keys + 5 days[@identity-team][Planned]
CM-02Support desk may not reset administrator MFA; reset requires in-person or manager-verified video check2.2Likelihood 0.15 to 0.02Process change[@support-lead][Planned]
CM-03Bind admin sessions to device (token binding or short-lived cookies with re-authentication for payouts)3.1, 3.2Impact reduced: payouts need fresh key touch10 days[@platform][Open]
CM-04Fix server-side role assignment check (SR-014)4.2Likelihood 0.10 to 0.012 days[@billing-team][In progress]
CM-05Alert on new device login plus payout account change within 24 hoursAll pathsDetectability raised to High3 days[@secops][Open]
[CM-nn][Countermeasure][Nodes][Rating change][Cost][@name][Status]

6.1 Re-analysis after countermeasures

PathLikelihood beforeLikelihood afterCost beforeCost after
1 Credentials + MFA bypass0.18Example: 0.0032,0002,000
2 Account recovery0.1350.0181,2001,200
3 Session hijack0.100.10 (impact reduced by CM-03)3,0003,000
4 Privilege escalation0.0250.00254,8004,800

Example: After CM-01 to CM-04, session hijack (path 3) becomes the most likely path; CM-03 and CM-05 limit what it can achieve.

7. Conclusions and actions

Example: The cheapest and most likely routes to administrator takeover go around MFA rather than through it: relayable one-time codes and support-desk resets. Phishing-resistant keys and a strict reset process remove both. Session theft then becomes the leading path and is addressed by device binding and step-up authentication for payouts.

ActionOwnerDue
Implement CM-01 and CM-02 before next quarterly access review[@name]YYYY-MM-DD
Re-run this analysis after CM-03 is deployed[@name]YYYY-MM-DD
[Action][@name]YYYY-MM-DD

8. References

ReferenceUse
Schneier, B. "Attack Trees", Dr. Dobb's Journal, December 1999Method: goal decomposition with AND/OR nodes and leaf attributes
[Internal phishing simulation report]Likelihood of 1.1.1
[Red-team report]Likelihood of 2.2
[Threat model TM-BILLING-002]Source threats

Standard and licence note

Based on the attack tree method described by Bruce Schneier ("Attack Trees", Dr. Dobb's Journal, 1999) and common security engineering practice for AND/OR decomposition and attribute propagation. This template is original text written for this collection and reproduces no text from that article. Template licence: MIT.

相关模板