Secure Design: Threat Modeling
Narudom Roongsiriwong, CISSP
OWASP Meeting, September 30, 2021
WhoAmI
● Lazy Blogger
– Japan, Security, FOSS, Politics, Christian
– http://narudomr.blogspot.com
● Information Security since 1995
● Web Application Development since 1998
● SVP, Cloud and Security Architect, Digital Innovation and Data Group,
Bank of Ayudhya (Krungsri) PCL
● Security and Risk Committee at National Digital ID Co.,Ltd.
● APAC Research Advisory Council Member at Cloud Security Alliance Asia Pacific
● Co-Chair, Hybrid Cloud Security Working Group at Cloud Security Alliance
● Consultant, OWASP Thailand Chapter
● Chief Information Security Officer (CISO) of the Year 2017, NetworkWorld Asia
● Contact: narudom@owasp.org
Application Security Risks
Weakness
Attack
Threat
Agents
Impact
Weakness
Attack
Attack
Vectors
Security
Weaknesses
Technical
Impacts
Business
Impacts
Attack
Impact
Impact
Asset
Function
Asset
Weakness
Control
Control
Control
Weakness
Security
Controls
Source: OWASP: OWASP Top 10 2017
When We Do Threat Modeling
Security as an Afterthought
Relative cost of security fixes, based on time of detection
Source: The National Institute of Standards and Technology (NIST)
Attack Surface Evaluation
Attack Surface Evaluation
Attack Surface
System’s Surface
(e.g., API)
Attacks
Intuition
Reduce the ways attackers can penetrate surface
Increase system’s security
A software or application’s attack surface is the measure of its
exposure of being exploited by a threat agent, i.e., weaknesses
in its entry and exit points that a malicious attacker can exploit
to his or her advantage.
Attacks on the Internet
Source: IBM Software Group, Rational Software
Relative Attack Surface
● Simple way of measuring potential for attack
● Goal of a product should be to reduce attack surface
– Lower privilege
– Turn features off
– Defense in depth
● Does not address code quality
● Hard to compare dissimilar products
Attack Surface Analysis
Attack Surface Analysis helps you to:
● Identify what functions and what parts of the system you
need to review/test for security vulnerabilities
● Identify high risk areas of code that require defense-in-depth
protection - what parts of the system that you need to
defend
● Identify when you have changed the attack surface and need
to do some kind of threat assessment
Defining the Attack Surface of an Application
● The sum of all paths for data/commands into and out of the
application
● The code that protects these paths
– including resource connection and authentication,
authorization, activity logging, data validation and encoding
● All valuable data used in the application
– Including secrets and keys, intellectual property, critical
business data, personal data and PII, and
● The code that protects these data
– Including encryption and checksums, access auditing, and
data integrity and operational security controls.
Identifying and Mapping the Attack Surface
Points of entry/exit: Types based on function, design and
technology:
● User interface (UI) forms and fields
● HTTP headers and cookies
● APIs
● Files
● Databases
● Other local storage
● Email or other kinds of messages
● Run-time arguments
● ...Your points of entry/exit
● Login/authentication entry points
● Admin interfaces
● Inquiries and search functions
● Data entry (CRUD) forms
● Business workflows
● Transactional interfaces/APIs
● Operational command and monitoring
interfaces/APIs
● Interfaces with other
applications/systems
● ...Your types
Measuring and Assessing the Attack Surface
Focus on remote entry points – interfaces with outside systems and to the
Internet – and especially where the system allows anonymous, public access.
● Network-facing, especially internet-facing code
● Web forms
● Files from outside of the network
● Backwards compatible interfaces with other systems – old protocols,
sometimes old code and libraries, hard to maintain and test multiple
versions
● Custom APIs – protocols etc – likely to have mistakes in design and
implementation
● Security code: anything to do with cryptography, authentication,
authorization (access control) and session management
Threat Modeling
Threat Modeling
What Is Threat Modeling?
Threat modeling is an approach for analyzing the security
of an application. It is a structured approach that enables
you to identify, quantify, and address the security risks
associated with an application.
Why Threat Modeling?
● It is better to find security flaws when there is time to fix
them.
● It can save time, revenue and the reputation of your
company.
● To build a secure application.
● To bridge the gap between developers and security.
● It provides a document of all the identified threats and rated
threats.
● It offers knowledge and awareness of the latest risks and
vulnerabilities.
How to Do Threat Modeling
Define
Model
Measure
Step 1 Identify security objectives and assets
Step 2 Profile the application
Step 3 Decompose the application
Step 4 Identify threats and vulnerabilities
Step 5 Document the threats
Step 6 Prioritize and mitigate the threats
Identify Security Objectives and Assets
● Examples
– Prevention of data theft
– Protection of IP
– Provide system high availability
● Inputs to identify security objectives
– Internal organizational policies and standards
– Regulations, compliance, and privacy requirements
– Business and functional requirements
Identify the physical topology
Identify the logical topology
Determine components, services, protocols, and ports
Identify data elements
Generate a data access control matrix
Profile the Application
Decompose the Application
Identify trust
boundaries
Identify entry
points
Identify exit
points
Identify data
flows
Identify
privileged code
Document the
security profile
Identify threats and vulnerabilities
● Think like an attacker (brainstorming and using attack trees)
● Use a categorized threat list
– NSA IAM
– OCTAVE
– STRIDE
Attack Tree Example
Attack Tree with Indicator Value Example
X, Y, Z
X – cost
Y – probability
Z – technical ability
STRIDE Category of Threats
Goal Core Description
Spoofing Authentication Can an attacker impersonate another user or identity?
Tampering Integrity Can the data be tampered with while it is in transit or in
storage or archives?
Repudiation Accountability Can the attacker (user or process) deny the attack?
Information
Disclosure
Confidentiality Can information be disclosed to unauthorized users?
Denial of
service
Availability Is denial of service a possibility?
Elevation of
privilege
Authorization Can the attacker bypass least privilege implementation
and execute the software at elevated or administrative
privileges?
Document the Threat: Example
Threat Identifier T#0001
Threat description Injection of SQL commands
Threat targets Data access component.
Backend database
Attack techniques Attacker appends SQL commands to user name, which
is used to form an SQL query.
Security impact Information disclosure.
Alteration.
Destruction (drop table/procédures, delete data, etc.).
Authentication bypass.
Risk High.
Risk Calculation Tool: CVSS V3.0 Calculator
https://www.first.org/cvss/calculator/3.0
Q&A

