SlideShare a Scribd company logo
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

More Related Content

PPTX
Security Training: #3 Threat Modelling - Practices and Tools
PDF
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
PDF
Hunting for Privilege Escalation in Windows Environment
PPTX
Kheirkhabarov24052017_phdays7
PDF
Purple Teaming the Cyber Kill Chain: Practical Exercises for Everyone Sector...
PPTX
Application Security Architecture and Threat Modelling
PDF
Global Cyber Threat Intelligence
Security Training: #3 Threat Modelling - Practices and Tools
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
Hunting for Privilege Escalation in Windows Environment
Kheirkhabarov24052017_phdays7
Purple Teaming the Cyber Kill Chain: Practical Exercises for Everyone Sector...
Application Security Architecture and Threat Modelling
Global Cyber Threat Intelligence

What's hot (20)

PDF
Threat Modeling Everything
PPT
Introduction to Web Application Penetration Testing
ODP
OWASP Secure Coding
PPTX
Secure coding practices
PDF
Threat Modeling to Reduce Software Security Risk
PPTX
Secure Coding 101 - OWASP University of Ottawa Workshop
PDF
DevSecOps: What Why and How : Blackhat 2019
PDF
Privilege escalation from 1 to 0 Workshop
PPTX
Effective Threat Hunting with Tactical Threat Intelligence
PPTX
Threat modelling with_sample_application
PPTX
Red Team vs. Blue Team
PPTX
Introduction to penetration testing
PDF
ATT&CK Updates- ATT&CK's Open Source
PDF
OWASP based Threat Modeling Framework
PDF
Penetration Testing Tutorial | Penetration Testing Tools | Cyber Security Tra...
PPTX
Owasp top 10 vulnerabilities
PDF
Security Checkpoints in Agile SDLC
PDF
Secure Code Review 101
PPT
Hacking web applications
PDF
Hunting for Credentials Dumping in Windows Environment
Threat Modeling Everything
Introduction to Web Application Penetration Testing
OWASP Secure Coding
Secure coding practices
Threat Modeling to Reduce Software Security Risk
Secure Coding 101 - OWASP University of Ottawa Workshop
DevSecOps: What Why and How : Blackhat 2019
Privilege escalation from 1 to 0 Workshop
Effective Threat Hunting with Tactical Threat Intelligence
Threat modelling with_sample_application
Red Team vs. Blue Team
Introduction to penetration testing
ATT&CK Updates- ATT&CK's Open Source
OWASP based Threat Modeling Framework
Penetration Testing Tutorial | Penetration Testing Tools | Cyber Security Tra...
Owasp top 10 vulnerabilities
Security Checkpoints in Agile SDLC
Secure Code Review 101
Hacking web applications
Hunting for Credentials Dumping in Windows Environment
Ad

Viewers also liked (20)

PPTX
Can You Really Automate Yourself Secure
PPTX
Video Game Security
PDF
The Path to Proactive Application Security
PPT
How to Avoid the Top Ten Software Security Flaws
PDF
Robert Hurlbut - Threat Modeling for Secure Software Design
PDF
Application Threat Modeling
PPTX
How to Choose the Right Security Training for You
PPTX
6 Most Common Threat Modeling Misconceptions
PDF
Threat modeling with architectural risk patterns
PDF
Getting Executive Support for a Software Security Program
PPT
5 Models for Enterprise Software Security Management Teams
PDF
Rapid Threat Modeling Techniques
PDF
BSidesSF 2014 Fix What Matters:Why CVSS Sucks
PPTX
Information technology Vs Information security
PDF
Hickman threat modeling
PDF
7 Lessons Learned From BSIMM
PPTX
Owasp Proactive Controls for Web developer
PPTX
Agile security
PDF
Continuous Security: 5 Ways DevOps Improves Security
Can You Really Automate Yourself Secure
Video Game Security
The Path to Proactive Application Security
How to Avoid the Top Ten Software Security Flaws
Robert Hurlbut - Threat Modeling for Secure Software Design
Application Threat Modeling
How to Choose the Right Security Training for You
6 Most Common Threat Modeling Misconceptions
Threat modeling with architectural risk patterns
Getting Executive Support for a Software Security Program
5 Models for Enterprise Software Security Management Teams
Rapid Threat Modeling Techniques
BSidesSF 2014 Fix What Matters:Why CVSS Sucks
Information technology Vs Information security
Hickman threat modeling
7 Lessons Learned From BSIMM
Owasp Proactive Controls for Web developer
Agile security
Continuous Security: 5 Ways DevOps Improves Security
Ad

Similar to Secure Design: Threat Modeling (20)

PPTX
Threat modelling(system + enterprise)
PDF
[Warsaw 26.06.2018] SDL Threat Modeling principles
PDF
Application Security Testing for Software Engineers: An approach to build sof...
PPTX
Add-Structure-and-Credibility-to-Your-Security-Portfolio-with-CIS-Controls-v8...
PPTX
Owasp Summit - Wednesday evening briefing master
PDF
Bridging the Security Testing Gap in Your CI/CD Pipeline
PDF
Cybersecurity update 12
PDF
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
PPTX
Web applications security conference slides
PPSX
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
PPTX
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
PPTX
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
PDF
Top Security Features to Include in Your Custom.pdf
PDF
Scaling security in a cloud environment v0.5 (Sep 2017)
PDF
Cyber security series Application Security
PDF
Web Application Penetration Testing Course in 2025.pdf
PPTX
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
PDF
Webinar–AppSec: Hype or Reality
PDF
Security Certification: Security Analytics using Sumo Logic - Oct 2018
PDF
Application Security Testing for a DevOps Mindset
Threat modelling(system + enterprise)
[Warsaw 26.06.2018] SDL Threat Modeling principles
Application Security Testing for Software Engineers: An approach to build sof...
Add-Structure-and-Credibility-to-Your-Security-Portfolio-with-CIS-Controls-v8...
Owasp Summit - Wednesday evening briefing master
Bridging the Security Testing Gap in Your CI/CD Pipeline
Cybersecurity update 12
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
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...
Top Security Features to Include in Your Custom.pdf
Scaling security in a cloud environment v0.5 (Sep 2017)
Cyber security series Application Security
Web Application Penetration Testing Course in 2025.pdf
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Webinar–AppSec: Hype or Reality
Security Certification: Security Analytics using Sumo Logic - Oct 2018
Application Security Testing for a DevOps Mindset

More from Cigital (11)

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

Recently uploaded (20)

PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
L1 - Introduction to python Backend.pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Transform Your Business with a Software ERP System
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administration Chapter 2
PPTX
Introduction to Artificial Intelligence
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
top salesforce developer skills in 2025.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
CHAPTER 2 - PM Management and IT Context
L1 - Introduction to python Backend.pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Transform Your Business with a Software ERP System
history of c programming in notes for students .pptx
System and Network Administration Chapter 2
Introduction to Artificial Intelligence
Wondershare Filmora 15 Crack With Activation Key [2025
Upgrade and Innovation Strategies for SAP ERP Customers
Odoo POS Development Services by CandidRoot Solutions
ManageIQ - Sprint 268 Review - Slide Deck
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
top salesforce developer skills in 2025.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Softaken Excel to vCard Converter Software.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle

Secure Design: Threat Modeling

  • 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