Application Security-II
Threat Modeling and Analysis
Lalit Kale

lalitkale@gmail.com
http://lalitkale.wordpress.com
Overview
•

Introduction

•

Why Threat Modeling?

•

Application Decomposition

•

Threat Mapping

•

Calculating Risks

•

Planning Threat Response & Risk Mitigations

•

Best Practices in Threat Modeling

•

Tools

•

Resources
2
Introduction-Basic Terminology
•

Asset: A resource of value, such as the data in a database or on the file system. A system resource.

•

Threat: A potential occurrence, malicious or otherwise, that might damage or compromise your
assets.

•

Vulnerability: A weakness in some aspect or feature of a system that makes a threat possible.
Vulnerabilities might exist at the network, host, or application levels.

•

Attack (or exploit): An action taken by someone or something that harms an asset. This could be
someone following through on a threat or exploiting a vulnerability.

•

Countermeasure: A safeguard that addresses a threat and mitigates risk.

3
What is Threat Modeling?
•

A Strategic framework for planning application security aspect in
system design phase

•

Identify, understand, and mitigate threats most likely to affect the
system

•

Can be practiced for both new applications as well as on existing ones

4
Why Threat Modeling?
•

Cannot build a secure system until you understand threats to system

•

Find security bugs early (and complex bugs)

•

Address threats in logical order according to greatest risk

•

Reduce overall risk by mitigating important threats

•

How do you know when application is “secure enough”?

5
Why Threat Modeling?
•

Helps better understand your application

•

Justification for security features and relation to identified threat

•

Clearly documented assumptions and/or consequences

•

Testers can specifically test against known threats

•

Helps prevent duplication of security efforts
6
Threat Modeling in Microsoft SDL

7
Types of Threat Modeling
•

Attacker Centric
•

•

Software Centric
•

•

Starts with an attack and evaluates the goals and how attackers might achieve
them

Starts from the design of system and attempts to step through a model of
system, looking for types of attacks against each element of the model

Asset Centric
•

Involves starting from assets entrusted to a system, such as a collection of
sensitive personal information

8
Threat Modeling Phases

Application
Decomposition

Threat
Mapping

Threat / Risk
Rating

Threat
Response &
Mitigations

9
Application Decomposition
•

Threat Response
& Mitigations

For instance, DFDs and Use Cases are
useful

•

Threat / Risk
Rating

The type of diagram is not
important, but it should focus on data
and how it flows through the system

•

Threat Mapping

Use modelling diagrams for a visual
representation of how the subsystems
operate and work together

•

Application
Decomposition

But don’t go too deep - 2 or 3 levels is
enough

10
Application Decomposition
1.

Logical architecture

5.

Physical deployment

6.

Technologies

7.

Identify assets

8.

Mark trust boundaries

9.

Identify data flows, entry points, and assumptions

10.

Threat Response
& Mitigations

Function

4.

Threat / Risk
Rating

Create an architecture overview

3.

Threat Mapping

Define scope

2.

Application
Decomposition

Make note of privileged code

11
Identifying Threats
•

Threat Response
& Mitigations

Compare application to common threats
• Are Cross-Site Scripting (XSS) attacks relevant?
• Is canonicalization an issue?
• Can user sessions be hijacked?
• …

•

Threat / Risk
Rating

Ask questions with regards to attacker goals
• Can the user’s identity be spoofed?
• Can data be accessed without authorization?
• Can the system be easily blocked?
• …

•

Threat Mapping

Analyse each aspect of the architecture/design

•

Application
Decomposition

Use structured methods to identify threats

12
Identifying Threats

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

Threat Response
& Mitigations

•

To identify threats or goals, ask the following questions:
• How can the adversary use or manipulate the asset to modify or control
the system?
• Retrieve information within the system?
• Manipulate information within the system?
• Cause the system to fail or become unusable?
• Gain additional rights?

•

Can the adversary access the asset • Without being audited?
• And skip any access control checks?
• And appear to be another user?
13
STRIDE Model

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

Threat Response
& Mitigations

•

A common model for classifying attacker goals is the STRIDE model:

•

Spoofing – Posing as another user, component, or external system that should
be identified by the system

