Threat Model: Can It Help Your Business Defend Against Security Threats?

Jesus Noguera
Globant
Published in
9 min readApr 27, 2023
Let’s talk about Threat Models
Let’s talk about Threat Models

In recent years, cybersecurity has played an important role for companies because cybercriminals are looking for new ways to exploit vulnerabilities in systems every day. This is why companies must be prepared to face these risks and protect themselves against them. This is where the Threat Model plays an essential role in managing cybersecurity risk.

The Threat model is crucial for any company that wants to effectively secure its environment. It not only helps identify threats and vulnerabilities but also helps assess the severity of risks and set priorities for addressing them. In this article, we’ll look at how a threat model can help a company protect against cyberattacks, and how it can be used to improve security across the organization.

What is a Threat Model?

A Threat Model is a well-structured method of identifying and prioritizing any potential threat to a system. This involves the analysis of various system components such as data flows, entry, and exit points, potential attack vectors, as well as possible vulnerabilities and risks.

As well as a Threat Model process, it is crucial to consider different attack vectors that can be used to exploit vulnerabilities. An attack vector is a method or route that an attacker can use to gain unauthorized access to a system. Since the attack vector is an important concept for a good Threat Model, we are going to delve a little deeper into it.

An attack vector can take the form of a social engineering attack, malware, or a web vulnerability. Understanding what an attack vector is a critical factor when evaluating a system’s threat model.

Identify the elements that must be protected
Identify the elements that must be protected

As part of the development of a Threat Model, it is also important to identify the elements that must be protected, the possible threats that these elements represent, and the vulnerabilities that can be exploited by an attacker. Understanding the different attack vectors that can lead to the exploitation of a vulnerability is vital so that a company can prioritize its security efforts and implement actions to protect against these threats.

For example, if a web application is a fundamental element for a company, it requires protection, and the Threat Model must include an analysis of the different attack vectors that could be carried out to compromise the application. This could include, among other things, vulnerabilities in code, an assessment of authentication and access controls, as well as an analysis of the network architecture to identify entry points for attackers.

Understanding which are the most relevant attack vectors for the system in a company allows taking preventive actions to identify, attack and mitigate vulnerabilities before they are exploited by an attacker. This helps reduce the risk of security breaches and minimize potential damage from an attacker.

Characteristics of a Threat Model

It is crucial that the Threat Model adjusts to the needs of the system, be flexible, involves all stakeholders in its development, and be adaptable to changes. This is the key to good security management against threats. The threats that arise every day.

To ensure good security management, the Threat Model must be easy to understand and flexible, it must cover all possible attack scenarios, and it must adapt to new threats that may emerge over time. In addition, its development must be an iterative process that involves the collaboration of different roles, such as developers, security analysts, and business owners, thus ensuring that any potential threat is thoroughly analyzed, and security measures are correct.

Importance of a Threat Model

As we have been able to deduce, a Threat Model can help companies identify and reduce any potential risk before it can become a serious problem. Thanks to the identification of possible vulnerabilities and attack vectors, companies can implement more accurate measures to protect systems and information.

If a company does not have a Threat model, it opens a security breach that can result in financial or reputational problems, even ending up in legal problems, regulations, or even sanctions, as well as indirect costs such as the loss of business opportunities or the loss of customer trust and loyalty. This is why it is vital to carry out a Threat model that helps companies identify and reduce any risk in the security of the systems, ensuring compliance with data protection regulations.

How to Make a Threat Model

Now that we have seen its importance, we can make a Threat Model. We must consider that there are several frameworks and methods to carry out our Threat Models such as STRIDE, DREAD, PASTA, VAST, and many more. Let’s see in a general way what are the stages that involve the creation of a Threat Model, and how it can be represented in real life using the OWASP Threat Dragon tool as a practical example (A sample model of a web application, with a queue-decoupled background process):

Stage 1: Define the system being evaluated

The first stage in the elaboration of a Threat Model is to define the system that will be evaluated. This involves identifying critical assets that need to be protected, as well as confidential information, and critical systems and processes for the development of the company’s business. You also need to identify potential attackers, including hackers, rogue employees, competitors, and more.

Main Request Data Flow
Main Request Data Flow

To identify critical assets that need to be protected we can review a main request data flow, and specify the boundaries, actors, process, and all entities.

Stage 2: Identify potential security threats

