

A structured approach to identifying, assessing, and addressing security threats in a system or application.

assessing whether your defences are sufficient to counter relevant threats.examining critical questions to identify potential security issues, often without relying on tools, enabling teams to uncover vulnerabilities and strengthen defences.
compliance activity that evaluates existing systems to measure and document security risks, focusing on what has already been built.proactive process to identify potential threats and guide changes in current and future system designs to enhance security.| Aspect | Threat Modelling | Risk Assessment |
|---|---|---|
| Objective | Identifies specific attack paths and methods on systems |
Evaluates likelihood and impact of risks on the organisation |
| Focus | Targets potential vulnerabilities and attacker actions |
Considers broader impacts, including financial and operational risks |
| Outcome | Informs targeted defences against specific threats |
Prioritises risks for overall organisational management |

Trust Boundary: where the level of trust changes for data or coderepresent a potential danger to the security of one or more assets or componentsThreats could be malicious, accidental, due to a natural event, an insider, an outsider.exist even if there are no vulnerabilities
change with system changes
Enables organisations to proactively identify and mitigate attack vectors, prioritising finite resources for maximum impact.
Outcome: Reduced risk of breaches, stronger security posture.

Based on OWASP (Open Worldwide Application Security Project)
OWASP: is an online community that produces freely available articles, methodologies, documentation, tools, and technologies in the fields of IoT, system software and web application security
Task A: Gather Information
Task B: Demarcate Perimeter Boundary: to determine the scope for threat modelling.
Components that support the functioning and running of the system e.g. servers, databases, client workstations, hosts, switches, routers etc.
Components that support the cybersecurity of the system e.g. firewalls, IDS and IPS.
Breaking down a system into its different components.
Task-A: components which a potential attacker may be interested in.

Task B: Draw How Data Flows


Task C: Divide Out Trust Boundaries: identify the respective limits of access, as well as the required levels of authorisation e.g. trust levels, granted to subjects.

Involves identifying A. threat vectors and listing B. threat events;
Useful threat information:
timely manner as information that is outdated is useless to Users;relevant to the context of the Users. For example, industrial control systems may have different priorities compared to financial institutions; andactionable for the correct group of users. Users must be able to react to information at the appropriate level e.g. tactical or strategical level.Threat vectors are paths through which an attacker can exploit to penetrate a system component or bypass defences


Model for identifying computer security threats.

| STRIDE-LM | Threat | Property | Definition |
|---|---|---|---|
| S | Spoofing | Authentication | Impersonating someone or something |
| T | Tampering | Integrity / Access Controls | Modifying data or code |
| R | Repudiation | Non-repudiation | Claiming to have not performed a specific action |
| I | Information Disclosure | Confidentiality | Exposing information or data to unauthorised individuals or roles |
| D | Denial of Service | Availability | Deny or degrade service |
| E | Elevation of Privilege | Authorisation / Least Privilege | Gain capabilities without proper authorisation |
| LM | Lateral Movement | Segmentation / Least Privilege | Expand influence post-compromise; often dependent on Elevation of Privilege |
Read each incident below and match it to the correct STRIDE-LM threat type
(S, T, R, I, D, E, or LM) and the relevant security property it violates.
Then briefly explain why you chose it.
| Incident | Match (Threat Type & Property) | Justification | |
|---|---|---|---|
| 1 | Attackers send a fake Microsoft 365 login page to collect university credentials. | ||
| 2 | Malicious code is inserted into a trusted software update before release (supply-chain attack). | ||
| 3 | An employee deletes access logs to hide unauthorised activity. | ||
| 4 | A cloud storage bucket is left public, exposing patient medical data. | ||
| 5 | An e-commerce site becomes unreachable during a massive DDoS attack. | ||
| 6 | A staff member exploits misconfigured permissions to gain admin access. | ||
| 7 | Ransomware spreads from one department’s server to another across the network. | ||
| 8 | A hacker changes payroll account numbers to redirect payments. | ||
| 9 | A malicious insider shares confidential tender documents with a competitor. | ||
| 10 | Attackers install a hidden remote access tool that allows them to move between servers. |
Mapping sequence of attack, describing tactics, techniques and procedures
Describes attacker’s intrusion approach so that users can identify mitigation controls needed to defend the system and prioritise its implementation.
To model the attack, you can use either:
OR


Define what part of the system will be threat modeled, focusing on components like input handling, output generation, data storage, and user interaction.
Key Questions:

Trust boundary: the point within a system where different levels of trust or different security policies are enforced/applied.

untrusted

For each TB we are going to have:
Strengths and weaknesses for each STRIDE item and for each compents

List of vulnerabilities


