threat-modeling
Threat Modeling
Threat Modeling Methodologies
STRIDE
STRIDE is a threat modeling framework developed by Microsoft that categorizes threats into six categories:
-
Spoofing: Impersonating something or someone else
- Examples: Fake authentication tokens, DNS spoofing, email spoofing
- Controls: Strong authentication, certificate validation, anti-spoofing measures
-
Tampering: Modifying data or code without authorization
- Examples: Man-in-the-middle attacks, code injection, data tampering
- Controls: Digital signatures, integrity checks, secure communication channels
-
Repudiation: Denying having performed an action
- Examples: Denying a transaction, denying access to resources
- Controls: Audit logging, non-repudiation services, digital signatures
-
Information Disclosure: Exposing information to unauthorized parties
- Examples: Data leakage, sensitive information in logs, insecure storage
- Controls: Encryption, access controls, data masking, secure logging
-
Denial of Service: Making a service unavailable
- Examples: DDoS attacks, resource exhaustion, application crashes
- Controls: Rate limiting, throttling, redundancy, monitoring
-
Elevation of Privilege: Gaining unauthorized higher-level access
- Examples: Privilege escalation, bypassing authorization checks
- Controls: Principle of least privilege, secure authorization, input validation
PASTA Framework
Process for Attack Simulation and Threat Analysis (PASTA) is a seven-step risk-centric methodology:
- Define Objectives: Establish business objectives and compliance requirements
- Define Technical Scope: Identify assets, data flows, and technical architecture
- Application Decomposition: Analyze application architecture and data flows
- Threat Analysis: Identify threats using threat intelligence and attack patterns
- Vulnerability Analysis: Identify and assess vulnerabilities in the system
- Attack Modeling: Model potential attacks and their impact
- Risk Analysis: Assess and prioritize risks based on business impact
LINDDUN Framework
LINDDUN is a privacy-focused threat modeling framework:
- Linkability: Ability to link data to individuals
- Identifiability: Ability to identify individuals from data
- Non-repudiation: Inability to deny actions
- Detectability: Ability to detect data processing
- Disclosure of Information: Unauthorized information disclosure
- Unawareness: Individuals unaware of data processing
- Non-compliance: Failure to comply with regulations
Attack Tree Analysis
Attack Tree Structure
Attack trees are hierarchical diagrams that represent different ways an attacker might achieve a goal:
- Root Node: The attacker's ultimate goal
- Intermediate Nodes: Sub-goals or attack vectors
- Leaf Nodes: Specific attack techniques or exploits
Attack Tree Analysis Process
- Define Attack Goal: Identify what the attacker wants to achieve
- Identify Attack Vectors: Brainstorm different ways to achieve the goal
- Break Down Vectors: Decompose each vector into smaller steps
- Assign Values: Assign difficulty, cost, and risk values to each node
- Analyze Paths: Identify the most likely attack paths
- Identify Mitigations: Determine controls to block each path
Common Attack Patterns
- Authentication Attacks: Credential stuffing, brute force, password spraying
- Authorization Attacks: Privilege escalation, IDOR, broken access controls
- Injection Attacks: SQL injection, command injection, XSS, LDAP injection
- Cryptographic Attacks: Weak algorithms, key management issues, padding oracle
- Network Attacks: MITM, DNS poisoning, ARP spoofing, BGP hijacking
- Social Engineering: Phishing, pretexting, baiting, tailgating
Common Attack Patterns
OWASP Top 10
- Broken Access Control: Restrictions on authenticated users are not properly enforced
- Cryptographic Failures: Failures related to cryptography and protection of sensitive data
- Injection: Injection flaws allow attackers to execute malicious commands
- Insecure Design: Flaws in design and architecture that enable security issues
- Security Misconfiguration: Improperly configured security settings
- Vulnerable and Outdated Components: Using components with known vulnerabilities
- Identification and Authentication Failures: Weaknesses in identity and authentication
- Software and Data Integrity Failures: Code and infrastructure without integrity protection
- Security Logging and Monitoring Failures: Insufficient logging and monitoring
- Server-Side Request Forgery (SSRF): Server makes requests to unintended locations
Common Weakness Enumeration (CWE)
- CWE-79: Cross-site Scripting (XSS)
- CWE-89: SQL Injection
- CWE-200: Information Exposure
- CWE-352: Cross-Site Request Forgery (CSRF)
- CWE-400: Uncontrolled Resource Consumption
- CWE-502: Deserialization of Untrusted Data
- CWE-732: Incorrect Permission Assignment
- CWE-798: Use of Hard-coded Credentials
- CWE-862: Missing Authorization
- CWE-863: Incorrect Authorization
Risk Assessment Frameworks
CVSS (Common Vulnerability Scoring System)
CVSS provides a standardized way to assess vulnerability severity:
- Base Score: Intrinsic qualities of the vulnerability (Exploitability, Impact)
- Temporal Score: Characteristics that change over time (Exploit Code Maturity, Remediation Level)
- Environmental Score: Characteristics specific to the user's environment
DREAD
DREAD is a risk assessment model:
- Damage: How much damage could be caused?
- Reproducibility: How easily can the vulnerability be reproduced?
- Exploitability: How easy is it to exploit?
- Affected Users: How many users are affected?
- Discoverability: How easy is it to discover?
OWASP Risk Rating
OWASP provides a risk rating methodology:
- Likelihood: Ease of discovery, ease of exploit, awareness, intrusion detection
- Impact: Technical impact, business impact
- Risk Score: Likelihood × Impact
Security Architecture Patterns
Defense in Depth
Layered security controls provide multiple levels of protection:
- Perimeter Security: Firewalls, WAFs, DDoS protection
- Network Security: Network segmentation, IDS/IPS, VPN
- Host Security: Endpoint protection, HIDS, application whitelisting
- Application Security: Input validation, authentication, authorization
- Data Security: Encryption, access controls, data loss prevention
Zero Trust Architecture
Never trust, always verify:
- Identity Verification: Strong authentication for all access requests
- Device Trust: Verify device health and compliance
- Least Privilege: Grant minimum necessary access
- Micro-segmentation: Segment networks to limit lateral movement
- Continuous Monitoring: Monitor and log all access and activity
Secure by Design
Incorporate security from the beginning:
- Threat Modeling: Identify threats early in design
- Secure Defaults: Default to secure configurations
- Principle of Least Privilege: Minimize permissions
- Defense in Depth: Multiple layers of security
- Fail Secure: Fail to a secure state
- Security by Design: Design security into the system
More from davincidreams/agent-team-plugins
blender
Blender interface, workflows, and 3D production pipeline
222rigging
Rigging fundamentals, skeleton setup, and animation controls
16animation
Animation principles, techniques, and best practices for 3D animation
13vroid
Vroid Studio, VRM format, and VTuber avatar creation
10technical-writing
Technical writing principles and best practices for creating clear, accurate documentation
9unreal
Unreal Engine patterns, Actor/Component model, Blueprints vs C++, and best practices
8