As we continue to integrate technology into all aspects of our lives, it’s imperative that product creators think about the safety of their products from day one.
In this article, we will provide you with a step-by-step guide on creating a threat model, explaining the importance of each step along the way. You can follow along with your own Threat Modeling Excel Template here.
Threat modeling is an effective approach to analyzing the design of a feature, application, or product to eliminate potential security flaws. The primary goal of threat modeling is to understand the risks before developing a system.
There are three main benefits to proactive threat modeling:
Read More: Unveiling the 3 Key Benefits of Threat Modeling
By implementing threat modeling, organizations can save time and money by identifying and fixing security issues early in development, leading to a more secure and robust product.
The steps involved in the threat modeling process are as follows:
In order to create a comprehensive and effective threat model, it is crucial to involve all stakeholders throughout the SDLC. By engaging diverse perspectives, potential threats can be identified and addressed from multiple angles, resulting in a more robust and resilient security strategy.
Read More: Habits To Help Bridge The Developer vs. Security Gap
You are tasked with protecting your organization’s website as a marketing tool and e-commerce platform. It’s critical to protect your organization and your customer information that is connected to this website.
Access The Ultimate Beginner's Guide To Threat Modeling Here
So, you gather a team internally and start creating a threat model. Let’s look at each step of the threat model process for this website.
The first step in the threat model process is to define the scope of the threat model, including the system or application to be modeled, its assets, data, and users.
The assets that need to be protected include:
We will focus on protecting these three main areas for the rest of the threat model process.
Next, your team lists all the assets within the scope of the model, including hardware, software, data, and other resources that attackers could target.
Some of the threats that could impact these assets include:
It’s time to assess each threat's likelihood and potential impact.
The most widely used framework for analysis in a threat model is called STRIDE. STRIDE is a mnemonic that lists different threat categories:
After analyzing the possible threats, the next step is to prioritize them. This step is subjective based on the specific organization and system. While your team works through each threat one at a time, evaluate each threat based on its risk.
To help calculate the risk, we will use another useful mnemonic device called DREAD. Answer each question in the DREAD mnemonic with a rating of 1-5, assuming that the threat has occurred.
Using our website example, let’s look at how much of a threat spoofing is: "a user finding a way to purchase something as another user and using their payment information", let’s walk through the scoring:
The total score for spoofing would be 23. Now you go through the rest of STRIDE to calculate each threat’s score. Once the threats have been assessed, they can be prioritized. The threats with the highest likelihood and impact should be addressed first.
Learn More About Application Security Training Content
Now that you know the risks and have work prioritized, it’s time to get started. It’s time to ask, ‘How can your team implement controls to reduce the likelihood or impact of each threat?’
For each threat, you have four options: Mitigate, Eliminate, Transfer, or Accept. Let’s look at what we can do with our website threats:
As you go through the threat modeling process and work to mitigate potential threats to your website, create a paper trail for future reference.
Some important questions to ask your team are:
Your team may create a file on your organization’s internal drive to store meeting notes, analysis documents, action logs, and more.
Implementing proactive threat modeling is a critical component of building secure and robust systems. Organizations can identify and address potential security issues early in the development process by following a step-by-step process that includes defining the scope of the model, identifying assets, analyzing threats, implementing controls, and documenting the process.
You can learn more about threat modeling with our expert-led videos or through our threat modeling and application security lessons hosted on the Security Journey AppSec Education Platform.