Threat Modeling at Scale 6.21.23
Threat Modeling at Scale 6.21.23
Table of Contents
OBJECTIVE .................................................................................................................................................. 3
IMPORTANT DEFINITIONS/TERMS USED IN THIS PAPER ..................................................................... 3
THREAT MODELING OVERVIEW ............................................................................................................... 5
DEFINING THREAT MODELING “AT SCALE” .......................................................................................... 7
Requirements to Achieve Threat Modeling at Scale ................................................................................. 7
FRAMEWORK FOR EVALUATION OF SOLUTIONS ............................................................................... 19
EVALUATION OF DIFFERENT SOLUTIONS ........................................................................................... 21
Classes of Tools ...................................................................................................................................... 21
ROLLING OUT THREAT MODELING AT SCALE .................................................................................... 25
Form a Core Team of Stakeholders ........................................................................................................ 26
Understand Business Stakeholder Needs and Expectations and History With Threat Modeling ........... 26
Create a “Shortlist” of Methodologies, Refine the List to Suit Needs ...................................................... 27
Identify a Path to Automation .................................................................................................................. 27
Create Supporting Collateral ................................................................................................................... 27
Deployment “Day 0” to “Day 1” ................................................................................................................ 27
Deployment “Day 2” ................................................................................................................................. 28
Manage, Monitor, Report ......................................................................................................................... 28
Training & Communications .................................................................................................................... 28
SUMMARY .................................................................................................................................................. 29
REFERENCES ............................................................................................................................................ 29
IN CLOSING ............................................................................................................................................... 29
ABOUT SAFECODE .................................................................................................................................. 30
APPENDIX A .............................................................................................................................................. 31
Detailed Steps for Threat Modeling ......................................................................................................... 31
APPENDIX B .............................................................................................................................................. 33
Requirements to Priority Mapping ........................................................................................................... 33
Requirements to Persona Mapping ......................................................................................................... 34
APPENDIX C .............................................................................................................................................. 35
Threat Modeling Tool Assessments ........................................................................................................ 35
2
Threat Modeling at Scale
Objective
The white paper is intended for developers, architects, security organizations and other personnel who
have dealt with basic threat modeling and wish to upgrade existing threat modeling processes to address
the "scale" factor.
This paper aims to provide the reader with:
• Requirements and challenges that arise due to the scale factor;
• A framework for evaluating different solutions (including a comparison of classes of tools) to meet
these requirements;
• Processes for rolling out and adopting threat modeling at scale.
Term Meaning
Risk A value expressing the probability of a threat being acted upon and the
cost of impact from a successful threat action
Threat Actor An individual who would attempt to impact a system using a threat
3
Threat Modeling at Scale
Term Meaning
“At Scale” Factors that increase complexity, vagueness, and turn-around times for
threat modeling represent “At Scale” elements.
Factors that contribute to “At Scale” include (but are not limited to):
Threat Library A guide used by practitioners during a threat modeling exercise to identify
threats based on design patterns or other criteria. Threat libraries may be
static or dynamic.
Note: Not all threat modeling methodologies rely on threat libraries.
Severity & Priority Severity is an objective parameter/metric that depicts the impact of a
security bug on a given system.
Priority is a subjective parameter/metric that indicates how soon or in what
order a particular security defect should be fixed.
4
Threat Modeling at Scale
• Model a system;
• Identify mitigations;
5
Threat Modeling at Scale
PRE-STEP
Define Requirements • Identify the system(s).
and Scope • Identify stakeholders for each of the systems.
• Identify the security requirements, controls, other
objectives (e.g. privacy, compliance etc).
STEP 1
Model a system & • Identify the following: system's components,
Identify Attack Surfaces interactions between components, and properties
of each component.
STEP 2
Identify Threats & • Analyze component or interaction properties to
Repeat steps,
Vulnerabilities identify gaps, faults.
• Identify severity of concerns and prioritize threats.
if system or
requirements
evolve
STEP 3
Identify mitigations • Define actions to remediate or mitigate gaps.
STEP 4
Validate mitigations are • Prioritize the outcomes of threat modeling during
effective security testing to ensure threat mitigation is
effective.
POST-STEPS
Iterate & Identify • Distribute updates to stakeholders
Relationships • Use the results of threat modeling to drive other
value streams.
There are many recognized approaches to performing threat modeling; which approach is chosen for use
by an organization is dependent on a number of factors, but the approach should support organization-
specific business processes and needs, and result in outcomes that are meaningful for the organization
and its stakeholders including customers.
Threat Modeling should eventually tie back to business objectives of the organization and the output of
Threat Modeling should be used to drive other capabilities like secure coding, security testing, and
security operations.
6
Threat Modeling at Scale
• Organizational Size – the bigger the organization, the more stakeholders are to be involved in or
kept informed on threat modeling.
Example: Multiple divisions with varied processes, tools and deadlines giving rise to operational
friction to threat modeling an integrated solution.
• Architectural Complexity – complex, hybrid architectures have a greater attack surface which
takes longer to understand and to threat model.
Example: An integrated application with components from multiple cloud providers, different
technological stacks, and network segmentation spanning several geographical locations.
• Regulatory Demand – legal, security, privacy and other compliance requirements that are
continually changing and may impact all or some parts of the system in scope.
Example: Threat Modeling Cloud Technologies for compliance with Payment Card Industry (PCI),
General Data Protection Regulation (GDPR), and International Organization for Standardization
(ISO) for Application and Infrastructure Security standards.
• Frequency of Release – threat modeling has to keep up with the frequency of software
development and configuration releases, avoid being outdated or delaying the time to release or
time to market for a system that is being threat modeled.
Example: High volume of design changes to a system in the Agile-DevOps environment with
frequent, on-going releases (we recognize that some teams may release several times a day
while other teams may have less frequent releases).
7
Threat Modeling at Scale
Since threat modeling intersects with many other processes, it becomes necessary to consider how it
should be done as efficiently as possible. That eventually touches on value streams and business value
creation or benefits realization. However, our scope here is to limit the discussion to process efficiency at
the project and program level (where many of the day to day development activities occur). For each step
in the threat modeling process, teams need to consider whether there is waste while conducting the
activity. Ultimately, we believe this involves business stakeholders who should participate in defining the
scope of threat modeling.
Let us take a look at the different personas that deal with Threat Modeling on a day to day basis and
understand their requirements or needs to address the “At-Scale” elements for Threat Modeling.
These requirements are prioritized as per the classification:
Requirement Include Threat Modeling activity in the backlog/plan with appropriate story points
(translate according to the Software Development Lifecycle (SDLC) followed).
Security Acceptance Criteria set for every user story/feature going into the system
for that release.
Reasoning Threat Modeling activity must avoid being time-intensive every release. The solution
or methodology to threat model has to account for agile methodologies and other
rapid development processes. One should be able to replicate existing Threat
Models, apply frequently changing requirements and make necessary changes
every release without compromising on the time-to-release or time-to-market of the
products and applications.
To account for frequent releases, one should not compromise on the effectiveness
of the threat modeling activity either. The solution or methodology used to Threat
Model should account for the security acceptance criteria for every user story going
into the system for that release. Ideally, each security requirement should be
captured as a user story.
8
Threat Modeling at Scale
Reasoning Most inexperienced threat modelers spend a considerable amount of time and effort
in “beautifying” the threat model. This increases the overall time to complete a
Threat Modeling activity.
Solutions that eliminate this effort, like generating Threat Models from Code, JSON
objects, or by connecting to running workloads should be considered. The principles
of Infrastructure as Code can be used to solve this specific problem.
Reasoning The engineering team should be able to track the results of a Threat Modeling
activity as a backlog item in an ALM system through end to end automation. For
example, each threat and mitigation or requirement that has been generated during
Threat Modeling should create a defect ticket or user story in the engineering
backlog.
Requirement The results of Threat Modeling should drive static code analysis and/or other
verification activities.
Reasoning To realize the full benefit of a Threat Modeling exercise and drive other SDL
activities efficiently, the results of Threat Modeling should drive static code analysis
and/or other verification activities through one of the following:
• DevOps integration
• Platform Engineering
• Manual inputs.
For example, if during Threat Modeling one realizes that a process is using an
unmanaged programming language and could potentially be vulnerable to buffer
9
Threat Modeling at Scale
overflow attacks, then the automation scripts for testing should be able to
specifically look for these issues in the system with specific secure development
activities like fuzzing. (see SAFECode material in the footnotes on Secure Software
Development practices).
Reasoning It is well known that CI/CD pipeline begins from the code and traditionally threat
modeling has been out of scope for this activity.
However, efforts should be made to integrate Threat Modeling into the DevOps
pipeline for it to be a true DevSecOps operation.
All of the above mentioned requirements work well with DevSecOps integration.
Note that most diagramming tools require human involvement to generate the
diagrams but the analysis, reporting and additional actions, if any, can be integrated
with the CI/CD pipeline.
There are also tools that are able to generate diagrams based on code and they can
be used to completely integrate Threat Modeling into the CI/CD pipeline.
Reasoning It is desirable for the solution or methodology to go a step further and support
templates that provide a standardized architecture for each class of design
objectives. Example: Payment gateways, E-commerce platforms, Single Sign-On
(SSO) etc. With this add-on, Threat Modeling activity will be driving consistent
security architecture as a standard across all products and applications in the
organization/Business Unit and reduce the time and effort that would be required to
create a new design for every solution. This will be especially useful for Cloud
10
Threat Modeling at Scale
Reasoning Individual threat models of a complex solution may perform well at the
system/component level but when they are integrated, they may introduce potentially
new threats. Identification of these threats is at most times missed due to absence of
DFDs of the bigger picture and solution objective.
To counter this challenge in complex solutions, the threat modeling solution should
provide capability to integrate several models and form a new model, highlighting the
threats formed during the interconnection of these individual components. This can
be applicable to IoT Systems, Embedded Systems or systems-of-systems.
Note: Integration of models can mean systems to other systems or sub-components
of a system.
Microsoft Threat Modeling tool has the capability to have multiple tabs of diagrams
within a given threat model but does not allow cross-correlation of diagrams and
threats. As a work-around, the first tab can be used to represent the integration and
the subsequent tabs can be used for individual systems/components.
Commercial and other open source tools have the capability to integrate models of
systems or subsystems within a single tab of a given threat model.
11
Threat Modeling at Scale
For example, consider a Server Side Request Forgery (SSRF) in a web front end
server, and a database access control issue in the DB layer. These threats might
together form a chain that is valuable to be aware of in addition to the individual
threats.
Reasoning Currently, most organizations perform security, compliance and privacy activities
separately and often they have overlapping requirements or controls. There is an
opportunity to combine these activities together and identify and address issues at
design time to enable ‘’start left’ instead of just ‘shift-security-left’.
This will help ensure that architects and developers are not duplicating efforts and
increase the value of the output of threat modeling.
Requirement An effective way to track the evolution of a model over multiple releases
Reasoning Having the ability to review the evolution of the model to see how it changes over
time, and the threats that are identified and mitigated through this evolution, can
help the security engineer (or other team members) understand capability and
maturity of engineering teams and the threat modeling program, predict future
concerns, and help manage risk and security posture effectively.
12
Threat Modeling at Scale
Requirement An effective way to manage the workflow for Threat Model Exercises
Reasoning Ability to create models and request reviews through automation, instead of
attaching individual documents to emails/tickets etc is essential. Without this
capability, things can quickly go out of control and it can become exceedingly
cumbersome to track changes to the model and also to track who made what
change.
Reasoning Large organizations with engineering teams working on varied technology stacks
use varied tools, processes and methodologies to build their threat models. This ad-
hoc approach presents a challenge to the organization’s security program in terms
of defining what constitutes a good Threat Model and in ensuring the quality of
Threat Modeling activities. To arrest this challenge, a consistent approach to Threat
Modeling activity must be defined.
However, a consistent approach cannot always be practical across a huge
organization. Hence, complementary methodologies for Threat Modeling can be
used, if other factors like common model definitions are supported.
A common schema can help, even if standardization on a single solution is not
available.
Example: If a model is defined using an expressive language like Unified
Modeling Language (UML) or the Open Threat Model schema, or another suitable
system description language, then the source models can be consistently read
and analyzed, potentially by different tools or methodologies. For more
information, see references.
13
Threat Modeling at Scale
Reasoning Threat Modeling is a unique security verification activity to validate the resiliency of
design and architecture of the system being modeled. The end objective of the
activity is to identify security controls and build a security architecture to achieve
resilience against attacks.
It is important to keep this unique aspect in mind and not view threat modeling as a
mere vulnerability assessment. For example: Instead of focussing on issues such as
common web security concerns (e.g. HTTP Headers or CSP) when reviewing a
model, a wide range of threats including threats to authentication/authorization,
design flow and business objectives should be considered.
The Threat Modeling activity may also be used to drive policy goals, or enforce/steer
towards recognized or approved design patterns, or anything else that makes the
activity "valuable" to an organization.
Requirement Provide a common platform for stakeholders to create and access latest artifacts
(e.g. stencils, threat libraries etc.)
Reasoning In the era of microservices, a centralized solution might seem archaic but is an
essential ingredient for the success of a Threat Modeling Service/Program across an
organization.
14
Threat Modeling at Scale
It is desirable that the solution to Threat Modeling at Scale does not result in stand-
alone artifacts which would require a medium like email or ticketing system to be
shared across stakeholders for reviews or perusal.
Instead, the solution should provide a platform for multiple stakeholders to access the
latest artifacts for their perusal.
This solution should automatically update threat libraries and stencils in real time and
help in the adoption of the latest version without any waiting period.
Note: Monolithic or centralized solutions are not always the answer to scale due
to other factors like cost.
There is also the potential for multiple solutions to co-exist, as long as the inputs and
outputs can reasonably be interchanged or related. That way, perhaps, if one team is
used to using an enterprise class tool for a large complex environment, but another
sub-group is familiar with a basic CLI modeling tool, they could reasonably co-exist
with a little overhead. Though not the ideal scenario, it can be a practical strategy
during difficult economic situations.
Requirement An easy to use and understand solution that results in quick adoption
Reasoning A tool that is complex, and difficult to use and understand will result in delayed
onboarding of Products and Applications and potential inconsistent or infrequent
use.
It is important that the Threat Modeling solution be “sellable” to an organization’s
internal customers. The features of the chosen Threat Modeling solution should be
able to align and enable the business goals/strategy of the organization. For
example: If business is migrating from on-prem to cloud, threat modeling should be
able to adapt to these changes quickly and efficiently.
15
Threat Modeling at Scale
Reasoning A Threat Modeling solution should generate an actionable list of results based on
the persona viewing the results. What a developer wants to see is different from
what a Security Program Owner would like to see in the results.
The tool/solution should have the ability to integrate with reporting dashboards and
defect tracking systems.
Reasoning Each organization is different and may have specific threats to its domain that a
generic tool would typically not encompass. A customizable solution to
accommodate new changes in threat landscapes and account for new technologies
specific to an organization is essential. This would also ensure that the solution is
scalable and future-proof.
Requirement Encapsulate overlapping and confusing requirements from different pillars like
Security, Privacy, and Compliance.
16
Threat Modeling at Scale
Requirement An extensive library of Threats with detailed mitigations and external industry
references.
Reasoning A cross functional threat library that brings together data from different personas
(security, legal, compliance, privacy, development, operations) is required. The data
in this threat library is linked together to provide meaningful cross functional insights.
The threat library is regularly updated and impact analysis can be performed when
any change is made. This broadens threat modeling to include data flow analysis,
regulatory changes, system changes, and business strategy changes.
Reasoning The threat modeling solution should be capable of on-boarding new products and
applications. If need be, it should also allow for existing threat models to be
completely revamped to accommodate changes in the technology stack of the
system being modeled and encompass the latest threats across these different
technology stacks.
Maintenance costs of the Threat Modeling solution itself must be reasonable
including costs for 3rd party vendors (if any), resource costs, contractual costs, and
infrastructure costs.
Note that a “reasonable” cost is dependent on the organization implementing Threat
Modeling
17
Threat Modeling at Scale
Reasoning An organization might like to drive other value streams like security testing, and
hiring through the results of threat modeling. There can also be aspirational goals to
translate specific findings from threat modeling to case studies to be published in
security forums etc. Though not a priority item, it is certainly good to have the threat
modeling solution enable driving of other value streams and achieving of
aspirational goals. This could be an attribute of a cutting-edge, differentiator solution
Requirement Solution has associated training materials or sufficient collateral to build training
material.
Reasoning Learning how to Threat Model effectively takes time and requires practice. It is
important to enable development teams with appropriate training and hands-on
activities to learn the process. Development teams must enable developers and
invest in sufficient cycles/sprints for training. The solution or methodology used for
threat modeling must have appropriate training content that is accessible to all
stakeholders. A solution should be easy to learn and not require specialized skills to
use. A methodology should be accessible to most stakeholders, some of whom will
not have a strong understanding of security or privacy.
Training may increase the cost of the Threat Modeling Solution, especially in the
case of a commercial product.
18
Threat Modeling at Scale
• Adoptability. The solution needs to be easy to learn and use in order to be adopted in large
organizations.
o Is the solution mature and ready to use in practice?
o Has it been implemented in an organization successfully?
o Does the solution provide adequate training and documentation?
● Viability (Cost). The cost of a solution may increase significantly when used on a large scale.
19
Threat Modeling at Scale
20
Threat Modeling at Scale
Classes of Tools
Diagramming Tools
Commercial Tools
OWASP Threat Dragon
IruisRisk
Microsoft Threat Modeling Tool (MTM)
Threat Modeler
Threat Manager Studio
For the purpose of this paper, we will only look at the first three classes. The other innovative tools have
been called out for informational purposes only. Though under the same classification, each of these
tools in this category can be different and they cannot be compared through the same lens.
Maturity of Library
Threat Libraries for Software and Threat Libraries are usually generic Threat Libraries are usually generic
Cloud that are kept current, with a but often extensible. in nature, but often extensible.
well defined update cadence.
The updates to the threat library The updates to the threat library
These tools tend to support certain have no regular cadence and can have no regular cadence and can
technologies better than others (e.g. be ad-hoc. be ad-hoc.
web or cloud systems over
Most of these tools are open source; Most of these tools are open source;
hardware and firmware).
updates are irregular and based on updates are irregular and based on
Customization of libraries is also an the community for maintenance. the community for maintenance.
option.
As open source tools, users can As open source tools, users can
make modifications to add their own make modifications to add their own
threats as they require them. threats as they require them.
21
Threat Modeling at Scale
Scalability
Supports multiple systems and These tools generally support Tools in this category are
users the development of a single implemented through build
threat model (which may contain processes (e.g. as scripts that
one or more diagrams) but do are executed, or code
not provide the required aspects annotations that are processed).
of scalability to manage models Scalability of model changes or
and diagrams across projects threat information updates
without extra effort. comes from those processes
e.g. ability to manage multiple
programs, models, and/or user
accesses, not the modeling tool
explicitly.
A centralized tool can be used The Microsoft Threat Modeling Threat models are created in/as
for collaboration and there is no tool creates stand-alone artifacts source code that can be
need to share artifacts over (individual files containing one managed with collaboration tools
different mediums. model/one or more diagrams per such as git, gitlab, etc.
file). Sharing of these files
usually requires them being
emailed to stakeholders or held
in a file repository or share;
modification of these files tend to
be single-user edit.
OWASP Threat Dragon provides
the ability to tag Reviewers and
Contributors, and supports a
web-based version tied to github
for sharing
22
Threat Modeling at Scale
Adoptability
These solutions come with in- Though there are no Though there are no
built training and professional professional services, these professional services, these
services at an additional cost. tools are intuitive and easy to tools are intuitive and easy to
use. use.
They also have brief Some of these tools have decent
documentation on their websites documentation available
(MTM and Threat Dragon ) that alongside the tool or source
demonstrates how to get started code. However, the update
with these tools. cadence of these documents
and support is not yet very well
defined.
Viability (Cost)
These tools can be cost- These are mostly open source These are mostly open source
prohibitive in large organizations and require no cost to purchase and require no cost to purchase
due to their licensing or maintain except perhaps time or maintain except perhaps time
models/subscription fees. and effort to add threats and and effort to add threats and
make the tool available to all make the tool available to all
An unlimited licensing
stakeholders. stakeholders.
model/subscription with a price
cap can be a good work around
in such scenarios.
Automation
These tools are built to support The focus of these tools are These tools are automated, and
complete integration with the purely threat modeling and they represent the activity as “Threat
development lifecycle. do not support integration into Modeling as Code”; they
development pipelines, but automate the process of threat
Some of these tools also provide
automate the threat identification and model
the option to Threat Model as
generation/identification rendering.
Code.
process.
Integration with the development
lifecycle for reporting, analysis
etc. is yet to be developed or in
nascent stages.
23
Threat Modeling at Scale
Applicability
Tool/Solution can be customized Tools offer generic threats that Tools offer generic threats that
for applicability. can be used cross-domain. can be used cross-domain.
In some areas, they also provide The tools can be customized, if The tools can be customized, if
clear segregation between required. required.
categories of applicability.
Reusability
Ability to create templates for These tools do not support These tools are written as
further re-use is supported creation of model templates, source code and can support
although they do contain creation of model templates.
templates (“stencils”) for objects
used in the diagrams.
Extensibility
These tools are updated Updates need to be manually Updates need to be manually
automatically by the vendor and installed, and will depend on installed, and will depend on
the threats are in alignment with deployment options (local deployment options (local
the industry best practices and installation or part of a shared installation or part of a build
understanding at that point in environment). environment).
time.
Methodology
Not disclosed but based on Microsoft Threat Modeling Tool pytm implements a Threat
demos the Threat Library is implements STRIDE Library based on STRIDE
based on both attacker and categories and CAPEC/CWE,
OWASP Threat Dragon
defender mechanisms. and which is extensible.
implements STRIDE, LINDDUN,
and CIA methodologies Threagile implements a Threat
Library which is defined by the
developer and partly based on
CWEs. Each threat has a
corresponding CWE.
24
Threat Modeling at Scale
Actionability of Results
Results are provided with Threat descriptions can be hard Threat descriptions can be hard
recommended mitigations in an to understand for non-security to understand for non-security
approachable manner for users, and may only provide users, and may only provide
developers and architects to general mitigation information as general mitigation information as
take action. these tools usually lack specific these tools usually lack specific
context for the system being context for the system being
False positives are kept to a
modeled. modeled.
minimum.
These tools can generate higher These tools can generate higher
false positive rates due to lack or false positive rates due to lack or
incorrectness of provided incorrectness of provided
information. Some tools, like the information. These tools offer
Microsoft Threat Modeling tool, the ability to customize the
offer the ability to customize the threat descriptions to provide
threat descriptions to provide better guidance and easier to
better guidance and easier to understand information.
understand information.
25
Threat Modeling at Scale
26
Threat Modeling at Scale
27
Threat Modeling at Scale
Deployment “Day 2”
Continue to roll out the solution to different engineering teams either in a phased manner or in a
prioritized order.
After the solution is GA, there may be a lot of curiosity and interest by the targeted end-users. To address
constant questions and queries by the end users and to keep the momentum going, keep the
communication channel open with end users by doing the following:
● Provide email or other direct contact methods for users to reach to submit questions or concerns
● Define an automated channel for receiving feedback
● Engage with end-users in terms of refresher sessions, quizzes etc.
● Provide formal training, helpful guides, and FAQs.
Start working on Continuous Improvements for the solution in parallel during its adoption. Engage with
core team members on a regular cadence (such as weekly) to review the open items on the feedback list,
to plan how to address feedback items, and to take action. Apply and publish these feedback "fixes'' in
smaller increments as part of frequent releases.
If a centralized tool/platform is being used to Threat Model at Scale, ensure that there are different
instances of it. The production instance is used for actual engagement and adoption. The staging/dev
instance is used to try different configurations, apply new ideas, and as a “playground” to innovate.
28
Threat Modeling at Scale
Summary
Business leadership should be on the lookout for ways to improve productivity and effectiveness (and
ROI) of security programs. Implementing a threat modeling program “at scale” can be an effective way to
improve productivity and the security of systems being built or deployed by your organization. Creating
such a program will support collaboration among engineering teams and improve the quality of findings.
References
[1] https://docs.microsoft.com/en-us/azure/security/develop/threat-modeling-tool-threats
[2] https://versprite.com/blog/what-is-pasta-threat-modeling/
[3] https://www.linddun.org/
[4] https://docs.microsoft.com/en-us/azure/security/develop/threat-modeling-tool
[5] https://owasp.org/www-project-pytm/
[6] N. Shevchenko, B. R. Frye, and C. Woody, “Threat modeling for cyber-physical system-of-systems:
Methods evaluation,” Carnegie Mellon University Software Engineering Institute Pittsburgh United States,
Tech. Rep., 2018.
[7] Z. Shi, K. Graffi, D. Starobinski, and N. Matyunin, “Threat modeling tools: A taxonomy,” IEEE Security
& Privacy, vol. 20, no. 4, pp. 29-39, July-Aug. 2022.
[8] https://safecode.org/uncategorized/fundamental-practices-secure-software-development/
[9] https://safecode.org/wp-content/uploads/2017/05/SAFECode_TM_Whitepaper.pdf
[10] https://www.pmi.org/pmbok-guide-standards/foundational/pmbok
[11] https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two
In Closing
The main purpose of this paper is to demystify the practice of threat modeling at scale. The collective
feeling among the authors is that the return on investment from threat modeling justifies the effort
necessary to get it started; from there on, it is just about practice.
We encourage you to start now. We would like to receive your feedback on this paper. We are very
interested in hearing about your experiences doing threat modeling in your industry and environment.
Please send your comments to feedback@safecode.org.
29
Threat Modeling at Scale
About SAFECode
SAFECode is a global industry forum where business leaders and technical experts come together to
exchange insights and ideas on creating, improving, and promoting scalable and effective software
security programs. We believe that secure software development can only be achieved with an
organizational commitment to the execution of a holistic assurance process, and that sharing information
on that process and the practices it encompasses is the most effective way for software providers to help
customers and other stakeholders manage software security risk.
30
Threat Modeling at Scale
Appendix A
The Pre-Step should be done prior to beginning a threat modeling initiative, and for each system being
evaluated as it enters the program.
Also, at a program level the below should have already been identified:
● Identify a methodology to follow for the activity
● Identify metrics and/or KPIs to help to determine what success looks like
Regardless of the specific threat modeling methodology or approach chosen in the Pre-Step, the
general flow follows in steps 1 through 4
Step 1: Model a system & ● Identify the system’s components, interactions between
Identify Attack Surfaces components, trust boundaries, and properties of each
component.
Step 2: Identify Threats & ● Analyze component or interaction properties to identify gaps,
Vulnerabilities faults, or other exposures, using available sources of threat or
vulnerability patterns.
● Identify severity of concerns and priority of threats
Step 3. Identify mitigations ● Optionally, consult with risk management to determine if effort
to address should be taken (e.g. to fix, mitigate, or accept the
risk)
● Define actions to remediate or mitigate exposures, based on
system security, privacy, or safety engineering principles, and
common architectural patterns.
Step 4: Validate mitigations are ● Prioritize the outcomes of threat modeling and inform lifecycle
effective activities such as security requirements, functional and
security testing, to ensure threat mitigation is effective
Following each threat modeling activity (new or an iteration), consider performing the Post-Steps below.
31
Threat Modeling at Scale
Step Actions
Post-Steps: Iterate & Identify ● Monitor for new threats and evaluate abuse cases for
Relationships systems, accordingly.
● Distribute updates to objectives and stakeholder needs (as
needed)
● Distribute updates to threats (if using a threat library)
● Repeat steps 1 through 4 as and when the system (model) or
requirements (threats) evolve
● Based on organizational goals and aspirational values, use
the results of threat modeling to drive other value streams.
32
Threat Modeling at Scale
Appendix B
R2 Automated Diagramming P2
R3 ALM Integrations P1
R5 DevSecOps Integrations P1
R8 Chaining of Threats P2
R18 Customizations P0
R23 Training P0
33
Threat Modeling at Scale
R1 – P0 Y
R2 – P2 Y
R3 – P1 Y
R4 – P1 Y
R5 – P1 Y Y
R6 – P2 Y
R7 – P0 Y
R8 – P2 Y
R9 – P1 Y Y
R10 – P1 Y Y
R11 – P0 Y Y Y
R12 – P0 Y Y
R13 – P2 Y Y
R14 – P0 Y
R15 – P0 Y
R16 – P0 Y
R17 – P0 Y Y Y
R18 – P0 Y Y
R19 – P2 Y
R20 – P0 Y
R21 – P0 Y Y
R22 – P2 Y Y
R23 – P0 Y Y Y Y Y
34
Threat Modeling at Scale
Appendix C
35
Threat Modeling at Scale
36
Threat Modeling at Scale
● Adoptability. Version 1.2.1 was released in March 2022. Actively maintained by a team of
community members; support is provided via issues in GitHub or a Slack group monitored by
developers. Documentation is available as part of the code base.
● Viability (Cost). Free to use. Maintained by OWASP team.
● Automation. Pre-defined threat rules can automatically suggest possible threats. System and
sequence diagrams can be automatically generated from the code. A threat report of the system
can be automatically generated from the same model (code).
● Applicability. Focus mainly on modeling a system and identifying security threats. Works for
abstract and high-level system models in general. Nonetheless, customized threats can be added
to the rule library such that they can be identified.
● Reusability. Pre-defined threat rules can be reused for different models. Code for system models
can be reused and imported.
● Extensibility. Customized threats can be added to the library. Moreover, the tool can be
extended at more levels as it is open-sourced.
4. ThreatModeler (commercial)
ThreatModeler's SaaS platform offers an API-first design, enabling automation and extensibility. Behind
the interface which offers the ability to drag & drop numerous out-of-the-box components representing
technical processes or architectural objects is a customizable framework (Threat Framework) that defines
the behavior of threat modeling exercises. Although agnostic of any specific threat modeling process,
users may highlight threats from any number of sources such as OWASP, MITRE ATT&CK, CAPEC, CIS,
or STRIDE.
ThreatModeler can also be deployed as an On-Prem Solution.
• Scalability. Provides good support for scalability by defining baseline system models.
Integrations include 2-way ticketing (eg Jira, ServiceNow), DevOps enforcement solutions, and
the ability to dynamically create models from numerous sources (AWS, Azure, CloudFormation
Templates, Terraform, or even arbitrary sources) via advanced product capabilities or APIs.
• Accessibility (for Collaboration). Works as a web application for users to collaborate within or
take advantage of ticketing integration support to help with tasks identified during exercises
without having to log into ThreatModeler. Role-based access control model controls visibility and
permissions across various users and lines of business.
• Adoptability. Version 6.0 was released in September, 2022 and is actively maintained.
Documentation inside of the product covers subject matters from beginner to advanced.
Additionally, ThreatModeler offers a Community whereby users of other customers may be
engaged for greater awareness of usage and processes. Hands-on, assisted onboarding is
provided with the enterprise version
• Viability (Cost). Licensing structure is based on the number of threat models an organization is
looking to build on a yearly basis. Annual subscriptions include unlimited user access, virtual
hands-on training, support, and access to customer success teams.
• Automation. Creation of diagrams can be automated , either via CloudModeler (AWS, Azure),
IAC Assist (CloudFormation), soon Terraform and ARM or even arbitrary sources using an open
API format with a simplified JSON structure. End-users may also utilize APIs for tasks such as
user management, reporting, or integration to/from other sources. DevOps plug-ins may be used
37
Threat Modeling at Scale
to enforce threat modeling via pass/fail automation tasks and 2-way ticketing is available for Jira,
ServiceNow, or Azure Boards.
• Applicability. ThreatModeler offers dozens of templates out-of-the-box along with a Model
Marketplace featuring several prepared threat model diagrams. The Threat Framework contains
thousands of objects including architectural objects, components related to process flow, threats,
requirements, and other such intelligence aggregated from numerous sources or produced by
ThreatModelers research team.
ThreatModeler can be used for generic threat modeling and as well as in depth threat modeling
for various technology stacks like Cloud, Web Apps etc.
• Reusability. Templates, diagram objects, and threat model data may all be readily stored,
configured, and designated for reuse. These templates support any number of repeatable
patterns to minimize manual diagram efforts.
Additionally, importing capabilities may be extended to diagrams created with other tools (Visio,
MTM, Draw.IO).
• Extensibility. ThreatModeler's API-first design enables organizations to be creative with threat
modeling processes and even beyond the numerous native integrations. Templates can be
created to drive architectural patterns and baseline secure designs across multiple systems.
The Threat Framework may be customized to support in-house controls/requirements, and
compliance standards as well as contextualized prompting to understand the usage or
implementation of various architectural components or processes.
5. IriusRisk (commercial)
IriusRisk embeds the Draw.io diagram editor in its web application to enhance user experience when
drawing the DFDs of a system. When initializing the diagram and adding new elements, questionnaires
are provided to help users with configuration. Its threat library covers not only common knowledge bases
like CVE and CWE, but also self-defined threats from typical enterprise use cases, such as AWS
deployments. IriusRisk provides rather comprehensive threat evaluation, and offers priority and cost
estimation of the suggested countermeasures.
● Scalability. Provides good support for scalability, such as defining nested system components
for reuse, and importing existing system modules. Also provides integration with other tools in
SDL, including issue trackers (e.g., Jira) and testing frameworks (e.g, JUnit, Cucumber).
● Accessibility (for Collaboration). Works as a web application. Provides support for team
collaboration and resolving conflicts.
● Adoptability. Version 1.0 was released in 2015. Regularly maintained and updated since then.
The latest version 4.14.0 was released on April 5, 2023. Detailed documentation is provided.
Hands-on, assisted onboarding is provided with the enterprise version.
● Viability (Cost). Pricing varies with the use cases, available as SaaS or On-Premise. A
community edition is provided with very limited functionalities. Pricing is based on the number of
threat models created and maintained.
● Automation. The threat library can automatically suggest possible threats. Estimated costs of
mitigations are provided, and threats are prioritized based on the model. A threat report of the
system can be automatically generated.
38
Threat Modeling at Scale
• Adoptability. Last stable release Nov 2021. No update on its GitHub repo since then. Brief
documentation/video made available.
• Automation. Pre-defined threat rules can automatically suggest possible threats. System
diagrams can be automatically generated from the code. A threat report of the system can be
automatically generated.
• Applicability. Focus mainly on modeling a system and identifying security threats. Works for
abstract and high-level system models in general. Nonetheless, customized threats can be added
to the rule library such that they can be identified. Works for general threat modeling on a
relatively abstract level.
• Reusability. Pre-defined threat rules can be reused for different models. Model definitions can be
reused.
• Extensibility. Customized threats can be added to the library. Moreover, the tool can be
extended by developers as it is open-sourced under a permissive license.
39
Threat Modeling at Scale
40