In the second stage, we have to identify the attack vectors and their possible risks. Let’s see some examples:

  • Phishing Attacks: Phishing attacks are a common threat where an attacker sends a fraudulent email, which appears to be legitimate, and seeks to obtain sensitive information such as usernames and passwords. A Threat Model can help identify weaknesses in email systems and employee training, looking for more effective implementation of these measures to reduce the risk of phishing attacks.
  • Ransomware: Ransomware is a type of malicious software that encrypts files on a computer and demands payment to unlock them. A Threat Model must identify vulnerabilities in the company’s network and software security and use measures to prevent a ransomware attack, thus reducing the risk of data loss.
  • Brute force attacks: Brute force attacks are a technique in which an attacker constantly tries to guess a password, trying all possible combinations until he finds the correct one. A Threat Model can identify weak points in the password policy as well as in the security configuration of the system, creating measures to prevent brute force attacks and reducing the risk of unauthorized access to the system.
Threats related to the Message Queue
Threats related to the Message Queue

Once we identified all entities, we need to identify the threats that could impact the system. In this example with Threat Dragon, we used STRIDE. STRIDE is a threat modeling framework that is used to identify and categorize potential threats to a system.

Stage 3: Evaluate the potential impact of identified threats

After identifying all the possible risks, it is important to check the possible impact that it can generate in the system. This can include the loss of confidentiality of information, system downtime, and even financial losses.

Threat — Message tampering
Threat — Message tampering

In this stage, we evaluate the potential impact of the threat “Message tampering” and determine the risk behind this threat. We can use a risk management methodology to do this, such as DREAD or PASTA. In the end, every threat will have a risk level (priority) like Low, Medium, or High.

Stage 4: Develop a Mitigation Plan

Finally, a mitigation plan must be carried out, which must be based on the identified risks and their possible impacts. The mitigation plan should include specific actions to reduce the likelihood of the identified risks and minimize the impact of any that may occur.

This plan must focus on risks based on their probability of occurrence and their impact, and accordingly allocate the necessary resources. This may involve mitigation techniques such as the use of firewalls, intrusion detectors, and access controls, as well as policies, procedures, and training programs.

Mitigation plan for “Message tampering” threat

It is important to constantly review and update the security mitigation plan for its effectiveness in the evolution of the business. By implementing an effective mitigation plan, companies can improve their security by reducing the likelihood and impact of security incidents.

Benefits of a Threat Model

The implementation of a Threat Model offers many benefits for a company; mainly, it helps to identify risks and prevent possible security incidents. By identifying threats, a company can assess their impact and design strategies that can effectively reduce the probability of a security incident.

Secondly, a Threat Model helps companies legally follow regulations related to information security and privacy. Many government regulations, such as the personal data protection law, require companies to keep the data of their customers and employees.

Also, a Threat Model helps to identify the resources efficiently necessary for the security of a company’s systems, understanding the potential risks and threats, companies can focus on implementing the most effective measures to protect their most critical resources.

Resources for Creating Threat Models

Currently, many resources can be useful to create a Threat Model, let’s see some of these resources:

  • OWASP Threat Modeling Guide: The OWASP (Open Web Application Security Project) Foundation provides a comprehensive guide for performing Threat Models. This guide includes information on the stages involved in the risk analysis process, as well as useful tools and techniques.
  • Microsoft Threat Modeling Tool: Microsoft offers a free threat modeling tool that can help developers and other security professionals efficiently create and analyze Threat Models.
  • SANS Institute: The SANS Institute is an information security organization that offers a variety of resources and training courses in the field of cybersecurity, including information and guidance on Threat Models.
  • NIST Cybersecurity Framework: The NIST (National Institute of Standards and Technology) Cybersecurity Framework is a set of best practices and guidelines that can help companies assess and manage their cybersecurity. The framework includes a section on identifying and assessing threats, which can be useful for creating a Threat Model.

These are just some of the many sources available for creating Threat Models. It’s important to research and find the tools and resources that are most useful for the specific needs of your company or project.

Conclusion

In conclusion, conducting a Threat Model should be a priority for any business that values the security of its assets and the privacy of its customers and employees. By taking a structured approach to analyzing potential security risks, businesses can implement effective security measures to protect against cyberattacks and data breaches.

It is not enough for companies to rely solely on technological security measures, as threats and risks are constantly evolving. Therefore, a Threat Model can help organizations stay ahead of the curve and better manage their security risks, leading to a safer and more secure business environment. In today’s digital age, companies must remain vigilant and prepared to address any potential security threats that may arise, and a Threat Model is an effective tool to help them do so.

Resources

--

--