•

Tampering – Unauthorized modification of data

•

Repudiation – Denying performing an action without the system being able to
prove otherwise

•

Information Disclosure – Exposure of protected data to an unauthorized user

•

Denial of Service – Disallowing valid users to access the system

•

Elevation of Privileges – Gaining privileged access by a lower privileged user

14
Threat Tree

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

Threat Response
& Mitigations

•

Method to explore valid attack paths

•

Represents conditions needed to exploit the threat

•

Determine all the combined vulnerabilities associated with a threat

•

Focus on mitigating the vulnerabilities that form the “path of least resistance”

15
Documenting Threats
•

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

Threat Response
& Mitigations

Each threat should be documented with
1. Title
2. Target component
3. Vulnerability Categorization(s) (e.g. STRIDE)
4. Attack techniques (e.g. threat tree)
5. Risk
6. Mitigation

16
Calculating Risks: RPD Model
•

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

Threat Response
& Mitigations

How do I measure risk?
•
•

Use a structured methodology
Predefine general values to avoid confusion

•

Record the calculated risk

•

Simple formula:
• Risk = Probability * Damage Potential
•
•
•
•

Define expected damage for each value
Divide scale in three bands: High, Medium, Low
Simple, yet lacking dimension
Not always easy to agree…

17
Calculating Risks: DREAD Model

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

•

Another method for determining risk is DREAD model

•

Damage potential – How great is the damage if the vulnerability is exploited?

•

Reproducibility – How easy is it to reproduce the attack?

•

Exploitability – How easy is it to launch an attack?

•

Affected users – As a rough percentage, how many users are affected?

•

Discoverability – How easy is it to find the vulnerability?

•

Risk = Min(D, (D+R+E+A+D) / 5)

•

Threat Response
& Mitigations

Agree beforehand on values of each factor

18
Threat Resolution & Risk Mitigation
•

Application
Decomposition

Threat Mapping

Threat / Risk
Rating

Threat Response
& Mitigations

Threats can be resolved by
•
•
•
•

Risk Acceptance - doing nothing
Risk Transference - pass risk to an externality
Risk Avoidance - removing the feature/component that causes the risk
Risk Mitigation - decrease the risk

•

Mitigation strategies should be examined for each threat

•

Mitigations should be chosen according to the appropriate technology

•

Resolution should be decided according to risk level and cost of mitigations

19
Best Practices in Threat Modeling
•

Use structured & consistent methodologies

•

Predefine and agree on risk ratings that work for you

•

Include all relevant shareholders in TM discussions:
• Security
• Architecture / Design
• Coding
•

•

Testing

Don’t let TM discussions to degenerate to finding solutions before the threats
have been fully identified
20
Best Practices in Threat Modeling
•

Don’t model too deep – don’t get carried away in the details

•

Document TM results so they could be used later on for:
•
•

Similar products / systems

•

•

Next versions
Education

Use common attack libraries / patterns for consistency and additional ideas
e.g.
http://www.owasp.org/index.php/Category:Attack

•

Always remember – its never too late for Threat Modeling!

21
Threat Modeling Tools
•

The Threat Analysis and Modeling Tool (TAM):
•

is an asset-focused tool designed for LOB applications.

•

It is used for applications for which business objectives, deployment
pattern, and data assets and access control are clearly defined.

•

The focus of the tool is to understand the business risk in the
application, help identify controls needed to manage that risk, and
protect the assets.

22
Threat Modeling Tools
•

The SDL Threat Modeling Tool:
•

is a software-focused tool designed for rich client/server application
development (for example, Windows and SQL Server, among others)

•

The tool assumes the final deployment pattern of the product is unknown

(that is, if it will be used to manage business-critical applications with
customer credit cards or not), so the focus of the tool is to ensure security
of the software’s underlying code.

23
Summary
Application Decomposition

•Define scope
•Create an architecture
overview
•Function
•Logical architecture
•Physical deployment
•Technologies
•Identify assets
•Mark trust boundaries
•Identify data flows, entry
points, and assumptions
•Make note of privileged
code

Threat Mapping

•Identifying Threats
•Use STRIDE Model
•Creating Threat Tree
•Documenting each Threat

