Code & Architecture Review Fundamentals - Threat Modelling
In security assessments, many professionals begin by diving directly into testing, guided by familiar tools, methodologies, and checklists. While this approach can lead to valuable findings, it often lacks a strategic layer that deepens the understanding of what’s being assessed. By integrating threat modelling, a more intentional focus emerges—one that encourages a structured breakdown of the system to target the most critical areas and potential risks.
Threat modelling involves identifying the various components within a solution, understanding the most valuable assets, recognising likely attackers, and mapping out vulnerabilities that could impact the system. This approach helps to build a list of specific threats targeting a solution’s core assets, highlighting the areas of highest priority for an assessment. When these threats are validated, the potential impact is already understood, allowing for clearer, more context-rich reporting. This, in turn, provides clients with a clearer understanding of why a finding is significant and why addressing it is essential.
For clients, this clarity and contextual insight are crucial. Large organisations, in particular, may struggle to appreciate a vulnerability’s relevance without a strong emphasis on impact and context. Threat modelling allows assessments to deliver this clarity, helping clients make informed security decisions.
In code and architecture reviews, where internal visibility into the system is often possible, threat modelling enables a comprehensive overview of how an attacker might exploit the solution’s structure. Although some threats identified may align with standard web application testing findings, this approach often reveals additional avenues that might otherwise go unnoticed, expanding the scope and effectiveness of the assessment.
Course Prerequisites
This course is designed for learners with a foundational understanding of infrastructure and web application security vulnerabilities, along with a general awareness of the components commonly used in web applications. If you’re familiar with these basics, you’ll benefit most from the course; however, those willing to research terminology, components, or vulnerabilities as needed should still be able to follow along effectively.
Our approach to threat modelling is presented from the perspective of a pentester or application tester, focusing on identifying threats to create a targeted list of threats to consider for an assessment. While developers and product owners may find the material valuable, this course emphasises testing-specific threats rather than an exhaustive list for broader security management. Topics such as risk management and mitigations are only briefly addressed, as they are more relevant to those managing a solution’s overall security.
Buy Now
To begin your journey into threat modelling and enhancing your assessment skills, follow the link below. You will be redirected to Lemon Squeezy – our payment provider. Once your payment is processed, you’ll receive an email from our platform provider, CourseStack, to create an account and complete your course enrolment.
Base Price: £75 — Total: £90 (inc. VAT)
Note: Tax is calculated according to your country of residence. Click ‘Buy Now’ to view the final price, including applicable taxes.
For more information about our payment and platform providers, please see the following articles:
- Lemon Squeezy (payment provider)
- CourseStack (platform provider)
- Refund Policy
Course Breakdown
Overview
This chapter introduces the core concepts of the course and covers any prerequisites or caveats you should be aware of before starting (as mentioned above).
Lessons:
- Introduction
- About the Course
- Course Prerequisites & Caveats
Example Systems
In this chapter, we introduce the example systems you’ll be using throughout the course. These examples will guide you through the practical application of the threat modelling process.
Lessons:
- Event Planner Perfection (EPP)
- Mailer Application
- Papermerge
The Basics
This chapter focuses on the fundamental principles behind code and architecture reviews and introduces the key terminology you’ll encounter. It also covers a number of tools that can be used for diagram creation.
Lessons:
- When and Why for Code & Arch Reviews
- Key Terms
- Diagram Tooling
Threat Model Diagrams
This section delves into the various elements that make up a threat model diagrams and what they are used for.
Lessons:
- Introduction
- External Entity
- Process
- Datastore
- Trust Boundary
- Data Flows
- Mailer Application Example
- Papermerge Example
- Exercise
- Chapter Summary
Asset Identification
In this chapter, you’ll learn how to identify critical assets in the systems you’re reviewing. We’ll use two example systems to help you apply these concepts effectively.
Lessons:
- Common Assets
- Mailer Application Example
- Papermerge Example
- Exercise
- Chapter Summary
Threat Actor Identification
This chapter focuses on identifying potential threat actors who may target the systems you’re reviewing.
Lessons:
- High-Level Threat Actors
- Papermerge Example
- Exercise
- Chapter Summary
Threat Identification
In this chapter, you’ll dive deeper into identifying specific threats, building on the examples we’ve covered to guide your analysis. It also covers approaches to prioritising your time and focusing your efforts.
Lessons:
- Introduction
- Mailed Application Example
- Timelimit, Focus & Approach
- Vulnerability Inspiration
- Targeting Data-flows Between User and Web Application Server
- Targeting the Web Application Server
- Targeting the ElasticCache
- Papermerge Example
- Exercises
- Chapter Summary
Documenting Threats
Here, you’ll learn how threats can be documented. You’ll also be introduced to the concept of a threat matrix.
Lessons:
- Keeping it Simple
- Threat Matrix
- Exercises
- Chapter Summary
Course Summary
This final chapter wraps up the course, providing a summary of the key takeaways and offering guidance on how to continue developing your threat modelling skills.
Lessons:
- Summary
- What Next?
Any Questions?
If you have any questions about the course or need additional support, please don’t hesitate to reach out. You can visit our support page for more information, or join our Discord community server where you can connect with other learners and get assistance. Click here to join the community!