More Related Content

PDF
Threat Modeling Basics with Examples
PPTX
7 Steps to Threat Modeling
PPTX
Threat Modeling In 2021
PDF
Secure Coding and Threat Modeling
PPT
Application Threat Modeling
PPTX
Security Training: #3 Threat Modelling - Practices and Tools
PPTX
Threat Modeling And Analysis
PDF
Threat Modeling Everything
Threat Modeling Basics with Examples
7 Steps to Threat Modeling
Threat Modeling In 2021
Secure Coding and Threat Modeling
Application Threat Modeling
Security Training: #3 Threat Modelling - Practices and Tools
Threat Modeling And Analysis
Threat Modeling Everything

What's hot (20)

PPTX
Effective Security Operation Center - present by Reza Adineh
PDF
Governance of security operation centers
PDF
Microsoft threat modeling tool 2016
PPSX
Next-Gen security operation center
PDF
Vulnerability Management Program
PPTX
Deception technology for advanced detection
PPTX
Security Operation Center Fundamental
PDF
Building a Next-Generation Security Operations Center (SOC)
PPTX
An introduction to SOC (Security Operation Center)
PDF
Scalable threat modelling with risk patterns
PDF
NIST Cybersecurity Framework 101
PPTX
Threat modelling with_sample_application
PPTX
Cyber security
PDF
Welcome to the world of Cyber Threat Intelligence
PDF
Security operations center-SOC Presentation-مرکز عملیات امنیت
PPTX
Cyber Threat Hunting Workshop
PDF
Cyber Threat Intelligence - It's not just about the feeds
PPTX
Security operation center
PDF
Introduction to Cybersecurity
Effective Security Operation Center - present by Reza Adineh
Governance of security operation centers
Microsoft threat modeling tool 2016
Next-Gen security operation center
Vulnerability Management Program
Deception technology for advanced detection
Security Operation Center Fundamental
Building a Next-Generation Security Operations Center (SOC)
An introduction to SOC (Security Operation Center)
Scalable threat modelling with risk patterns
NIST Cybersecurity Framework 101
Threat modelling with_sample_application
Cyber security
Welcome to the world of Cyber Threat Intelligence
Security operations center-SOC Presentation-مرکز عملیات امنیت
Cyber Threat Hunting Workshop
Cyber Threat Intelligence - It's not just about the feeds
Security operation center
Introduction to Cybersecurity
Ad

