sentenz / convention

General articles, conventions, and guides.
https://sentenz.github.io/convention/
Apache License 2.0
4 stars 2 forks source link

Create an ADR for `Threat Modeling` #343

Open sentenz opened 2 months ago

sentenz commented 2 months ago

ADR Threat Modeling

Architectural Decision Records (ADR) on implementing Threat Modeling for Software Systems.

1. State

2. Context

The organization and the Secure Software Development Lifecycle (SSDLC) requires a comprehensive threat modeling approach to ensure the software security standards. Given the complexity and variety of potential threats, we aim to select and integrate multiple threat modeling frameworks.

Developing secure software systems, it's critical to identify and assess potential security threats. This helps in mitigating risks early in the design phase. Various threat modeling frameworks exist, each with its methodologies, strengths, and focuses. The challenge is to select the most appropriate framework(s) that align with our security goals, project requirements, and team expertise.

3. Decision Drivers

4. Decision

  1. STRIDE

    Selected for its structured approach and comprehensive coverage of common threats. It is well-suited for identifying a broad range of security issues at different levels of the system. STRIDE provides a systematic way to categorize and address potential threats during the design phase.

  2. MITRE ATT&CK

    Chosen for its detailed taxonomy of adversary tactics and techniques based on real-world observations. This helps in understanding and anticipating advanced threats. MITRE ATT&CK offers a comprehensive and evolving knowledge base that reflects the latest threat landscape.

  3. CVSS

    Adopted for its standardized approach to evaluating the severity of vulnerabilities. It aids in prioritizing security efforts based on the impact. CVSS allows for consistent vulnerability assessment and prioritization, making it easier to manage and communicate risk levels.

  4. LINDDUN

    Included to specifically address privacy threats and ensure comprehensive privacy risk assessment. This complements our overall security threat modeling by focusing on privacy aspects. LINDDUN adds a crucial privacy dimension to our threat modeling efforts, ensuring that privacy concerns are thoroughly addressed.

5. Considered

  1. STRIDE

    • Pros

      Simple and easy to understand. Provides a comprehensive approach to identifying a wide range of threat types.

    • Cons

      Limited in assessing the impact and likelihood of threats. May require additional tools for risk assessment.

  2. DREAD

    • Pros

      Offers a scoring system to evaluate threats. Helps prioritize threats based on their potential impact.

    • Cons

      Subjective and less structured compared to other methods.

  3. PASTA

    • Pros

      Focuses on business objectives and the potential impact on them. Provides a comprehensive seven-step methodology.

    • Cons

      More complex and time-consuming to implement. Requires a significant amount of expertise and resources.

  4. LINDDUN

    • Pros

      Specializes in privacy threat modeling. Systematic approach to identifying privacy issues.

    • Cons

      Limited to privacy threats and does not cover all types of security threats. May need to be used in conjunction with other frameworks.

  5. Attack Tree

    • Pros

      Visual representation of threats and attack paths. Helps identify and prioritize vulnerabilities.

    • Cons

      Can become complex for large systems. Does not provide specific risk assessment metrics.

  6. MITRE ATT&CK

    • Pros

      Comprehensive and detailed knowledge base of adversary tactics and techniques. Widely adopted and continuously updated.

    • Cons

      Requires integration with other frameworks for complete threat modeling. May be overwhelming due to its extensive detail.

  7. CVSS

    • Pros

      Provides a standardized method for assessing the severity of vulnerabilities. Widely used and recognized.

    • Cons

      Focuses primarily on vulnerabilities rather than comprehensive threat modeling. Does not address the identification process of threats.

  8. TRIKE

    • Pros

      Integrates threat modeling and risk management. Provides a framework for risk-based security decisions.

    • Cons

      Less widely adopted and supported. Can be complex to implement effectively.

  9. VAST

    • Pros

      Designed to integrate with agile development processes. Scalable and provides visual models for threat analysis.

    • Cons

      Relatively new and less proven in large-scale deployments. Limited resources and community support.

  10. OCTAVE

    • Pros

      Focuses on organizational risk management. Comprehensive methodology for evaluating security risks.

    • Cons

      Time-consuming and resource-intensive. More suitable for larger organizations with mature security processes.

6. Implications

  1. Process Changes

    • Training

      Team members will need training on the integrated approach, including understanding and applying CVSS, LINDDUN, and STRIDE.

    • Tooling

      Evaluate and potentially adopt tools that support these methodologies. This might include threat modeling tools, privacy assessment tools, and CVSS calculators.

  2. Implementation Steps

    • Kickoff and Training

      Initiate the integration process with a kickoff meeting and conduct comprehensive training sessions.

    • Tool Assessment and Integration

      Evaluate available tools and integrate them into our development pipeline.

    • Pilot Project

      Implement the integrated threat modeling approach on a pilot project to refine the process and address any issues.

    • Full Deployment

      Roll out the refined process across all projects.

  3. Evaluation and Monitoring

    • Continous Improvement

      Regular reviews and updates to the threat modeling process will be conducted to ensure it remains effective and incorporates new security and privacy trends.

7. References