| Category | Strengths | Weaknesses |
|---|---|---|
| 1-Spoofing | V1: Modify System prompt (prompt injection) | |
| 2-Tampering | V2: Modify LLM parameters (temperature, length, model, etc.) | |
| 3-Repudiation | Proper authentication and authorisation (assumed) | |
| 4-Information Disclosure | V3: Input sensitive information to a third-party site (user behavior) | |
| 5-Denial of Service | ||
| 6-Elevation of Privilege | Proper authentication and authorisation (assumed) |
Use the following to discuss
| REC_ID | Recommendations for Mitigation |
|---|---|
| REC1 | Avoid training LLMs on non-public data. Treat all LLM output as untrusted and enforce data/action restrictions based on LLM requests. |
| REC2 | Limit exposed API surfaces to external prompts. Treat all external inputs as untrusted, applying filtering where needed. |
| REC3 | Educate users on safe behavior during signup and provide consistent notifications when connecting to the LLM. |
| REC4 | Do not train LLMs on sensitive data. Enforce authorisation controls at the data source level, not within the LLM. |
| REC5 | Treat LLM output as untrusted; apply restrictions before using it in other functions to mitigate malicious prompt impact. |
| REC6 | Filter server-side function outputs and sanitise sensitive information before retraining or returning output to users. |
| REC7 | Treat LLM access like typical user access. Enforce authentication/authorisation controls prior to data access, as LLMs cannot protect sensitive information. |
To model the attack, you can use either:
OR
| Aspect | Threat Modeling (STRIDE) | Attack Modeling (MITRE ATT&CK / Kill Chain) |
|---|---|---|
| Purpose | Identify potential threats in system design |
Describe actual attacker behaviours and campaigns |
| Perspective | Defender / architect - “What could go wrong?” |
Adversary / analyst - “How do they attack?” |
| Stage | Design-time → prevention & hardening |
Run-time / post-incident → detection & response |
| Focus | Violated security properties (Spoofing, Tampering, etc.) | Tactics & techniques (Recon, Exploitation, C2 …) |
| Outcome | Threat list + mitigations |
Attack chain mapping + detection / response gaps |
In a nutshell:
STRIDE helps you build securely,
MITRE ATT&CK / Kill Chain help you detect and respond effectively.
## Threat Modelling Methodologies: **Asset-Centric Approach** - `Protect` valuable `assets`. - `Focuses` on identifying and `safeguarding` critical `assets` such as data, intellectual property, user information, and physical components. 1. **Identify Assets:** List all valuable assets needing protection. 2. **Assess Impact:** Determine the impact of potential threats to these assets. 3. **Determine Controls:** Implement security measures to protect these assets. - **Benefits:** Ensures critical `components` are `adequately protected`. - **Challenges:** May **overlook** **vulnerabilities** that do **not directly** threaten the identified assets. --- ## Threat Modelling Methodologies: **Attacker-Centric Approach** - Identify potential `attackers` and their `goals`. - Focuses on understanding the attackers' `motivations`, `capabilities`, and `objectives` to better anticipate and defend against their actions. 1. **Profile Attackers:** `Define` potential `attackers` based on motivation, skill `level`, and `resources`. 2. **Understand Goals:** Identify what `attackers` `aim` to achieve (e.g., financial gain, disruption, data theft). 3. **Simulate Attacks:** Model `how` these attackers might `exploit` vulnerabilities. - **Benefits:** Prepares defenses `tailored` to specific `threats`. - **Challenges:** Requires ongoing updates to address evolving threats and techniques. --- ## Threat Modelling Methodologies: **System-Centric Approach** - `Focus` on `vulnerabilities` within the system’s architecture. - `Examines` the system’s `design` and interactions to `identify` and mitigate potential `weaknesses`. 1. **Analyse Architecture:** Map out the system `architecture` and `components`. 2. **Identify Vulnerabilities:** Look for `weaknesses` within the `design` and `implementation`. 3. **Mitigate Risks:** Develop and apply `controls` to `address` `vulnerabilities`. - **Benefits:** Provides a `thorough` `examination` of system structure, helping to identify deep-seated vulnerabilities. - **Challenges:** Can be `complex` and `time-consuming`, especially for large or intricate systems. ---
Users should establish the technical scope, system architecture, and system components before performing threat modelling for a system.
- developers and end-users in various industries
- Anyone
- LLMs process diverse data including user inputs and large text corpora, with data flowing from user interactions to outputs in applications and databases
### Step 3 - Threat Identification: **STRIDE - TB1**  - **For LLMs** | **Category** | **Strengths** | **Weaknesses** | |----------------------------|-----------------------------------------|-------------------------------------------------------------| | **1-Spoofing** | - | -| | **2-Tampering** | - | - | | **3-Repudiation** | -| - | | **4-Information Disclosure** |- | **V4**: LLMs are unable to filter sensitive information (open research) | | **5-Denial of Service** |-|-| | **6-Elevation of Privilege** | - | - | --- ### Step 3 - Threat Identification: **STRIDE - TB1** #### List of vulnerabilities | V_ID | Description | E.g., | |--------|---------------------------------------------------|-----------------------------------------------------------------------------------------------------------| | V1 | Modify System prompt (prompt injection) | Users can modify the system-level prompt restrictions to "jailbreak" the LLM and overwrite previous controls in place | | V2 | Modify LLM parameters (temperature, length, model, etc.) | Users can modify API parameters as input to the LLM such as temperature, number of tokens returned, and model being used. | | V3 | Input sensitive information to a third-party site (user behavior) | Users may knowingly or unknowingly submit private information such as HIPAA details or trade secrets into LLMs. | | V4 | LLMs are unable to filter sensitive information (open research area) | LLMs are not able to hide sensitive information. Anything presented to an LLM can be retrieved by a user. This is an open area of research. | --- ### Step 3 - Threat Identification: **STRIDE - TB2**  - **LLMs** | **Category** | **Strengths** | **Weaknesses** | |----------------------------|-----------------------------------------|-------------------------------------------------------------| | **1-Spoofing** | - |V5: Output controlled by prompt input (unfiltered)| | **2-Tampering** | - |Output controlled by prompt input (unfiltered)| | **3-Repudiation** | - | - | | **4-Information Disclosure** | - | - | | **5-Denial of Service** | - | - | | **6-Elevation of Privilege** | - | - | --- ### Step 3 - Threat Identification: **STRIDE - TB2**  - **For Server-Side Functions** | **Category** | **Strengths** | **Weaknesses** | |----------------------------|-----------------------------------------|-------------------------------------------------------------| | **1-Spoofing** |Server-side functions maintain separate access to LLM from users| - | | **2-Tampering** | - |V6: Server-side output can be fed directly back into LLM (requires filter)| | **3-Repudiation** | - | - | | **4-Information Disclosure** | - |V6: Server-side output can be fed directly back into LLM (requires filter)| | **5-Denial of Service** | - | - | | **6-Elevation of Privilege** | - | - | --- ### Step 3 - Threat Identification: **STRIDE - TB2** #### List of vulnerabilities  | V_ID | Description | E.g., | |---------|-----------------------------------------------------------|----------------------------------------------------------------------------------------------------------| | V5 | Output controlled by prompt input (unfiltered) | LLM output can be controlled by users and external entities. Unfiltered acceptance of LLM output could lead to unintended code execution. | | V6 | Server-side output can be fed directly back into LLM (requires filter) | Unrestricted input to server-side functions can result in sensitive information disclosure or server-side request forgery (SSRF). Server-side controls would mitigate this impact. | --- ### Step 3 - Threat Identification: **STRIDE - TB3**  - **For the LLMs** | **Category** | **Strengths** | **Weaknesses** | |----------------------------|-----------------------------------------|-------------------------------------------------------------| | **1-Spoofing** | - | V5: Output controlled by prompt input (unfiltered) | | **2-Tampering** | - | V5: Output controlled by prompt input (unfiltered) | | **3-Repudiation** | - | - | | **4-Information Disclosure** | - | - | | **5-Denial of Service** | - | - | | **6-Elevation of Privilege** | - | - | --- ### Step 3 - Threat Identification: **STRIDE - TB3**  - **Private Data Sources** | **Category** | **Strengths** | **Weaknesses** | |----------------------------|-----------------------------------------|-------------------------------------------------------------| | **1-Spoofing** | - | - | | **2-Tampering** | - | - | | **3-Repudiation** | - | - | | **4-Information Disclosure** | - | V7: Access to sensitive information | | **5-Denial of Service** | - | - | | **6-Elevation of Privilege** | - | - | --- ### Step 3 - Threat Identification: **STRIDE - TB3** #### List of vulnerabilities  | **V_ID** | **Description** | **E.g.,** | |-------------|--------------------------------------------------|--------------------------------------------------------------------------------------------------| | **V5** | Output controlled by prompt input (unfiltered) | LLM output can be controlled by users and external entities. Unfiltered acceptance of LLM output could lead to unintended code execution. | | **V7** | Access to sensitive information | LLMs have no concept of authorisation or confidentiality. Unrestricted access to private data stores would allow users to retrieve sensitive information. | ---
- More resources are availbale on the book section on the Moodle page.