Similar to Secure Design: Threat Modeling (20)

PPTX
Security Incident machnism Security Incident machnismSecurity Incident machni...
PDF
Security Shift Leftmost - Secure Architecture.pdf
PDF
Application Threat Modeling
PDF
Threat Modeling workshop by Robert Hurlbut
PDF
Application Threat Modeling In Risk Management
PPTX
Architecting for Security Resilience
PDF
System Security Beyond the Libraries
PPT
Security Overview - Updates and Trends In Detail
PDF
Threat Modeling to Reduce Software Security Risk
PPTX
Acoustic based target recognition based on machien learning
PPTX
Appsec2013 assurance tagging-robert martin
PPTX
chap-1 : Vulnerabilities in Information Systems
PPTX
Fendley how secure is your e learning
PPTX
Threat Modelling and managed risks for medical devices
PPTX
Application Security Architecture and Threat Modelling
PPT
Security_Updates_cybersecuirty ppt presentation.ppt
PPTX
Threat modelling(system + enterprise)
PPTX
For Business's Sake, Let's focus on AppSec
PPT
Assessing and Measuring Security in Custom SAP Applications
PPTX
Reducing Application Risk: minimizing your web application's attack surface
Security Incident machnism Security Incident machnismSecurity Incident machni...
Security Shift Leftmost - Secure Architecture.pdf
Application Threat Modeling
Threat Modeling workshop by Robert Hurlbut
Application Threat Modeling In Risk Management
Architecting for Security Resilience
System Security Beyond the Libraries
Security Overview - Updates and Trends In Detail
Threat Modeling to Reduce Software Security Risk
Acoustic based target recognition based on machien learning
Appsec2013 assurance tagging-robert martin
chap-1 : Vulnerabilities in Information Systems
Fendley how secure is your e learning
Threat Modelling and managed risks for medical devices
Application Security Architecture and Threat Modelling
Security_Updates_cybersecuirty ppt presentation.ppt
Threat modelling(system + enterprise)
For Business's Sake, Let's focus on AppSec
Assessing and Measuring Security in Custom SAP Applications
Reducing Application Risk: minimizing your web application's attack surface
Ad

More from Narudom Roongsiriwong, CISSP (20)

