Guidance on Threat Modeling
Introduction: Threat modeling is a structured approach to
identify and prioritize potential security threats to a system, application, or
network. It is a proactive measure that helps organizations assess the security
of their systems and identify any potential vulnerabilities. By identifying
these risks early, organizations can take proactive steps to mitigate them
before an attacker takes advantage of them.
Asset Types: When performing a threat modeling exercise,
it is important to first identify the assets that need to be protected. These
assets can include but are not limited to: • Systems and networks •
Applications and services • Data and information • Personnel and users •
Infrastructure and facilities
Threat Modeling Basics: Threat modeling involves the
following steps: • Identifying assets and their importance • Determining
potential threats • Evaluating the likelihood of a threat occurring • Assessing
the impact of a threat • Prioritizing threats based on likelihood and impact •
Developing and implementing mitigations to mitigate the risk.
Attack Vector: An attack vector is a path or method that an
attacker uses to access a system, application, or network. Examples of attack
vectors include phishing, malware, and network-based attacks.
Attack Surface: The attack surface refers to the total sum of
potential vulnerabilities that exist within a system, application, or network.
This includes both the entry points for an attacker and the potential weak
spots in the system.
Attack Tree: An attack tree is a graphical representation
of the different ways an attacker can access a system, application, or network.
It is used to model different scenarios and to prioritize mitigation efforts
based on likelihood and impact.
Attack Life Cycle: The attack life cycle refers to the
different stages of an attack, including reconnaissance, exploitation, and post-exploitation.
Understanding the attack life cycle helps organizations develop mitigations that
target specific stages of an attack.
Threat Modeling Tools: There are several tools that can be
used to support threat modeling activities. Some of the most used tools
include:
• STRIDE Methodology
• DREAD Methodology
• TRIKE Threat Modeling Tool
• Elevation of Privilege Threat
Modeling Tool
• Delphi Technique
STRIDE Methodology: The STRIDE methodology is a threat
modeling approach that helps identify and categorize potential threats. It is
based on the acronym STRIDE, which stands for Spoofing, Tampering, Repudiation,
Information Disclosure, Denial of Service, and Elevation of Privilege.
DREAD Methodology: The DREAD methodology is a threat
assessment approach that evaluates the likelihood and impact of potential
threats. It is based on the acronym DREAD, which stands for Damage,
Reproducibility, Exploitability, Affected Users, and Discoverability.
TRIKE Threat Modeling Tool: TRIKE is a tool used to model and
visualize potential threats to a system, application, or network. It provides a
visual representation of the different attack scenarios and helps organizations
prioritize their mitigation efforts.
Elevation of Privilege Threat Modeling Tool: The
Elevation of Privilege Threat Modeling Tool is used to assess the potential for
an attacker to gain higher levels of access to a system, application, or
network. It helps organizations identify the potential for escalation of
privileges and take steps to mitigate these risks.
Delphi Technique: The Delphi Technique is a group-based
approach to threat modeling that involves brainstorming potential threats and
prioritizing mitigation efforts. It helps organizations obtain consensus on
potential.
Common Mistakes in Threat Modeling:
- Ignoring
assets and their importance: Not identifying the assets to be protected can
result in a failure to identify potential threats and vulnerabilities.
- Not
considering the attack surface: Ignoring the attack surface can result in
missing potential vulnerabilities and entry points for an attacker.
- Failing
to prioritize threats: Not prioritizing threats based on likelihood and
impact can result in ineffective mitigation efforts.
- Overlooking
human factors: Ignoring the role that people play in the attack and
defense of a system can result in missed opportunities to improve
security.
- Focusing
too much on technical solutions: Relying solely on technical solutions to
mitigate threats can result in an ineffective security strategy.
Correct Questions to Ask in Threat Modeling:
- What
are the assets to be protected?
- What
are the potential threats to these assets?
- What
is the likelihood of each threat occurring?
- What
is the potential impact of each threat?
- What
are the entry points for an attacker?
- What
are the weak spots in the system that an attacker could exploit?
- What
are the different attack scenarios?
- What
are the potential mitigations for each threat?
- What
is the effectiveness of each mitigation?
- What
is the prioritization of mitigation efforts based on likelihood and
impact?
- How
will the mitigations be implemented and maintained over time?
What is Multilevel Threat Modeling?
Multilevel Threat Modeling is a process of conducting threat
modeling at multiple levels of abstraction in an organization's systems,
applications, or products. The purpose of multilevel threat modeling is to
provide a comprehensive view of the security posture of an organization, considering
the interdependencies and relationships between systems.
Multilevel threat modeling starts with high-level modeling, which
focuses on identifying the overall threats and risks to the organization,
followed by a more detailed analysis of individual systems, applications, or
products. This process is repeated as necessary, with each level of detail
adding more granularity to the overall threat model.
Multilevel threat modeling provides a more comprehensive view of
an organization's security posture, helps to identify potential security gaps,
and supports informed decision-making on security investments and mitigation
strategies. Additionally, multilevel threat modeling can help to prioritize
mitigation efforts, ensuring that resources are allocated to the areas of
highest risk.
Threat and Mitigation Catalogs from NIST, ISO, and ENISA
NIST, ISO, and ENISA are three leading organizations in the field
of cybersecurity and information security, and each has developed its own
catalogs of threats and mitigations.
NIST Threat and Mitigation Catalogs: The
National Institute of Standards and Technology (NIST) has published several
catalogs of threats and mitigations, including the NIST Special Publication
800-53 (Rev. 4), which provides a comprehensive list of security controls for
federal information systems and organizations. This publication includes a
catalog of common threats, such as malware, unauthorized access, and denial of
service attacks, and corresponding mitigations, such as network segmentation,
firewalls, and intrusion detection systems.
ISO Threat and Mitigation Catalogs: The
International Organization for Standardization (ISO) has developed a number of
standards related to information security, including ISO/IEC 27001:2013, which
provides a framework for information security management systems. This standard
includes a catalog of common information security risks, such as unauthorized
access, data theft, and data corruption, and corresponding mitigations, such as
access control, data encryption, and disaster recovery planning.
ENISA Threat and Mitigation Catalogs: The
European Union Agency for Cybersecurity (ENISA) has published several catalogs
of threats and mitigations, including the ENISA Threat Landscape report, which provides
an overview of the current and emerging cyber threats in Europe. This report
includes a catalog of common threats, such as phishing, ransomware, and DDoS
attacks, and corresponding mitigations, such as security awareness training,
network security, and incident response planning.
In summary, these catalogs provide a comprehensive view of the
current cybersecurity threat landscape and the recommended mitigations for
mitigating those threats. They serve as valuable resources for organizations
looking to improve their security posture and protect against potential
attacks.
NIST SP 800-154
The National Institute of Standards and Technology (NIST) has
published the Special Publication (SP) 800-154, which provides guidelines for
conducting threat modeling. The NIST threat modeling approach is a structured
method for identifying and prioritizing potential security threats to a system,
application, or product, and for developing and implementing mitigations to
mitigate those threats. The following steps outline the NIST threat modeling
approach:
- Initialize:
Define the scope of the threat modeling effort, identify stakeholders, and
gather relevant information about the system, application, or product
being analyzed.
- Identify
Assets: Identify the assets to be protected, including data,
functionality, and infrastructure components.
- Identify
Threats: Identify potential threats to the assets, including external
threats (such as malicious actors) and internal threats (such as human
error).
- Prioritize
Threats: Prioritize the identified threats based on their likelihood
and potential impact.
- Identify
Mitigations: Identify potential mitigations for each
threat, including technical solutions, policy changes, and process
improvements.
- Evaluate
Mitigations: Evaluate the effectiveness of each mitigation,
including its impact on system performance and its ability to mitigate the
threat.
- Implement
Mitigations: Implement the most effective mitigations,
considering any trade-offs between security and other system requirements.
- Monitor
and Review: Continuously monitor the security posture of the system,
application, or product, and review the threat modeling process to
identify areas for improvement.
The NIST threat modeling approach is a flexible and adaptable
method that can be customized to meet the specific needs of an organization. By
following the steps outlined in SP 800-154, organizations can develop a
comprehensive view of their security posture and take proactive steps to
mitigate potential threats.
What are common threat modeling Mitigations?
Threat modeling mitigations are measures taken to mitigate the
potential impact of identified security threats. Common threat modeling mitigations
include:
- Access
control: Restricting access to sensitive information and systems to only
those who need it to perform their job functions.
- Authentication
and authorization: Ensuring that users are who they claim to be and that
they have the appropriate level of access to resources.
- Data
encryption: Encrypting sensitive data to protect it from unauthorized
access or theft.
- Firewalls
and network security: Implementing firewalls and other security measures
to prevent unauthorized access to systems and data.
- Intrusion
detection and response: Detecting and responding to security incidents in
a timely manner.
- Security
awareness training: Providing employees with training on security best
practices and the importance of protecting sensitive information.
- Incident
response planning: Developing a plan to respond to security incidents in a
coordinated and effective manner.
- Regular
software updates and patches: Keeping software up to date to address known
security vulnerabilities.
- Vulnerability
assessment and penetration testing: Regularly testing systems to identify
and address vulnerabilities.
- Backup
and disaster recovery: Having a plan in place to quickly recover from a
disaster, such as a fire or cyberattack.
These are just a few examples of the types of mitigations that
organizations can implement to mitigate security threats. The specific mitigations
will depend on the results of the threat modeling process, including the
prioritization of threats and the specific security requirements of the
organization.