Calculate Risks

•Use Risk = Probability *
Damage Potential
•Use Risk =
Min(D, (D+R+E+A+D) / 5)

Threat Resolution and Risk
Mitigation
•Risk Acceptance - doing
nothing
•Risk Transference - pass risk
to an externality
•Risk Avoidance - removing
the feature/component
that causes the risk
•Risk Mitigation - decrease
the risk
•Mitigation strategies
should be examined for
each threat
•Mitigations should be
chosen according to the
appropriate technology
•Resolution should be
decided according to risk
level and cost of
mitigations

24
Resources
•

OWASP (Open Web Application Security Project):

https://www.owasp.org
•

Microsoft Security:

http://www.microsoft.com/security
http://www.Microsoft.com/sdl
•

Wikipedia:

http://en.wikipedia.org/wiki/Threat_model

25
Lalit Kale
lalitkale@gmail.com
http://lalitkale.wordpress.com

.
This presentation is shared under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More information for this license is available at http://creativecommons.org/licenses/by-nc-sa/4.0/
All trademarks are the property of their respective owners. Lalit Kale makes no warranties, express, implied or statutory, as to the information in this presentation.

More Related Content

PPTX
7 Steps to Threat Modeling
PPT
Application Threat Modeling
PPT
STRIDE And DREAD
PDF
Threat Modeling Everything
PPTX
Threat modeling web application: a case study
PPTX
Security Training: #3 Threat Modelling - Practices and Tools
PPTX
Application Security Architecture and Threat Modelling
7 Steps to Threat Modeling
Application Threat Modeling
STRIDE And DREAD
Threat Modeling Everything
Threat modeling web application: a case study
Security Training: #3 Threat Modelling - Practices and Tools
Application Security Architecture and Threat Modelling

What's hot (20)

PPTX
Threat modelling with_sample_application
PPSX
Introduction to threat_modeling
PDF
Application Threat Modeling
PPTX
Cyber Threat Modeling
PPTX
Cyber threat intelligence: maturity and metrics
PDF
PDF
Scalable threat modelling with risk patterns
PPSX
Security Awareness Training
PDF
Mapping to MITRE ATT&CK: Enhancing Operations Through the Tracking of Interac...
PPTX
Understanding Application Threat Modelling & Architecture
PPTX
File upload vulnerabilities & mitigation
PPTX
Leveraging MITRE ATT&CK - Speaking the Common Language
PDF
Addressing the cyber kill chain
PDF
Threat Modeling to Reduce Software Security Risk
PDF
Types of Threat Actors and Attack Vectors
PDF
Security Awareness Training
PDF
ATTACKers Think in Graphs: Building Graphs for Threat Intelligence
PDF
Threat Intelligence
PPTX
Xss attack
Threat modelling with_sample_application
Introduction to threat_modeling
Application Threat Modeling
Cyber Threat Modeling
Cyber threat intelligence: maturity and metrics
Scalable threat modelling with risk patterns
Security Awareness Training
Mapping to MITRE ATT&CK: Enhancing Operations Through the Tracking of Interac...
Understanding Application Threat Modelling & Architecture
File upload vulnerabilities & mitigation
Leveraging MITRE ATT&CK - Speaking the Common Language
Addressing the cyber kill chain
Threat Modeling to Reduce Software Security Risk
Types of Threat Actors and Attack Vectors
Security Awareness Training
ATTACKers Think in Graphs: Building Graphs for Threat Intelligence
Threat Intelligence
Xss attack
Ad

Similar to Threat Modeling And Analysis (20)

PDF
Session2-Application Threat Modeling
PPTX
Application Threat Modeling
PDF
Threat Modeling workshop by Robert Hurlbut
PPTX
Threat Modeling - Locking the Door to Vulnerabilities
PPTX
Threat modelling(system + enterprise)
PDF
Attack modeling vs threat modelling
PPTX
NTXISSACSC2 - Threat Modeling Part 1 - Overview by Brad Andrews
PPTX
Threat Modeling Web Applications
PPTX
Threat Modeling-modélisation_de_menaces.pptx
PPTX
Secure Design: Threat Modeling
PPTX
Threat modelling
PPTX
Security Incident machnism Security Incident machnismSecurity Incident machni...
PPTX
Architecting for Security Resilience
PDF
Application Threat Modeling In Risk Management
PDF
Secure Design: Threat Modeling
PPTX
SensePost Threat Modelling
PDF
Security Fundamentals and Threat Modelling
PPTX
The security mindset securing social media integrations and social learning...
PPTX
Lecture-10 about language of community.pptx
Session2-Application Threat Modeling
Application Threat Modeling
Threat Modeling workshop by Robert Hurlbut
Threat Modeling - Locking the Door to Vulnerabilities
Threat modelling(system + enterprise)
Attack modeling vs threat modelling
NTXISSACSC2 - Threat Modeling Part 1 - Overview by Brad Andrews
Threat Modeling Web Applications
Threat Modeling-modélisation_de_menaces.pptx
Secure Design: Threat Modeling
Threat modelling
Security Incident machnism Security Incident machnismSecurity Incident machni...
Architecting for Security Resilience
Application Threat Modeling In Risk Management
Secure Design: Threat Modeling
SensePost Threat Modelling
Security Fundamentals and Threat Modelling
The security mindset securing social media integrations and social learning...
Lecture-10 about language of community.pptx
Ad

More from Lalit Kale (20)

PPTX
Serverless microservices
PPTX
Develop in ludicrous mode with azure serverless
PPTX
For Business's Sake, Let's focus on AppSec
PPTX
Introduction To Microservices
PPTX
Dot net platform and dotnet core fundamentals
PPTX
Code refactoring
PPTX
Application Security Tools
PPTX
Application Security-Understanding The Horizon
DOCX
Coding guidelines
DOCX
Code review guidelines
PPT
State management
PPT
Implementing application security using the .net framework
PPT
Data normailazation
PPT
DOCX
Versioning guidelines for product
PPT
Bowling Game Kata by Robert C. Martin
PPTX
Domain Driven Design
PPT
Web 2.0 concept
PPT
Jump Start To Ooad And Design Patterns
PPT
How To Create Strategic Marketing Plan
Serverless microservices
Develop in ludicrous mode with azure serverless
For Business's Sake, Let's focus on AppSec
Introduction To Microservices
Dot net platform and dotnet core fundamentals
Code refactoring
Application Security Tools
Application Security-Understanding The Horizon
Coding guidelines
Code review guidelines
State management
Implementing application security using the .net framework
Data normailazation
Versioning guidelines for product
Bowling Game Kata by Robert C. Martin
Domain Driven Design
Web 2.0 concept
Jump Start To Ooad And Design Patterns
How To Create Strategic Marketing Plan

Recently uploaded (20)

PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PPT
What is a Computer? Input Devices /output devices
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
STKI Israel Market Study 2025 version august
PPTX
Configure Apache Mutual Authentication
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
DOCX
search engine optimization ppt fir known well about this
Convolutional neural network based encoder-decoder for efficient real-time ob...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Custom Battery Pack Design Considerations for Performance and Safety
What is a Computer? Input Devices /output devices
Final SEM Unit 1 for mit wpu at pune .pptx
1 - Historical Antecedents, Social Consideration.pdf
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Zenith AI: Advanced Artificial Intelligence
STKI Israel Market Study 2025 version august
Configure Apache Mutual Authentication
The influence of sentiment analysis in enhancing early warning system model f...
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Developing a website for English-speaking practice to English as a foreign la...
Comparative analysis of machine learning models for fake news detection in so...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Flame analysis and combustion estimation using large language and vision assi...
Taming the Chaos: How to Turn Unstructured Data into Decisions
sustainability-14-14877-v2.pddhzftheheeeee
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
search engine optimization ppt fir known well about this

Threat Modeling And Analysis

  • 1. Application Security-II Threat Modeling and Analysis Lalit Kale [email protected] http://lalitkale.wordpress.com
  • 2. Overview • Introduction • Why Threat Modeling? • Application Decomposition • Threat Mapping • Calculating Risks • Planning Threat Response & Risk Mitigations • Best Practices in Threat Modeling • Tools • Resources 2
  • 3. Introduction-Basic Terminology • Asset: A resource of value, such as the data in a database or on the file system. A system resource. • Threat: A potential occurrence, malicious or otherwise, that might damage or compromise your assets. • Vulnerability: A weakness in some aspect or feature of a system that makes a threat possible. Vulnerabilities might exist at the network, host, or application levels. • Attack (or exploit): An action taken by someone or something that harms an asset. This could be someone following through on a threat or exploiting a vulnerability. • Countermeasure: A safeguard that addresses a threat and mitigates risk. 3
  • 4. What is Threat Modeling? • A Strategic framework for planning application security aspect in system design phase • Identify, understand, and mitigate threats most likely to affect the system • Can be practiced for both new applications as well as on existing ones 4
  • 5. Why Threat Modeling? • Cannot build a secure system until you understand threats to system • Find security bugs early (and complex bugs) • Address threats in logical order according to greatest risk • Reduce overall risk by mitigating important threats • How do you know when application is “secure enough”? 5
  • 6. Why Threat Modeling? • Helps better understand your application • Justification for security features and relation to identified threat • Clearly documented assumptions and/or consequences • Testers can specifically test against known threats • Helps prevent duplication of security efforts 6
  • 7. Threat Modeling in Microsoft SDL 7
  • 8. Types of Threat Modeling • Attacker Centric • • Software Centric • • Starts with an attack and evaluates the goals and how attackers might achieve them Starts from the design of system and attempts to step through a model of system, looking for types of attacks against each element of the model Asset Centric • Involves starting from assets entrusted to a system, such as a collection of sensitive personal information 8
  • 9. Threat Modeling Phases Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations 9
  • 10. Application Decomposition • Threat Response & Mitigations For instance, DFDs and Use Cases are useful • Threat / Risk Rating The type of diagram is not important, but it should focus on data and how it flows through the system • Threat Mapping Use modelling diagrams for a visual representation of how the subsystems operate and work together • Application Decomposition But don’t go too deep - 2 or 3 levels is enough 10
  • 11. Application Decomposition 1. Logical architecture 5. Physical deployment 6. Technologies 7. Identify assets 8. Mark trust boundaries 9. Identify data flows, entry points, and assumptions 10. Threat Response & Mitigations Function 4. Threat / Risk Rating Create an architecture overview 3. Threat Mapping Define scope 2. Application Decomposition Make note of privileged code 11
  • 12. Identifying Threats • Threat Response & Mitigations Compare application to common threats • Are Cross-Site Scripting (XSS) attacks relevant? • Is canonicalization an issue? • Can user sessions be hijacked? • … • Threat / Risk Rating Ask questions with regards to attacker goals • Can the user’s identity be spoofed? • Can data be accessed without authorization? • Can the system be easily blocked? • … • Threat Mapping Analyse each aspect of the architecture/design • Application Decomposition Use structured methods to identify threats 12
  • 13. Identifying Threats Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations • To identify threats or goals, ask the following questions: • How can the adversary use or manipulate the asset to modify or control the system? • Retrieve information within the system? • Manipulate information within the system? • Cause the system to fail or become unusable? • Gain additional rights? • Can the adversary access the asset • Without being audited? • And skip any access control checks? • And appear to be another user? 13
  • 14. STRIDE Model Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations • A common model for classifying attacker goals is the STRIDE model: • Spoofing – Posing as another user, component, or external system that should be identified by the system • Tampering – Unauthorized modification of data • Repudiation – Denying performing an action without the system being able to prove otherwise • Information Disclosure – Exposure of protected data to an unauthorized user • Denial of Service – Disallowing valid users to access the system • Elevation of Privileges – Gaining privileged access by a lower privileged user 14
  • 15. Threat Tree Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations • Method to explore valid attack paths • Represents conditions needed to exploit the threat • Determine all the combined vulnerabilities associated with a threat • Focus on mitigating the vulnerabilities that form the “path of least resistance” 15
  • 16. Documenting Threats • Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations Each threat should be documented with 1. Title 2. Target component 3. Vulnerability Categorization(s) (e.g. STRIDE) 4. Attack techniques (e.g. threat tree) 5. Risk 6. Mitigation 16
  • 17. Calculating Risks: RPD Model • Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations How do I measure risk? • • Use a structured methodology Predefine general values to avoid confusion • Record the calculated risk • Simple formula: • Risk = Probability * Damage Potential • • • • Define expected damage for each value Divide scale in three bands: High, Medium, Low Simple, yet lacking dimension Not always easy to agree… 17
  • 18. Calculating Risks: DREAD Model Application Decomposition Threat Mapping Threat / Risk Rating • Another method for determining risk is DREAD model • Damage potential – How great is the damage if the vulnerability is exploited? • Reproducibility – How easy is it to reproduce the attack? • Exploitability – How easy is it to launch an attack? • Affected users – As a rough percentage, how many users are affected? • Discoverability – How easy is it to find the vulnerability? • Risk = Min(D, (D+R+E+A+D) / 5) • Threat Response & Mitigations Agree beforehand on values of each factor 18
  • 19. Threat Resolution & Risk Mitigation • Application Decomposition Threat Mapping Threat / Risk Rating Threat Response & Mitigations Threats can be resolved by • • • • Risk Acceptance - doing nothing Risk Transference - pass risk to an externality Risk Avoidance - removing the feature/component that causes the risk Risk Mitigation - decrease the risk • Mitigation strategies should be examined for each threat • Mitigations should be chosen according to the appropriate technology • Resolution should be decided according to risk level and cost of mitigations 19
  • 20. Best Practices in Threat Modeling • Use structured & consistent methodologies • Predefine and agree on risk ratings that work for you • Include all relevant shareholders in TM discussions: • Security • Architecture / Design • Coding • • Testing Don’t let TM discussions to degenerate to finding solutions before the threats have been fully identified 20
  • 21. Best Practices in Threat Modeling • Don’t model too deep – don’t get carried away in the details • Document TM results so they could be used later on for: • • Similar products / systems • • Next versions Education Use common attack libraries / patterns for consistency and additional ideas e.g. http://www.owasp.org/index.php/Category:Attack • Always remember – its never too late for Threat Modeling! 21
  • 22. Threat Modeling Tools • The Threat Analysis and Modeling Tool (TAM): • is an asset-focused tool designed for LOB applications. • It is used for applications for which business objectives, deployment pattern, and data assets and access control are clearly defined. • The focus of the tool is to understand the business risk in the application, help identify controls needed to manage that risk, and protect the assets. 22
  • 23. Threat Modeling Tools • The SDL Threat Modeling Tool: • is a software-focused tool designed for rich client/server application development (for example, Windows and SQL Server, among others) • The tool assumes the final deployment pattern of the product is unknown (that is, if it will be used to manage business-critical applications with customer credit cards or not), so the focus of the tool is to ensure security of the software’s underlying code. 23
  • 24. Summary Application Decomposition •Define scope •Create an architecture overview •Function •Logical architecture •Physical deployment •Technologies •Identify assets •Mark trust boundaries •Identify data flows, entry points, and assumptions •Make note of privileged code Threat Mapping •Identifying Threats •Use STRIDE Model •Creating Threat Tree •Documenting each Threat Calculate Risks •Use Risk = Probability * Damage Potential •Use Risk = Min(D, (D+R+E+A+D) / 5) Threat Resolution and Risk Mitigation •Risk Acceptance - doing nothing •Risk Transference - pass risk to an externality •Risk Avoidance - removing the feature/component that causes the risk •Risk Mitigation - decrease the risk •Mitigation strategies should be examined for each threat •Mitigations should be chosen according to the appropriate technology •Resolution should be decided according to risk level and cost of mitigations 24
  • 25. Resources • OWASP (Open Web Application Security Project): https://www.owasp.org • Microsoft Security: http://www.microsoft.com/security http://www.Microsoft.com/sdl • Wikipedia: http://en.wikipedia.org/wiki/Threat_model 25
  • 26. Lalit Kale [email protected] http://lalitkale.wordpress.com . This presentation is shared under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More information for this license is available at http://creativecommons.org/licenses/by-nc-sa/4.0/ All trademarks are the property of their respective owners. Lalit Kale makes no warranties, express, implied or statutory, as to the information in this presentation.