PDF
Biometric Authentication.pdf
PDF
Security Patterns for Software Development
PDF
How Good Security Architecture Saves Corporate Workers from COVID-19
PDF
Secure Software Design for Data Privacy
PDF
Blockchain and Cryptocurrency for Dummies
PPTX
National Digital ID Platform Technical Forum
PDF
Embedded System Security: Learning from Banking and Payment Industry
PDF
Secure Your Encryption with HSM
PDF
Application Security Verification Standard Project
PDF
Coding Security: Code Mania 101
PDF
Top 10 Bad Coding Practices Lead to Security Problems
PDF
OWASP Top 10 Proactive Control 2016 (C5-C10)
PDF
Securing the Internet from Cyber Criminals
PDF
Secure Code Review 101
PDF
Secure Software Development Adoption Strategy
PDF
Secure PHP Coding
PDF
Application Security: Last Line of Defense
PDF
AnyID and Privacy
Biometric Authentication.pdf
Security Patterns for Software Development
How Good Security Architecture Saves Corporate Workers from COVID-19
Secure Software Design for Data Privacy
Blockchain and Cryptocurrency for Dummies
National Digital ID Platform Technical Forum
Embedded System Security: Learning from Banking and Payment Industry
Secure Your Encryption with HSM
Application Security Verification Standard Project
Coding Security: Code Mania 101
Top 10 Bad Coding Practices Lead to Security Problems
OWASP Top 10 Proactive Control 2016 (C5-C10)
Securing the Internet from Cyber Criminals
Secure Code Review 101
Secure Software Development Adoption Strategy
Secure PHP Coding
Application Security: Last Line of Defense
AnyID and Privacy

Recently uploaded (20)

PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
Examining Bias in AI Generated News Content.pdf
PDF
Human Computer Interaction Miterm Lesson
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
substrate PowerPoint Presentation basic one
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Advancing precision in air quality forecasting through machine learning integ...
LMS bot: enhanced learning management systems for improved student learning e...
Connector Corner: Transform Unstructured Documents with Agentic Automation
Examining Bias in AI Generated News Content.pdf
Human Computer Interaction Miterm Lesson
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
CEH Module 2 Footprinting CEH V13, concepts
substrate PowerPoint Presentation basic one
A symptom-driven medical diagnosis support model based on machine learning te...
SGT Report The Beast Plan and Cyberphysical Systems of Control
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf

Secure Design: Threat Modeling

  • 1. Secure Design: Threat Modeling Narudom Roongsiriwong, CISSP OWASP Meeting, September 30, 2021
  • 2. WhoAmI ● Lazy Blogger – Japan, Security, FOSS, Politics, Christian – http://narudomr.blogspot.com ● Information Security since 1995 ● Web Application Development since 1998 ● SVP, Cloud and Security Architect, Digital Innovation and Data Group, Bank of Ayudhya (Krungsri) PCL ● Security and Risk Committee at National Digital ID Co.,Ltd. ● APAC Research Advisory Council Member at Cloud Security Alliance Asia Pacific ● Co-Chair, Hybrid Cloud Security Working Group at Cloud Security Alliance ● Consultant, OWASP Thailand Chapter ● Chief Information Security Officer (CISO) of the Year 2017, NetworkWorld Asia ● Contact: [email protected]
  • 4. When We Do Threat Modeling
  • 5. Security as an Afterthought Relative cost of security fixes, based on time of detection Source: The National Institute of Standards and Technology (NIST)
  • 6. Attack Surface Evaluation Attack Surface Evaluation
  • 7. Attack Surface System’s Surface (e.g., API) Attacks Intuition Reduce the ways attackers can penetrate surface Increase system’s security A software or application’s attack surface is the measure of its exposure of being exploited by a threat agent, i.e., weaknesses in its entry and exit points that a malicious attacker can exploit to his or her advantage.
  • 8. Attacks on the Internet Source: IBM Software Group, Rational Software
  • 9. Relative Attack Surface ● Simple way of measuring potential for attack ● Goal of a product should be to reduce attack surface – Lower privilege – Turn features off – Defense in depth ● Does not address code quality ● Hard to compare dissimilar products
  • 10. Attack Surface Analysis Attack Surface Analysis helps you to: ● Identify what functions and what parts of the system you need to review/test for security vulnerabilities ● Identify high risk areas of code that require defense-in-depth protection - what parts of the system that you need to defend ● Identify when you have changed the attack surface and need to do some kind of threat assessment
  • 11. Defining the Attack Surface of an Application ● The sum of all paths for data/commands into and out of the application ● The code that protects these paths – including resource connection and authentication, authorization, activity logging, data validation and encoding ● All valuable data used in the application – Including secrets and keys, intellectual property, critical business data, personal data and PII, and ● The code that protects these data – Including encryption and checksums, access auditing, and data integrity and operational security controls.
  • 12. Identifying and Mapping the Attack Surface Points of entry/exit: Types based on function, design and technology: ● User interface (UI) forms and fields ● HTTP headers and cookies ● APIs ● Files ● Databases ● Other local storage ● Email or other kinds of messages ● Run-time arguments ● ...Your points of entry/exit ● Login/authentication entry points ● Admin interfaces ● Inquiries and search functions ● Data entry (CRUD) forms ● Business workflows ● Transactional interfaces/APIs ● Operational command and monitoring interfaces/APIs ● Interfaces with other applications/systems ● ...Your types
  • 13. Measuring and Assessing the Attack Surface Focus on remote entry points – interfaces with outside systems and to the Internet – and especially where the system allows anonymous, public access. ● Network-facing, especially internet-facing code ● Web forms ● Files from outside of the network ● Backwards compatible interfaces with other systems – old protocols, sometimes old code and libraries, hard to maintain and test multiple versions ● Custom APIs – protocols etc – likely to have mistakes in design and implementation ● Security code: anything to do with cryptography, authentication, authorization (access control) and session management
  • 15. What Is Threat Modeling? Threat modeling is an approach for analyzing the security of an application. It is a structured approach that enables you to identify, quantify, and address the security risks associated with an application.
  • 16. Why Threat Modeling? ● It is better to find security flaws when there is time to fix them. ● It can save time, revenue and the reputation of your company. ● To build a secure application. ● To bridge the gap between developers and security. ● It provides a document of all the identified threats and rated threats. ● It offers knowledge and awareness of the latest risks and vulnerabilities.
  • 17. How to Do Threat Modeling Define Model Measure Step 1 Identify security objectives and assets Step 2 Profile the application Step 3 Decompose the application Step 4 Identify threats and vulnerabilities Step 5 Document the threats Step 6 Prioritize and mitigate the threats
  • 18. Identify Security Objectives and Assets ● Examples – Prevention of data theft – Protection of IP – Provide system high availability ● Inputs to identify security objectives – Internal organizational policies and standards – Regulations, compliance, and privacy requirements – Business and functional requirements
  • 19. Identify the physical topology Identify the logical topology Determine components, services, protocols, and ports Identify data elements Generate a data access control matrix Profile the Application
  • 20. Decompose the Application Identify trust boundaries Identify entry points Identify exit points Identify data flows Identify privileged code Document the security profile
  • 21. Identify threats and vulnerabilities ● Think like an attacker (brainstorming and using attack trees) ● Use a categorized threat list – NSA IAM – OCTAVE – STRIDE
  • 23. Attack Tree with Indicator Value Example X, Y, Z X – cost Y – probability Z – technical ability
  • 24. STRIDE Category of Threats Goal Core Description Spoofing Authentication Can an attacker impersonate another user or identity? Tampering Integrity Can the data be tampered with while it is in transit or in storage or archives? Repudiation Accountability Can the attacker (user or process) deny the attack? Information Disclosure Confidentiality Can information be disclosed to unauthorized users? Denial of service Availability Is denial of service a possibility? Elevation of privilege Authorization Can the attacker bypass least privilege implementation and execute the software at elevated or administrative privileges?
  • 25. Document the Threat: Example Threat Identifier T#0001 Threat description Injection of SQL commands Threat targets Data access component. Backend database Attack techniques Attacker appends SQL commands to user name, which is used to form an SQL query. Security impact Information disclosure. Alteration. Destruction (drop table/procédures, delete data, etc.). Authentication bypass. Risk High.
  • 26. Risk Calculation Tool: CVSS V3.0 Calculator https://www.first.org/cvss/calculator/3.0
  • 27. Q&A