SlideShare une entreprise Scribd logo
1  sur  40
Copyright © 2016, Cigital and/or its affiliates. All rights reserved. | Cigital Confidential Restricted
Secure Design: Threat Modeling
OWASP-Cleveland Chapter
October 2016
Amit Sethi
Senior Principal Consultant, Cigital
About Cigital
Cigital is one of the world’s largest application
security firms. We go beyond traditional testing
services to help organizations find, fix and
prevent vulnerabilities in the applications that
power their business.
Our holistic approach to application security offers a balance of
managed services, professional services and products tailored to
fit your specific needs. We don't stop when the test is over. Our
experts also provide remediation guidance, program design
services, and training that empower you to build and maintain
secure applications.
Cigital is headquartered near Washington, D.C. with regional
offices in the U.S., London and India.
For more information, visit us at www.Cigital.com
2
Why Code Reviews and Pen Tests Are Not Enough
This section is excerpted from a presentation at the
February 2015 OWASP Belgium Chapter Meeting
Jim DelGrosso, Architecture Practice Lead at Cigital
Cigital Touchpoints
4
The Defect Universe – Bugs and Flaws
5
(Implementation) BUGS (Design) FLAWS
Cross Site Scripting
Buffer Overflow
Weak/Missing/Wrong
Security Control
Architecture Analysis
Code Review
Penetration Testing
Examples of Bugs and Flaws
• SQL Injection
• XML/XPath/* Injection
• Cross-Site Scripting
• Buffer Overflow
• Unsafe system calls
• Predictable Identifiers
• Hardcoding secrets in
code
• Misuse of cryptography
• Broad trust between
components
• Client-side trust
• Broken or illogical access
control (RBAC over tiers)
• Missing defense for
replay attacks
• Insecure auditing
Implementation BUGS Design FLAWS
Threat Model Process
What Is Threat Modeling?
• Identifies secure-design weaknesses
• Missing security controls
• Weak or inappropriate security controls
• Potential vulnerabilities
• Finds weaknesses that cannot be found by other
techniques
It is not a replacement for pen-testing or secure code
review.
Threat modeling (TM) is software design analysis that looks
for security weaknesses by juxtaposing software design
views against a set of threat agents:
8
Threat Modeling Vocabulary
9
Threat Modeling Process
• Define scope and depth of analysis
• Gain understanding of what is being threat modeled
• Decompose and model the software
• Model the attack possibilities
• Identify assets, security controls and threat agents
• Juxtapose attack possibilities and software model
• Interpret the threat model
• Produce the list of attacks
• Create the traceability matrix for reporting the attacks
• Rank the risk of the attack
• Propose mitigations
Threat modeling process includes the following steps:
10
System Threat Model
• Holistic view of application’s security posture
• Considers both application and infrastructure
• Builds roadmap for additional security activities
Characteristics of the System Threat Model include:
11
Protocol/Sequence/API Threat Model
• Analysis of message
structure and component
interaction
• Bridges gap between
system threat model and
code review
Protocol/Sequence/API Threat Model
Characteristics include:
12
System Threat Models
Decompose and Model the System
• Understand how the system works (before trying to
break it)
• Who uses the system
• What are the business goals
• What are the dependencies between systems
• What systems (components) does this system make use of
• What systems (components) use this system
• Review (some) development documentation
• Interview members of various teams
To decompose and model the system:
14
Gain Understanding from Interviews
• Social-networking payment application
• Some content and features membership-only; some, free
• App is JavaEE app; uses WebLogic as JavaEE container
• Backend database is Oracle
• Stores user’s preferences
• Produces some membership-only reports
• Web UI built using JQuery JavaScript library
• Web UI calls third-party REST services for user-specific
content
• User connectivity and interface to backend services uses
HTTPS
From the interview, you learn:
15
Diagrams from Development/Infrastructure Teams
16
Deployment Model
Layer Model
Logical Model
Layer Model (from Development)
17
Logical Model (from Development)
18
Deployment Model (from Infrastructure)
19
Modeling the System Structure
• Which components are in-scope for this “release”
• How control flows between these components
• How components and flows relate to host boundaries
and network zones
• Application layer communication protocols that connect
components
Model can use an existing diagram or one you create:
• For this presentation, we’ll create our own to help
understand the most relevant parts for a threat model
• Creating a separate diagram is optional
Based on the interviews and development/infrastructure
diagrams, create a model that shows:
20
Simplified System Model
Components come from
the Logical and Layer
Models
Protocols come
from the
Deployment Model
Machine boundaries come
from the Deployment Model
Network zones come from
the Deployment Model
Forum is out of
scope
21
Modeling the Attack Possibilities
To model the attack possibilities, continue to analyze the
information we’ve collected in our interviews. And now add
the related threat model elements:
Assets Data and functions that the system
must protect
Security Controls Mechanisms currently designed and
implemented to protect the Assets
Threat Agents Actors that want to harm the system
Juxtaposing the attack possibilities and the system creates
the actual threat model. Interpreting the model produces a
list of potential attacks.
22
Identifying Assets from Interviews
• Social-networking payment application
• Some content and features membership-only; some, free
• App is JavaEE app; uses WebLogic as JavaEE
container
• Backend database is Oracle
• Stores user’s preferences
• Produces some membership-only reports
• Web UI built using JQuery JavaScript library
• Web UI calls third-party REST services for user-specific
content
• User connectivity and interface to backend services uses
HTTPS
Information collected in development interviews:
23
Identifying Assets from Interviews
• Social-networking payment application
• Some content [A01] and features [A02] membership-
only; some, free
• App is JavaEE app; uses WebLogic as JavaEE
container
• Backend database [A03] is Oracle
• Stores user’s preferences
• Produces some membership-only reports
• Web UI built using JQuery JavaScript library
• Web UI calls third-party REST services [A04] for user-
specific content
• User connectivity and interface to backend services uses
HTTPS
Information collected in development interviews:
24
Model the Attack Possibilities: Assets
25
Identifying Controls from Interviews
• Social-networking payment application
• Some content and features membership-only; some, free
• App is JavaEE app; uses WebLogic as JavaEE container
• Backend database is Oracle
• Stores user’s preferences
• Produces some membership-only reports
• Web UI built using JQuery JavaScript library
• Web UI calls third-party REST services for user-specific
content
• User connectivity and interface to backend services uses
HTTPS
Information collected in development interviews:
26
Identifying Controls from Interviews
• Social-networking payment application
• Some content and features membership-only
[C01][C02]; some, free
• App is JavaEE app; uses WebLogic as JavaEE
container
• Web UI built using JQuery JavaScript library
• Web UI calls third-party REST services for user-specific
content
• Backend database is Oracle
• Stores user’s preferences
• Produces some membership-only reports
• User connectivity and interface to backend services uses
HTTPS [C03]
Information collected in development interviews:
27
Model the Attack Possibilities: Security Controls
28
Identify Threat Agents
• Start with the canonical threat agents for the software
• Associate the threat agent with system components they
directly interact with
• Minimize the number of threat agents by treating them
as equivalence classes
• For example, assume a technically sophisticated threat agent and
a script-kiddie are the same
• Assume that a threat agent can be motivated to attack
the system
• Consider motivation when evaluating likelihood
Threat agents are primarily based on access. To identify
threat agents:
29
System TM Canonical Threat Agents
1. Unauthorized External, Internet-based Attacker
2. Unauthorized Internal/External (client-side), LAN-based Attacker
3. Authorized External, Malicious User
4. Authorized Internal, Malicious App/System Admin
Cloud-hosted applications should account for:
5. Authorized Malicious Cloud Provider Admin
Mobile client applications should account for:
6. Malware on a Jailbroken/Rooted device
Most internet-based applications can start using canonical
set of threat agents:
30
Model the Attack Possibilities: Threat Agents
These zones contain
TA02 and TA03
31
Additional Threat Agents
• Are business or application specific
• Generate additional potential attacks in the traceability
matrix; otherwise, the threat agent is superfluous
• Increase the depth of the threat model, but also adds
time to the analysis
Additional threat agents:
32
Evaluating Pivots Using Threat Agents
Intermediate attack objectives (pivots) can be done by creating a
threat agent for the compromised component.
33
Interpret the Threat Model
• Is there any path where threat agent can reach asset
without going through a control?
• For any security control along each of those paths:
• What must threat agent do to defeat the control?
• Can threat agent defeat the control?
Record missing or weak controls in the traceability matrix
To interpret the threat model, start with threat agent and
follow flow-of-control paths to reach an asset:
34
Interpret the Threat Model
35
Create the Traceability Matrix
• Identifies a potential attack
• Identifies impact if the potential attack were to succeed
• Proposes mitigations to development to reduce the risk
to an acceptable level
• Mitigations should be practical and implementable
• Important to create a “shared vision” with the development team
Create the traceability matrix where each entry:
36
Traceability Matrix – In One Sentence
“A threat agent, trying to compromise some asset, using
attack, interacting via attack surface, in order to achieve
attack goal, having impact, mitigated to an acceptable risk
level by control.”
37
Threat Agent Asset Attack Attack Surface Attack Goal Impact Control
Threat Agent Asset
com-
promised
Actual
exploit
Entry point
used by
attacker
Goal of
attack
Impact Mitigation
Traceability Matrix Entry
Threat Agent
• An entity (e.g., object, substance, human) that can act against an asset and cause harm.
Asset
• Data, functionality, or a property of the system that a threat agent wants to access.
Attack
• The combination of software, system state, input data, and steps required to achieve
successful attack.
Attack Surface
• The collection of points that the threat agent directly interacts with the system.
Attack Goal
• What the threat agent wants to do with access to an asset. Often considered the
consequence of the attack — that is, what can go wrong.
Impact
• The impact severity associated with a successful attack (high/medium/low).
Security Control
• The mechanism that protects an asset, either completely or partially, from one or more
threat agents. A control only needs to reduce the overall risk of a successful attack to an
acceptable level.
Mitigation
• Recommended mitigations if the potential attack turns out to be possible.
38
Other Threat Models
• Microsoft STRIDE. focuses on six threat categories,
namely Spoofing, Tampering, Repudiation, Information
disclosure, Denial of service, Elevation of privilege.
• https://msdn.microsoft.com/en-
us/library/ee823878%28v=cs.20%29.aspx
• Attack Trees are conceptual diagrams showing how a
target might be attacked.
• https://www.schneier.com/attacktrees.pdf
The Cigital threat model is relatively simple and teachable
and straightforward to practice. There are other models:
39
Thank you for your time!
To contact instructor: asethi@cigital.com
For information about services offered by Cigital:
http://www.cigital.com
info@cigital.com
Phone: 800.824.0022
40

Contenu connexe

Tendances

Vulnerability Management
Vulnerability ManagementVulnerability Management
Vulnerability Managementasherad
 
Operating system vulnerability and control
Operating system vulnerability and control Operating system vulnerability and control
Operating system vulnerability and control أحلام انصارى
 
Threat Modeling Everything
Threat Modeling EverythingThreat Modeling Everything
Threat Modeling EverythingAnne Oikarinen
 
Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskAlienVault
 
Threat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceThreat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceVishal Kumar
 
8. operations security
8. operations security8. operations security
8. operations security7wounders
 
Risk Analysis Of Banking Malware Attacks
Risk Analysis Of Banking Malware AttacksRisk Analysis Of Banking Malware Attacks
Risk Analysis Of Banking Malware AttacksMarco Morana
 
Introduction to Software Security and Best Practices
Introduction to Software Security and Best PracticesIntroduction to Software Security and Best Practices
Introduction to Software Security and Best PracticesMaxime ALAY-EDDINE
 
[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principlesOWASP
 
IBM Security Software Solutions - Powerpoint
 IBM Security Software Solutions - Powerpoint IBM Security Software Solutions - Powerpoint
IBM Security Software Solutions - PowerpointThierry Matusiak
 
Application Security - Your Success Depends on it
Application Security - Your Success Depends on itApplication Security - Your Success Depends on it
Application Security - Your Success Depends on itWSO2
 
WTF is Penetration Testing v.2
WTF is Penetration Testing v.2WTF is Penetration Testing v.2
WTF is Penetration Testing v.2Scott Sutherland
 
Real World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleReal World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleNCC Group
 
Practical Malware Analysis: Ch 8: Debugging
Practical Malware Analysis: Ch 8: Debugging Practical Malware Analysis: Ch 8: Debugging
Practical Malware Analysis: Ch 8: Debugging Sam Bowne
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersRyanISI
 
SIEM presentation final
SIEM presentation finalSIEM presentation final
SIEM presentation finalRizwan S
 

Tendances (20)

Vulnerability Management
Vulnerability ManagementVulnerability Management
Vulnerability Management
 
Operating system vulnerability and control
Operating system vulnerability and control Operating system vulnerability and control
Operating system vulnerability and control
 
Threat Modeling Everything
Threat Modeling EverythingThreat Modeling Everything
Threat Modeling Everything
 
Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize Risk
 
Application Security
Application SecurityApplication Security
Application Security
 
Threat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement MatriceThreat Hunting Procedures and Measurement Matrice
Threat Hunting Procedures and Measurement Matrice
 
8. operations security
8. operations security8. operations security
8. operations security
 
Information Security and the SDLC
Information Security and the SDLCInformation Security and the SDLC
Information Security and the SDLC
 
Risk Analysis Of Banking Malware Attacks
Risk Analysis Of Banking Malware AttacksRisk Analysis Of Banking Malware Attacks
Risk Analysis Of Banking Malware Attacks
 
IBM Security QRadar
 IBM Security QRadar IBM Security QRadar
IBM Security QRadar
 
Threat Modeling Using STRIDE
Threat Modeling Using STRIDEThreat Modeling Using STRIDE
Threat Modeling Using STRIDE
 
Introduction to Software Security and Best Practices
Introduction to Software Security and Best PracticesIntroduction to Software Security and Best Practices
Introduction to Software Security and Best Practices
 
[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles
 
IBM Security Software Solutions - Powerpoint
 IBM Security Software Solutions - Powerpoint IBM Security Software Solutions - Powerpoint
IBM Security Software Solutions - Powerpoint
 
Application Security - Your Success Depends on it
Application Security - Your Success Depends on itApplication Security - Your Success Depends on it
Application Security - Your Success Depends on it
 
WTF is Penetration Testing v.2
WTF is Penetration Testing v.2WTF is Penetration Testing v.2
WTF is Penetration Testing v.2
 
Real World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleReal World Application Threat Modelling By Example
Real World Application Threat Modelling By Example
 
Practical Malware Analysis: Ch 8: Debugging
Practical Malware Analysis: Ch 8: Debugging Practical Malware Analysis: Ch 8: Debugging
Practical Malware Analysis: Ch 8: Debugging
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
 
SIEM presentation final
SIEM presentation finalSIEM presentation final
SIEM presentation final
 

En vedette

Can You Really Automate Yourself Secure
Can You Really Automate Yourself SecureCan You Really Automate Yourself Secure
Can You Really Automate Yourself SecureCigital
 
Video Game Security
Video Game SecurityVideo Game Security
Video Game SecurityCigital
 
The Path to Proactive Application Security
The Path to Proactive Application SecurityThe Path to Proactive Application Security
The Path to Proactive Application SecurityCigital
 
How to Avoid the Top Ten Software Security Flaws
How to Avoid the Top Ten Software Security FlawsHow to Avoid the Top Ten Software Security Flaws
How to Avoid the Top Ten Software Security FlawsCigital
 
Robert Hurlbut - Threat Modeling for Secure Software Design
Robert Hurlbut - Threat Modeling for Secure Software DesignRobert Hurlbut - Threat Modeling for Secure Software Design
Robert Hurlbut - Threat Modeling for Secure Software Designcentralohioissa
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat ModelingPriyanka Aash
 
How to Choose the Right Security Training for You
How to Choose the Right Security Training for YouHow to Choose the Right Security Training for You
How to Choose the Right Security Training for YouCigital
 
6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling Misconceptions6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling MisconceptionsCigital
 
Threat modeling with architectural risk patterns
Threat modeling with architectural risk patternsThreat modeling with architectural risk patterns
Threat modeling with architectural risk patternsStephen de Vries
 
Getting Executive Support for a Software Security Program
Getting Executive Support for a Software Security ProgramGetting Executive Support for a Software Security Program
Getting Executive Support for a Software Security ProgramCigital
 
5 Models for Enterprise Software Security Management Teams
5 Models for Enterprise Software Security Management Teams 5 Models for Enterprise Software Security Management Teams
5 Models for Enterprise Software Security Management Teams Cigital
 
Rapid Threat Modeling Techniques
Rapid Threat Modeling TechniquesRapid Threat Modeling Techniques
Rapid Threat Modeling TechniquesPriyanka Aash
 
BSidesSF 2014 Fix What Matters:Why CVSS Sucks
BSidesSF 2014 Fix What Matters:Why CVSS SucksBSidesSF 2014 Fix What Matters:Why CVSS Sucks
BSidesSF 2014 Fix What Matters:Why CVSS SucksEd Bellis
 
Hickman threat modeling
Hickman threat modelingHickman threat modeling
Hickman threat modelingjonecx
 
7 Lessons Learned From BSIMM
7 Lessons Learned From BSIMM7 Lessons Learned From BSIMM
7 Lessons Learned From BSIMMCigital
 
Owasp Proactive Controls for Web developer
Owasp  Proactive Controls for Web developerOwasp  Proactive Controls for Web developer
Owasp Proactive Controls for Web developerSameer Paradia
 
Continuous Security: 5 Ways DevOps Improves Security
Continuous Security: 5 Ways DevOps Improves SecurityContinuous Security: 5 Ways DevOps Improves Security
Continuous Security: 5 Ways DevOps Improves SecuritySonatype
 

En vedette (20)

Can You Really Automate Yourself Secure
Can You Really Automate Yourself SecureCan You Really Automate Yourself Secure
Can You Really Automate Yourself Secure
 
Video Game Security
Video Game SecurityVideo Game Security
Video Game Security
 
The Path to Proactive Application Security
The Path to Proactive Application SecurityThe Path to Proactive Application Security
The Path to Proactive Application Security
 
How to Avoid the Top Ten Software Security Flaws
How to Avoid the Top Ten Software Security FlawsHow to Avoid the Top Ten Software Security Flaws
How to Avoid the Top Ten Software Security Flaws
 
Robert Hurlbut - Threat Modeling for Secure Software Design
Robert Hurlbut - Threat Modeling for Secure Software DesignRobert Hurlbut - Threat Modeling for Secure Software Design
Robert Hurlbut - Threat Modeling for Secure Software Design
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 
How to Choose the Right Security Training for You
How to Choose the Right Security Training for YouHow to Choose the Right Security Training for You
How to Choose the Right Security Training for You
 
6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling Misconceptions6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling Misconceptions
 
Threat modeling with architectural risk patterns
Threat modeling with architectural risk patternsThreat modeling with architectural risk patterns
Threat modeling with architectural risk patterns
 
Getting Executive Support for a Software Security Program
Getting Executive Support for a Software Security ProgramGetting Executive Support for a Software Security Program
Getting Executive Support for a Software Security Program
 
5 Models for Enterprise Software Security Management Teams
5 Models for Enterprise Software Security Management Teams 5 Models for Enterprise Software Security Management Teams
5 Models for Enterprise Software Security Management Teams
 
Rapid Threat Modeling Techniques
Rapid Threat Modeling TechniquesRapid Threat Modeling Techniques
Rapid Threat Modeling Techniques
 
Software compliance
Software complianceSoftware compliance
Software compliance
 
BSidesSF 2014 Fix What Matters:Why CVSS Sucks
BSidesSF 2014 Fix What Matters:Why CVSS SucksBSidesSF 2014 Fix What Matters:Why CVSS Sucks
BSidesSF 2014 Fix What Matters:Why CVSS Sucks
 
Information technology Vs Information security
Information technology Vs Information securityInformation technology Vs Information security
Information technology Vs Information security
 
Hickman threat modeling
Hickman threat modelingHickman threat modeling
Hickman threat modeling
 
7 Lessons Learned From BSIMM
7 Lessons Learned From BSIMM7 Lessons Learned From BSIMM
7 Lessons Learned From BSIMM
 
Owasp Proactive Controls for Web developer
Owasp  Proactive Controls for Web developerOwasp  Proactive Controls for Web developer
Owasp Proactive Controls for Web developer
 
Agile security
Agile securityAgile security
Agile security
 
Continuous Security: 5 Ways DevOps Improves Security
Continuous Security: 5 Ways DevOps Improves SecurityContinuous Security: 5 Ways DevOps Improves Security
Continuous Security: 5 Ways DevOps Improves Security
 

Similaire à Threat Modeling Secure Design

Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)abhimanyubhogwan
 
Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Michael Hidalgo
 
Owasp Summit - Wednesday evening briefing master
Owasp Summit - Wednesday evening briefing masterOwasp Summit - Wednesday evening briefing master
Owasp Summit - Wednesday evening briefing masterDinis Cruz
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineBridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineDevOps.com
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Denim Group
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slidesBassam Al-Khatib
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Scaling security in a cloud environment v0.5 (Sep 2017)
Scaling security in a cloud environment  v0.5 (Sep 2017)Scaling security in a cloud environment  v0.5 (Sep 2017)
Scaling security in a cloud environment v0.5 (Sep 2017)Dinis Cruz
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application SecurityJim Kaplan CIA CFE
 
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...Mobodexter
 
Security Certification: Security Analytics using Sumo Logic - Oct 2018
Security Certification: Security Analytics using Sumo Logic - Oct 2018Security Certification: Security Analytics using Sumo Logic - Oct 2018
Security Certification: Security Analytics using Sumo Logic - Oct 2018Sumo Logic
 
Application Security Testing for a DevOps Mindset
Application Security Testing for a DevOps Mindset  Application Security Testing for a DevOps Mindset
Application Security Testing for a DevOps Mindset Denim Group
 
Web application vulnerability assessment
Web application vulnerability assessmentWeb application vulnerability assessment
Web application vulnerability assessmentRavikumar Paghdal
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners Checkmarx
 
React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!Shelly Megan
 
Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...
Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...
Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...North Texas Chapter of the ISSA
 

Similaire à Threat Modeling Secure Design (20)

Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)
 
Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...
 
Owasp Summit - Wednesday evening briefing master
Owasp Summit - Wednesday evening briefing masterOwasp Summit - Wednesday evening briefing master
Owasp Summit - Wednesday evening briefing master
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD PipelineBridging the Security Testing Gap in Your CI/CD Pipeline
Bridging the Security Testing Gap in Your CI/CD Pipeline
 
Cybersecurity update 12
Cybersecurity update 12Cybersecurity update 12
Cybersecurity update 12
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Scaling security in a cloud environment v0.5 (Sep 2017)
Scaling security in a cloud environment  v0.5 (Sep 2017)Scaling security in a cloud environment  v0.5 (Sep 2017)
Scaling security in a cloud environment v0.5 (Sep 2017)
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application Security
 
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
 
Webinar–AppSec: Hype or Reality
Webinar–AppSec: Hype or RealityWebinar–AppSec: Hype or Reality
Webinar–AppSec: Hype or Reality
 
Security Certification: Security Analytics using Sumo Logic - Oct 2018
Security Certification: Security Analytics using Sumo Logic - Oct 2018Security Certification: Security Analytics using Sumo Logic - Oct 2018
Security Certification: Security Analytics using Sumo Logic - Oct 2018
 
Application Security Testing for a DevOps Mindset
Application Security Testing for a DevOps Mindset  Application Security Testing for a DevOps Mindset
Application Security Testing for a DevOps Mindset
 
Web application vulnerability assessment
Web application vulnerability assessmentWeb application vulnerability assessment
Web application vulnerability assessment
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
 
React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!
 
Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...
Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...
Luncheon 2016-01-21 - Emerging Threats and Strategies for Defense by Paul Fle...
 

Plus de Cigital

Handle With Care: You Have My VA Report!
Handle With Care: You Have My VA Report!Handle With Care: You Have My VA Report!
Handle With Care: You Have My VA Report!Cigital
 
Get Your Board to Say "Yes" to a BSIMM Assessment
Get Your Board to Say "Yes" to a BSIMM AssessmentGet Your Board to Say "Yes" to a BSIMM Assessment
Get Your Board to Say "Yes" to a BSIMM AssessmentCigital
 
Software Security Metrics
Software Security MetricsSoftware Security Metrics
Software Security MetricsCigital
 
Software Security Initiative Capabilities: Where Do I Begin?
Software Security Initiative Capabilities: Where Do I Begin? Software Security Initiative Capabilities: Where Do I Begin?
Software Security Initiative Capabilities: Where Do I Begin? Cigital
 
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind SpotStatic Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind SpotCigital
 
Cyber War, Cyber Peace, Stones, and Glass Houses
Cyber War, Cyber Peace, Stones, and Glass HousesCyber War, Cyber Peace, Stones, and Glass Houses
Cyber War, Cyber Peace, Stones, and Glass HousesCigital
 
The Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistThe Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistCigital
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?Cigital
 
BSIMM By The Numbers
BSIMM By The NumbersBSIMM By The Numbers
BSIMM By The NumbersCigital
 
BSIMM: Bringing Science to Software Security
BSIMM: Bringing Science to Software SecurityBSIMM: Bringing Science to Software Security
BSIMM: Bringing Science to Software SecurityCigital
 
BSIMM-V: The Building Security In Maturity Model
BSIMM-V: The Building Security In Maturity ModelBSIMM-V: The Building Security In Maturity Model
BSIMM-V: The Building Security In Maturity ModelCigital
 

Plus de Cigital (11)

Handle With Care: You Have My VA Report!
Handle With Care: You Have My VA Report!Handle With Care: You Have My VA Report!
Handle With Care: You Have My VA Report!
 
Get Your Board to Say "Yes" to a BSIMM Assessment
Get Your Board to Say "Yes" to a BSIMM AssessmentGet Your Board to Say "Yes" to a BSIMM Assessment
Get Your Board to Say "Yes" to a BSIMM Assessment
 
Software Security Metrics
Software Security MetricsSoftware Security Metrics
Software Security Metrics
 
Software Security Initiative Capabilities: Where Do I Begin?
Software Security Initiative Capabilities: Where Do I Begin? Software Security Initiative Capabilities: Where Do I Begin?
Software Security Initiative Capabilities: Where Do I Begin?
 
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind SpotStatic Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
 
Cyber War, Cyber Peace, Stones, and Glass Houses
Cyber War, Cyber Peace, Stones, and Glass HousesCyber War, Cyber Peace, Stones, and Glass Houses
Cyber War, Cyber Peace, Stones, and Glass Houses
 
The Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistThe Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing Checklist
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?
 
BSIMM By The Numbers
BSIMM By The NumbersBSIMM By The Numbers
BSIMM By The Numbers
 
BSIMM: Bringing Science to Software Security
BSIMM: Bringing Science to Software SecurityBSIMM: Bringing Science to Software Security
BSIMM: Bringing Science to Software Security
 
BSIMM-V: The Building Security In Maturity Model
BSIMM-V: The Building Security In Maturity ModelBSIMM-V: The Building Security In Maturity Model
BSIMM-V: The Building Security In Maturity Model
 

Dernier

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Dernier (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Threat Modeling Secure Design

  • 1. Copyright © 2016, Cigital and/or its affiliates. All rights reserved. | Cigital Confidential Restricted Secure Design: Threat Modeling OWASP-Cleveland Chapter October 2016 Amit Sethi Senior Principal Consultant, Cigital
  • 2. About Cigital Cigital is one of the world’s largest application security firms. We go beyond traditional testing services to help organizations find, fix and prevent vulnerabilities in the applications that power their business. Our holistic approach to application security offers a balance of managed services, professional services and products tailored to fit your specific needs. We don't stop when the test is over. Our experts also provide remediation guidance, program design services, and training that empower you to build and maintain secure applications. Cigital is headquartered near Washington, D.C. with regional offices in the U.S., London and India. For more information, visit us at www.Cigital.com 2
  • 3. Why Code Reviews and Pen Tests Are Not Enough This section is excerpted from a presentation at the February 2015 OWASP Belgium Chapter Meeting Jim DelGrosso, Architecture Practice Lead at Cigital
  • 5. The Defect Universe – Bugs and Flaws 5 (Implementation) BUGS (Design) FLAWS Cross Site Scripting Buffer Overflow Weak/Missing/Wrong Security Control Architecture Analysis Code Review Penetration Testing
  • 6. Examples of Bugs and Flaws • SQL Injection • XML/XPath/* Injection • Cross-Site Scripting • Buffer Overflow • Unsafe system calls • Predictable Identifiers • Hardcoding secrets in code • Misuse of cryptography • Broad trust between components • Client-side trust • Broken or illogical access control (RBAC over tiers) • Missing defense for replay attacks • Insecure auditing Implementation BUGS Design FLAWS
  • 8. What Is Threat Modeling? • Identifies secure-design weaknesses • Missing security controls • Weak or inappropriate security controls • Potential vulnerabilities • Finds weaknesses that cannot be found by other techniques It is not a replacement for pen-testing or secure code review. Threat modeling (TM) is software design analysis that looks for security weaknesses by juxtaposing software design views against a set of threat agents: 8
  • 10. Threat Modeling Process • Define scope and depth of analysis • Gain understanding of what is being threat modeled • Decompose and model the software • Model the attack possibilities • Identify assets, security controls and threat agents • Juxtapose attack possibilities and software model • Interpret the threat model • Produce the list of attacks • Create the traceability matrix for reporting the attacks • Rank the risk of the attack • Propose mitigations Threat modeling process includes the following steps: 10
  • 11. System Threat Model • Holistic view of application’s security posture • Considers both application and infrastructure • Builds roadmap for additional security activities Characteristics of the System Threat Model include: 11
  • 12. Protocol/Sequence/API Threat Model • Analysis of message structure and component interaction • Bridges gap between system threat model and code review Protocol/Sequence/API Threat Model Characteristics include: 12
  • 14. Decompose and Model the System • Understand how the system works (before trying to break it) • Who uses the system • What are the business goals • What are the dependencies between systems • What systems (components) does this system make use of • What systems (components) use this system • Review (some) development documentation • Interview members of various teams To decompose and model the system: 14
  • 15. Gain Understanding from Interviews • Social-networking payment application • Some content and features membership-only; some, free • App is JavaEE app; uses WebLogic as JavaEE container • Backend database is Oracle • Stores user’s preferences • Produces some membership-only reports • Web UI built using JQuery JavaScript library • Web UI calls third-party REST services for user-specific content • User connectivity and interface to backend services uses HTTPS From the interview, you learn: 15
  • 16. Diagrams from Development/Infrastructure Teams 16 Deployment Model Layer Model Logical Model
  • 17. Layer Model (from Development) 17
  • 18. Logical Model (from Development) 18
  • 19. Deployment Model (from Infrastructure) 19
  • 20. Modeling the System Structure • Which components are in-scope for this “release” • How control flows between these components • How components and flows relate to host boundaries and network zones • Application layer communication protocols that connect components Model can use an existing diagram or one you create: • For this presentation, we’ll create our own to help understand the most relevant parts for a threat model • Creating a separate diagram is optional Based on the interviews and development/infrastructure diagrams, create a model that shows: 20
  • 21. Simplified System Model Components come from the Logical and Layer Models Protocols come from the Deployment Model Machine boundaries come from the Deployment Model Network zones come from the Deployment Model Forum is out of scope 21
  • 22. Modeling the Attack Possibilities To model the attack possibilities, continue to analyze the information we’ve collected in our interviews. And now add the related threat model elements: Assets Data and functions that the system must protect Security Controls Mechanisms currently designed and implemented to protect the Assets Threat Agents Actors that want to harm the system Juxtaposing the attack possibilities and the system creates the actual threat model. Interpreting the model produces a list of potential attacks. 22
  • 23. Identifying Assets from Interviews • Social-networking payment application • Some content and features membership-only; some, free • App is JavaEE app; uses WebLogic as JavaEE container • Backend database is Oracle • Stores user’s preferences • Produces some membership-only reports • Web UI built using JQuery JavaScript library • Web UI calls third-party REST services for user-specific content • User connectivity and interface to backend services uses HTTPS Information collected in development interviews: 23
  • 24. Identifying Assets from Interviews • Social-networking payment application • Some content [A01] and features [A02] membership- only; some, free • App is JavaEE app; uses WebLogic as JavaEE container • Backend database [A03] is Oracle • Stores user’s preferences • Produces some membership-only reports • Web UI built using JQuery JavaScript library • Web UI calls third-party REST services [A04] for user- specific content • User connectivity and interface to backend services uses HTTPS Information collected in development interviews: 24
  • 25. Model the Attack Possibilities: Assets 25
  • 26. Identifying Controls from Interviews • Social-networking payment application • Some content and features membership-only; some, free • App is JavaEE app; uses WebLogic as JavaEE container • Backend database is Oracle • Stores user’s preferences • Produces some membership-only reports • Web UI built using JQuery JavaScript library • Web UI calls third-party REST services for user-specific content • User connectivity and interface to backend services uses HTTPS Information collected in development interviews: 26
  • 27. Identifying Controls from Interviews • Social-networking payment application • Some content and features membership-only [C01][C02]; some, free • App is JavaEE app; uses WebLogic as JavaEE container • Web UI built using JQuery JavaScript library • Web UI calls third-party REST services for user-specific content • Backend database is Oracle • Stores user’s preferences • Produces some membership-only reports • User connectivity and interface to backend services uses HTTPS [C03] Information collected in development interviews: 27
  • 28. Model the Attack Possibilities: Security Controls 28
  • 29. Identify Threat Agents • Start with the canonical threat agents for the software • Associate the threat agent with system components they directly interact with • Minimize the number of threat agents by treating them as equivalence classes • For example, assume a technically sophisticated threat agent and a script-kiddie are the same • Assume that a threat agent can be motivated to attack the system • Consider motivation when evaluating likelihood Threat agents are primarily based on access. To identify threat agents: 29
  • 30. System TM Canonical Threat Agents 1. Unauthorized External, Internet-based Attacker 2. Unauthorized Internal/External (client-side), LAN-based Attacker 3. Authorized External, Malicious User 4. Authorized Internal, Malicious App/System Admin Cloud-hosted applications should account for: 5. Authorized Malicious Cloud Provider Admin Mobile client applications should account for: 6. Malware on a Jailbroken/Rooted device Most internet-based applications can start using canonical set of threat agents: 30
  • 31. Model the Attack Possibilities: Threat Agents These zones contain TA02 and TA03 31
  • 32. Additional Threat Agents • Are business or application specific • Generate additional potential attacks in the traceability matrix; otherwise, the threat agent is superfluous • Increase the depth of the threat model, but also adds time to the analysis Additional threat agents: 32
  • 33. Evaluating Pivots Using Threat Agents Intermediate attack objectives (pivots) can be done by creating a threat agent for the compromised component. 33
  • 34. Interpret the Threat Model • Is there any path where threat agent can reach asset without going through a control? • For any security control along each of those paths: • What must threat agent do to defeat the control? • Can threat agent defeat the control? Record missing or weak controls in the traceability matrix To interpret the threat model, start with threat agent and follow flow-of-control paths to reach an asset: 34
  • 36. Create the Traceability Matrix • Identifies a potential attack • Identifies impact if the potential attack were to succeed • Proposes mitigations to development to reduce the risk to an acceptable level • Mitigations should be practical and implementable • Important to create a “shared vision” with the development team Create the traceability matrix where each entry: 36
  • 37. Traceability Matrix – In One Sentence “A threat agent, trying to compromise some asset, using attack, interacting via attack surface, in order to achieve attack goal, having impact, mitigated to an acceptable risk level by control.” 37 Threat Agent Asset Attack Attack Surface Attack Goal Impact Control Threat Agent Asset com- promised Actual exploit Entry point used by attacker Goal of attack Impact Mitigation
  • 38. Traceability Matrix Entry Threat Agent • An entity (e.g., object, substance, human) that can act against an asset and cause harm. Asset • Data, functionality, or a property of the system that a threat agent wants to access. Attack • The combination of software, system state, input data, and steps required to achieve successful attack. Attack Surface • The collection of points that the threat agent directly interacts with the system. Attack Goal • What the threat agent wants to do with access to an asset. Often considered the consequence of the attack — that is, what can go wrong. Impact • The impact severity associated with a successful attack (high/medium/low). Security Control • The mechanism that protects an asset, either completely or partially, from one or more threat agents. A control only needs to reduce the overall risk of a successful attack to an acceptable level. Mitigation • Recommended mitigations if the potential attack turns out to be possible. 38
  • 39. Other Threat Models • Microsoft STRIDE. focuses on six threat categories, namely Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege. • https://msdn.microsoft.com/en- us/library/ee823878%28v=cs.20%29.aspx • Attack Trees are conceptual diagrams showing how a target might be attacked. • https://www.schneier.com/attacktrees.pdf The Cigital threat model is relatively simple and teachable and straightforward to practice. There are other models: 39
  • 40. Thank you for your time! To contact instructor: asethi@cigital.com For information about services offered by Cigital: http://www.cigital.com info@cigital.com Phone: 800.824.0022 40