Guide To Cyber Threat Modelling
Guide To Cyber Threat Modelling
Guide To Cyber Threat Modelling
MODELLING
Draft version 0.1
dated November 2020
CONTENTS
1 INTRODUCTION ................................................................................................................ 2
1.1 Importance of Threat Modelling ...................................................................................................... 2
1.2 Purpose of Document .......................................................................................................................... 2
1.3 Scope .......................................................................................................................................................... 3
2 APPROACH ........................................................................................................................ 4
2.1 System Level Approach ....................................................................................................................... 4
2.2 Common Missteps in Threat Modelling........................................................................................ 5
2.3 Integrating Threat Modelling into Risk Assessment Process ................................................ 5
3 METHODOLOGY ................................................................................................................ 7
3.1 Overview of Method ............................................................................................................................. 7
3.2 Step 1: Preliminaries and Scope Definition .................................................................................. 7
3.3 Step 2: System Decomposition......................................................................................................... 8
3.4 Step 3: Threat Identification .............................................................................................................. 9
3.5 Step 4: Attack Modelling.................................................................................................................. 13
3.6 Step 5: Bringing Everything Together ......................................................................................... 15
4 REFERENCES .....................................................................................................................20
ANNEX A - SAMPLE THREAT MODELS.................................................................................21
A1 - Information Communication Technology (ICT) – Web Application and Database System
................................................................................................................................................................................. 21
A2 - Industrial Control System (ICS) – According to Purdue Model ............................................. 24
ANNEX B – OTHER METHODS...............................................................................................27
Threat modelling helps owners comprehensively identify threat scenarios that are relevant to
the system, so that owners can focus on implementing effective control measures to protect
key component assets within the system. This makes it harder for the adversary to compromise
key components by establishing a foothold and pivoting laterally within the system.
Consequently, system owners can stem and curtail the kill-chain before the adversary reaches
the crown jewels. With a threat model, system owners can also avoid blind spots in identifying
threats.
Ultimately, this exercise aims to cultivate a customised threat perspective in system owners
that goes beyond meeting minimum generic standards.
1As defined in National Institute of Standards and Technology (NIST) Special Publication (SP) 800-30,
Guide for Conducting Risk Assessments
• Internal stakeholders e.g. system owners, business unit heads, Chief Information
Security Officers, and personnel involved in IT risk assessment and management within
any organisation, including Critical Information Infrastructure Owners;
• External consultants or service providers engaged to conduct threat modelling on
behalf of system owners; and
• Red team members, blue team defenders, and purple team members.
The guidance set out in this document focuses on the key areas of technical scoping, system
decomposition, threat identification and attack modelling. Other areas such as cyber threat
intelligence monitoring and studying geo-political threats, which are under the wider domain
of threat monitoring and analysis, are beyond the scope of this document.
Management level
Equipment or
application level
Users can approach threat analysis at three different tiers – from a management perspective,
from a system perspective, and from an equipment or application perspective. Below is a
general description of each tier. The focus of this documents is at system level.
• Management level (out of scope) - intelligence feeds and trends are analysed with
focus on external factors such as geo-politics. Analysts typically conduct adversary-
centric profiling, considering adversary’s broad motives and actions pre- and post-
intrusion. Organisations do this from a high-level perspective typically for
management’s consumption. An example of such an approach is the Common Cyber
Threat Framework used by the US Office of Director of National Intelligence (ODNI),
which follows across the four horizontal “threat lifecycle” stages of preparation,
engagement, presence and consequences, while expanding on the verticals of
objectives, actions and indicators.
• System level (in scope) – this approach considers system constructs and relationships,
as well as system behaviours, in the form of components, architectural layers and data
flows. The user first models assets, data flows and boundaries within an environment,
before determining relevant threat scenarios to the system. We will focus on systems
level in this document.
As mentioned, there is no one right or wrong approach to threat modelling. Users must choose
the approach based on context of the business needs, greater enterprise environment,
situation and audience.
• Misdirected or unbalanced threat focus – in some cases where scope of threat model
is ill defined, system owners may derive non-existent or irrelevant threats. Similarly,
systems owners’ attention may be overly occupied with the “flavour of the day” (events
that are prevalent in the news) and neglect other scenarios which, although are not as
current, also pose realistic threats to the system.
• Not considering subsequent stages of attack – most attacks occur in stages, often
starting first with reconnaissance, followed by intermediate hops, and ultimately
ending with impact to the crown jewels. It is crucial that system owners consider each
stage of an attack and not only address the initial threat. This will enable defence in
depth with multi-layer controls.
• Taking a “once and done” approach – the threat model of a system should be treated
as a living document, bearing in mind its shelf life. With ever-evolving external threats
and new internal vulnerabilities discovered, it is important to refresh threat models
constantly, especially whenever there are material changes to the system.
A threat model is only useful when conducted in a systematic manner with well-defined scope.
On the contrary, an ineffective threat model will result in poor prioritisation of resources to
address cybersecurity risks, and system owner being ill prepared for a cyber-attack. Hence, it
is important for organisations to adopt good practices and avoid the common problems when
conducting threat modelling.
Hence, threat modelling augments the risk assessment process by generating contextualised
threat events with well-described sequence of actions, activities and scenarios that the attacker
may take to compromise the system2. With more relevant threat scenarios, risk assessments
conducted by Users will be more rigorous and robust, resulting in more targeted controls and
effective layered defence. This addresses the first two common missteps mentioned in the
previous section. In addition, since risk assessment is a continuous cycle, the threat model
should also be regularly update, addressing the third common misstep mentioned above.
2In fact, NIST SP 800-30 states that, “When threat events are identified with great specificity, threat
scenarios can be modelled, developed, and analysed”.
Finally, at the end of the section, we will walkthrough an example to bring everything together.
3 CIIOs may consider using the CII boundary as the perimeter boundary to determine the scope for
threat modelling.
After identifying the system components, Users should document the component types e.g.
database, transactional system etc., locate where these components reside within the system,
and draw the DFD by denoting the system component as shown in the figure below:
Data
Store
1. Start by
marking out 2. Mark out a
external process in the 3. Denote a cluster of 4. Denote a data
entity/user system with multiple processes store as a cylinder
denoted by circles. within two
concentric circles A data store is a
Anrectangles.
external
A process is a persistent repository of
entity/user is a
component where data data required and/or
subject that
manipulation, produced by a process.
accesses the
transformation and/or
system
control takes place.
Data
Store
4 There are numerous global ISACs. Some examples include FS-ISAC for financial services, H-ISAC
for healthcare, OT-ISAC for operational technology etc.
Threats are constantly evolving, and it is important to rely on either open source or paid threat
intelligence sources to gain knowledge on the latest threats and learn how attackers target
systems. Although subscribing to multiple threat intelligence sources broadens the Users’
perspective, Users must first be clear about its objectives to collect specific threat intelligence.
It is counterproductive to have too many sources leading to fatigue in teams examining feeds.
Useful threat information typically has the following characteristics:
An attacker may, by means of a vector, act against the system to cause harm or steal
information. Threat scenarios can be characterised by the tactics, techniques and procedures
(TTP) employed by the attacker. To list all possible threat scenarios, TTPs and attack sources
comprehensively, it is useful to categorise threats using methods such as STRIDE-LM, NIST SP
800-154, Security Cards or OCTAVE. We provide elaboration on STRIDE-LM in this guide, but
organisations should choose a method that suits their purpose. STRIDE-LM was chosen in this
guide as it is deemed a simple and systematic way to identify threats. The information derived
from such an exercise will highlight areas of focus to implement controls that mitigate threats.
Kohnfelder and Garg (1999) developed STRIDE as a mnemonic to identify various threats types
– spoofing, tampering, repudiation, information disclosure, denial of service and escalation of
privilege. Muckin and Fitch (2019) further proposed to add LM into the mnemonic to include
Lateral Movement. The table below captures the threat categories, the security property that
they compromise and their definitions:
Table 2: Definition of Threat Categories Using STRIDE-LM (Muckin and Fitch, 2019)
• Spoofing
Spoofing is pretending to be someone or something else. Spoofing typically
compromises authenticity. Examples of spoofing threats include impersonating a
legitimate user or machine in the network, or creating a fake file or process on a
machine. Common examples of controls to mitigate such threats include having strong
authentication mechanisms.
• Tampering
Tampering is to modify something without authorisation. Tampering typically
compromises integrity. Examples of tampering include altering a file, memory space,
or network configuration or communication. Common examples of controls to mitigate
such threats include encryption and proper access checks.
• Repudiation
Repudiation is claiming not to have done something, or not being responsible for
something that happened. Repudiation is typically associated with users, whether
authorised or unauthorised, denying performing an action without other parties being
able to prove otherwise. Examples of repudiation include a user perceived not to have
performed an activity even if they did so, or claims to be innocent despite fraudulent.
Common examples of controls to mitigate such threats include robust logging and
digital signatures.
• Elevation of Privilege
Elevation of privilege is gaining access that exceeds the authorisation of a subject.
Common ways to elevate privileges include corrupting processes such that it an
unauthorised user can perform operations that he or she prohibited to do so. An
attacker can also bypass checks to gain elevated privileges. Common examples of
controls to mitigate such threats include applying the principles of least privilege and
need to know, and to have strong privileged account protection mechanisms.
• Lateral Movement
Lateral movement is pivoting across the network usually with the eventual goal of
reaching the crown jewels of the system to inflict damage or for data exfiltration. Lateral
movement is typically coupled with elevation of privilege to gain access to other parts
of the network. Common examples of controls to mitigate such threats include proper
segmentation of network with strong firewall rules.
While STRIDE-LM can aid Users in accurately categorising threats, this should not be the only
focus. Emphasis should be on using STRIDE-LM as a thought process to brainstorm all possible
threats to a system. For example, how can an attacker use spoofing to attack the system? Could
the attacker spoof as a user, a file process, or an endpoint? How will the attacker tamper with
the system? Could the attacker tamper with the database, the configuration files, or the logs?
In addition, certain types of attacks may overlap multiple categories so Users must seek to
avoid blind spots.
STRIDE-LM provides a good baseline. However, users may have additional threats identified
through other means. Users should then use STRIDE-LM to complement their existing threat
inventory to see if they have overlooked anything. Even if no new threats are identified using
Finally, Users should add the threat scenarios generated on the DFD for easy visualisation of
the threats at each location:
Threat Threat
event event
Data
Store
These methods provide a thought process to map possible sequence of attack used by
attackers to exploit resources of organisations to achieve their malicious intent, at the same
time; the modelling allows the users to understand the set of conditions required, for a threat
to be successful. As such, the user could develop strategies and prioritise resources to defence
against the threats.
By understanding the attack vectors and security risks at various stages, these models provide
useful insight for the user in applying multi-layer controls to prevent attacks, interrupt on-
going attacks, and minimise the impact of an attack.
ATT&CK consists of 12 tactical categories, which is the “why” of an attack, listed below:
MITRE ID Name Description
TA0001 Initial Access To enter the system
TA0002 Execution To run malicious code
TA0003 Persistence To maintain a foothold
TA0004 Privilege Escalation To gain higher-level permissions
TA0005 Defence Evasion To avoid being detected
TA0006 Credential Access To steal account names and passwords
TA0007 Discovery To learn about the system environment
TA0008 Lateral Movement To traverse through the system environment
TA0009 Collection To gather information of interest
TA0011 Command and Control To control a compromised system
TA0010 Exfiltration To steal data
TA0040 Impact To manipulate, interrupt, or destroy your systems
and data
Each tactic contains an array of techniques that the attacker can use. This is the “how” of the
ATT&CK framework. At the time of writing, there are 266 techniques in the ATT&CK matrix for
Enterprise6. ATT&CK is by no means a static framework. MITRE regularly updates ATT&CK with
the latest tactics and techniques discovered by security researchers. Users should customise
the relevant ATT&CK matrices to their context. Suggested matrices for Information Technology
(IT) systems and Operation Technology (OT) systems respectively can be found in the Annex
of this document.
The Lockheed Martin Cyber Kill Chain (Kill Chain) framework was derived from military
offensive strategy. The framework is presented as a series of well-defined sequence of stages
that the attackers are likely to complete in order to achieve their end objective. With the same
understanding, Users can defend their systems effectively.
As can be observed, the Kill Chain only describes the sequence of attack. Users should hence
populate each stage of attack with specific threats derived from Step 3 – Threat Identification,
explained previously.
First, to draw the DFD, we enumerate all components within the web application and database
system. Importantly, we should denote the crown jewel with a star. This component holds all
the critical information or is crucial for critical functions. In this case, we identify the crown
jewel is as the database.
a) Users
Next, we draw out all the data flows between components in our system. The flow starts from
an external user initiating HTTP request to the web server. The web server listens for client
request and responds with HTTP reply, hence the bidirectional arrow. The web server
communicates with the application server via a router, which in turn communicates with the
database server through API calls. The database server finally sends SQL queries to the
database. In addition, there are also enterprise workstations providing services including email.
We the divide the system based on trust boundaries. Trust boundaries separate domains with
different rights and privilege assignments. For example, the rights and privileges of subjects
from the internet are far less than the rights and privileges of subjects residing within the
After completing the DFD, we identify the threats. As an example, we will look specifically at
two components together - the backend application and database servers. Broadly, attacks
may include compromising confidentiality, integrity and availability. With that in mind, we dive
deeper by going through the STRIDE-LM mnemonic.
Firstly, we examine Spoofing. An attacker, who may also be an insider, can harvest credentials,
capture tokens, hijack session IDs and steal keys through man-in-the middle attacks or
squatting. He then stuffs these credentials and injects codes into RESTful API headers and
parameters to masquerade as another user. In that way, he is able make SQL queries to the
database to exfiltrate data leading to Information Disclosure. Even if he is not able to see all
the data initially, he may be able to do so by using SQL injection in the form of blind SQL
injection (true/false testing for error response) or table aggregation. He may also Tamper with
database records by using various SQL commands such as INSERT INTO, DELETE, DROP etc.
The attacker can also conduct application layer Denial of Service attack by flooding the server
with requests, although this is typically done upstream through the web server.
In the case above, it is likely that event and process logs will capture the attacker’s activity.
However, if he using a stolen trusted account there is a chance of Repudiation.
Once we have enumerated the threats, we can include them into the DFD.
Figure 12: Potential threat events at application and database server (non-exhaustive)
We should repeat the STRIDE-LM process for every component within the DFD. The final
product is shown below.
Once we have plotted the DFD with threat events enumerated, we can sequence the threat
events accordingly. We use the table format shown in the samples to list various sequence of
attacks. The table has the following headers:
Taking the Sample Threat Model for ICT – Web Application and Database System, as an
example, we map the threat sequence according to MITRE ATT&CK. Firstly, the attacker can
access to a client with the web application [TA0001] from the internet. Next, he exploits
vulnerabilities to run malicious code [TA0002] via attacks such as cross-site scripting. Through
which, he can login to the application, perhaps even as an administrator [TA0004]. Once in the
system, he may establish persistence so that he will not be booted out [TA0003]. All the while,
he operates as a trusted user to evade detection [TA0005]. Through credential dumping
[TA0006], as well as network and host enumeration [TA0007], he can know how to move
laterally and pivot through the system [TA0008] towards the crown jewels. Finally, from the
last hop, he bulk queries tables from the SQL database, adopting methods such as aggregation
to steal desired information [TA0009] [TA0010]. This information if disclosed or sold may have
detrimental effect on an organisation’s reputation. It may result in financial loss or even
regulatory penalties. [TA0040].
We can also categorise the attack sequence into the three phases of the Kill Chain. For example,
before the attacker enters the system from the web application client, he would need have
needed to conduct some reconnaissance, in the pre-compromise phase, about the application
design, operating system, hosting server etc. to find vulnerabilities. Once that is done, he
knows how to craft the malicious code to exploit the application using various methods like
cross-site scripting. After injecting the script, he compromises the system by being able to
achieve unauthorised access and traverse within the system. Post-compromise, he moves
towards the crown jewels to execute SQL queries and steals data. This is an action on objective
for the attacker.
Ultimately, we populate the result from attack modelling into the table mentioned above, in a
similar way as the entry below. The star at the end of the sequence of attack indicates that
crown jewel i.e. database, is impacted.
Figure 14: Extract from Sample Threat Model for ICT – Web Application and Database System
Morana M. M., UcedaVelez T. (2015). Risk Centric Threat Modeling: Process for Attack
Simulation and Threat Analysis
National Institute of Standard and Technology. (2012). Guide for Conducting Risk Assessments
National Institute of Standard and Technology. (2016). Guide to Data-Centric System Threat
Modelling
S/N. Point of Entry Threat Actor(s) Sequence of Attack Threat Description Examples
1.1 - Web Server APT Group 2, 4 Exploit misconfigured firewall and use Reconnaissance and scan using NMAP
Recon Cyber criminals network discovery tools on the web server to tool’s port scanning, ping sweeps, OS
discover open ports, server OS, application fingerprinting
name and version number, and map out any
additional host names or subdomains.
1.2 - Web Server APT Group 4 Perform scanning using web vulnerability Reconnaissance and scan using Nikto
Recon Cyber criminals scanners to discover known web application vulnerability scanner to extract PHP
and script vulnerabilities on the web server information to provide more information
URL. regarding the installation of PHP versions,
paths and installed extensions and scans
Such information is then used to exploit for vulnerabilities in the web server.
known vulnerabilities to gain unauthorised
access to the files and folders in the system
and exfiltrate sensitive information.
2 - DDos Web Server Cyber criminals 4 Overwhelming the web server with HTTP HTTP flood attacks e.g. GET or POST
requests and cause a denial of service (DoS). requests
3.1 – Web Application APT Group 1, 4, 7, 8, 9 Intercepting traffic to steal credentials, and Burpsuite
Web Cyber criminals use credentials to log in as administrator or
App user account to access web application and
Vuln query information from database.
3.3 – Web Application APT Group 1, 4, 7, 8, 9 Exploiting vulnerable code, dependencies or XML External Entities (XXE) Attack. Exploit
Web Cyber criminals integrations to execute a remote request vulnerability in XML processors to upload
App from the server and extract sensitive data. XML or include hostile content in an XML
Vuln documents.
4.1 Enterprise APT Group 10, 11, 7, 8, 9 Installing Remote Access Trojan (RAT), which Phishing, whaling, spear phishing.
Malware Workstation Cyber criminals establishes a backdoor, attacker pivots to AD
in email and dumps credentials. He further moves
laterally to exfiltrate valuable information
from database.
5.1 - Enterprise Insider 7, 8, 9 Man-in-the-middle attack to manipulate Manipulating API application message
MITM Workstation communications between the application headers or body.
and the database.
6.1 - Enterprise Insider 8, 9 Attacker escalates privilege to tamper with Stealing of privileged database admin
Tamper Workstation database, resulting in modification or credentials to modify or drop tables.
unavailability of data.
7.1 Firewall/Router APT Group 2, 3 Attacker performs DOS attack on the router Exploit misconfiguration in firewall or
Cyber criminals and cause disruption to the network. flood the router with ICMP packets
7.2 Router Insider 6 Attacker modifies the routing table of the ARP poisoning. Sending malicious/wrong
router to conduct man-in-the middle attacks. routing table updates to redirect the
traffic, or delete the configuration of the
router
Spoofing
1 MITM
VPN VPN
Web
Server Remote OEM /
vendor support
POP3
DMZ Phishing
Firewall DDoS 2
Email SMTP Sender from
Firewall
bypass 3 Server Internet
TCP/IP
Firewall Ransom-
Privilege
ware
Escalation Domain Business Supply Internal Enterprise
Controller Server App Workstation
Firewall
4 5 chain
bypass 6
Manage AD Maintain SW
policies and HW HTTP
Injection
Privilege
System 7 XSS Corporate Escalation
Adminstrator Hijack User 8
TCP/IP NTP
Firewall
bypass 9 10 Spoofing I/O Config SQL Data
- Program logic exfiltrate
- Firmware
Corrupted System
Modify
firmware, I/O
13
11 source
USB
Adminstrator misconfig
code
malware
12
14
Primary Corrupted Secondary
Modify
Privilege firmware, HMI
HMI source
Fieldbus Escalation USB
code
malware
- Commands Operator
- Set points
1.1 Email Cyber criminals 2 Flooding email server causing DDoS. Estonia 2007
1.2 Email Cyber criminals 2, 5, 6 Ransomware through email, encrypting files EKANS, WannaCry
needed for enterprise operations.
1.3 Email APT actor 2, 8, 11, 15, External party establishes call back to C2 server Duqu, Havex (Dragonfly),
and injects RAT for keylogging or disrupting Triton
physical operations.
2 Domain Controller Privileged insider 5, 8, 11, Compromised AD allows privileged escalation DCShadow
from enterprise workstation pivoting into
engineering workstation disrupting physical
operations.
5 Enterprise Insider 8, 11, 15, Privileged escalation from enterprise workstation BlackEnergy
workstation allows pivoting into engineering workstation
disrupting physical operations.
6 Time server Contractor, 10, Asynchronous clock disrupts time dependent ICSA-14-345-01
Insider protocols and operations. CVE-2015-7871
7 Engineering Contractor, 11, 15, Modified code, corrupted firmware or malware ICSA-16-138-01A
workstation Privileged insider through removable device disrupts physical
operations.
8 I/O server Contractor, 12, Misconfigured I/Os disrupt communication and ICSA-15-337-03
Privileged insider operations.
10 Operator HMI Insider 14, 15, Privileged escalation from operator HMI allows Cisco Blogs (Aug 2009):
disruption of operations. Lessons from an Insider
Attack on SCADA Systems -
GhostExodus
11 Controller Contractor, 15, Modified programme logic disrupts physical Maroochy Shire sewage spill
operations.
Insider
14 Remote access APT actor 1,15, (direct access) MITM hijacks remote session to communicate Remote vendor access
with controller.
4. Security Cards
Security Cards (http://www.securitycards.cs.washington.edu) is a brainstorming toolkit, which
encourages creative thinking about cybersecurity threats. It uses a deck of 42 cards in four
dimensions (suites) to facilitate threat discovery.
5. Attack Trees
Introduced by Bruce Schneier, an Attack Tree is a conceptual hierarchy that shows how a system
may be attacked. Attack Trees provide a holistic way to analyse the security of a system and its
processes. At the top of the diagram is a root node, defining the attacker’s ultimate objective
e.g. obtain administrative privileges. Below that are leaf nodes that describe different ways of
achieving the ultimate objective defined in the root node. Each leaf node then becomes a
subsidiary objective of the root node with child nodes that further expand how the attacker can
achieve the objective. An example is shown below: