Domain 2 - Threat Modeling and Methodologies
Definition of Threat Modeling
Threat modeling is the systematic identification, enumeration, and prioritization of threats related to an asset.
It involves methods to understand applicable threats to a system.
Due to the complexity of modern systems, threat modeling assists in systematically analyzing potential threats, making it more manageable.
Purpose of Threat Modeling
Threat models help to address the daunting challenge of identifying all possible threats that could affect an asset in a complex system.
Major Threat Models
Two predominant threat modeling methodologies:
STRIDE
PASTA
STRIDE Model
Developed by Microsoft, STRIDE is an acronym representing various types of threats:
S - Spoofing
Definition: An attacker impersonates another user or system to gain unauthorized access.
Violation type: Authentication.
T - Tampering
Definition: An attacker modifies data either at rest or in transit, potentially altering the system's state or privileges.
Violation type: Integrity.
R - Repudiation
Definition: Actions performed in the system cannot be attributed to the attacker, leading to non-traceability.
Violation type: Nonrepudiation.
I - Information Disclosure
Definition: Threats that allow attackers to access sensitive information that should remain confidential.
Violation type: Confidentiality.
D - Denial of Service (DoS)
Definition: Authorized users are unable to access necessary resources or systems, potentially due to overwhelming the system.
Violation type: Availability.
E - Elevation of Privilege
Definition: Attackers gain higher access levels (e.g., from user to admin/root) allowing them greater control and the ability to hide their tracks.
Violation type: Authorization.
PASTA Model
PASTA: Process for Attack Simulation and Threat Analysis
Key Differences from STRIDE:
PASTA is risk-centric and includes considerations of the system's business value and objectives.
It comprises a more thorough analysis, accounting for both business and technical risks.
Although it is a more resource-intensive approach, it yields more comprehensive results.
Steps in the PASTA Methodology
Define Objectives - Establish what the system aims to achieve.
Define Scope - Identify the boundaries of the application.
Application Decomposition - Break down the system into its component parts for analysis.
Threat Analysis - Identify potential threats against the system.
Vulnerability and Weakness Analysis - Analyze weaknesses that could be exploited by identified threats.
Attack Modeling - Simulate attacks using the threats identified to understand potential impacts.
Risk and Impact Analysis - Evaluate the risk posed by identified threats and the impact of potential breaches.
Choosing Between STRIDE and PASTA
Use STRIDE when conducting a quick and simpler analysis of threats.
Use PASTA for comprehensive and risk-based assessments that consider the business context of the system.