SlideShare una empresa de Scribd logo
1 de 42
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
1
SOFTWARE
APPLICATION
SECURITY
THREAT MODELING
Threat Modeling in DevSecOps SSDLC
robertGrupe, CISSP, CSSLP, PE, PMP
Tags :: OWASP, Threat Modeling, Application, Software, Security,
Development, AppSec, DevOps, DevSecOps, STRIDE, DREAD, SSDLC
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
2
Table of Contents
1. Intro: SSDLC
2. Threat Modeling Process
• Prerequisites
• Decompose the application
• Determine and Rank Threats
• STRIDE
• DREAD
• Determine Countermeasures & Threats
• ASF
3. Implementation
• Tools
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
3
INTRO
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
4
Requirements
(Scoping)
Design
Implementation
(Development)
Verification
(Test)
Release
SSDLC
(Secure Software Development Life Cycle)
• AppSec
Requirements
(User Stories
with
Acceptance
Criteria)
• Security &
Regulatory Risk
Assessment
• Frameworks
Patterns
• Analyze Attack
Surface
• Threat
Modeling
• Approved Tools
• Deprecate
Unsafe
Functions
• Static Analysis
• Unit Tests/
User Story
Acceptance
• Dynamic
Analysis
• Fuzz Testing
• Attack Surface
Review
• Penetration
Testing
• Deferred
Defects
Risk
Acceptance
• Go/No-Go
Maintenance
• Security Incident
Response Plan
Attack Surface Analysis: External attacks by Pen Tester with Architects
Threat Modeling: External + Internal attacks with Risk Analysis
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
5
Threat Modelling Process
• 1. Decompose the application
• 2. Determine and Rank Threats
• STRIDE
• 3. Determine Countermeasures & Threats
• DREAD
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
6
0. PRE-REQUISITES
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
7
Pre-Requisites: Application Security
Requirements Library (Controls)
• Organization security policies, standards, and best practices
• To comply with legal and regulatory requirements to do business
• Privacy protections
• SOX
• Health care data
• Partner requirements
• PCI payment cards processing
• Client requirements
• Government
• Industry certifications
• Provide business continuity
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
8
Threat Actors/Malicious Personas Library
Types Motivation Objectives/Threats (STRIDE)
Data Thief Financial gain from reselling user account
information
User accounts data, payment card details,
personal identify information (SSN)
Hacktevist Disruption, PR stunt Denial of Service, service disruption, exfiltrate
confidential information, deface application, spoof
mirroring
Disgruntled
Employee
Spiteful revenge Organizational confidential information and
intellectual property for unintended disclosure
Business services disruption
Data destruction
Trolls/Vandals Fame, bragging Defacing screens, disrupting services
Script Kiddie,
Hacker, Unsolicited
bounty hunter
Knowledge, power
Notoriety
Privileged access into application and network
Prosecuting
Investigators
Information for civil/legal prosecution Sensitive information access, privileged network
access
Journalist Obtaining confidential information about
individuals or business
User personal information
Competitive spy Insights into product services and plans
Intellectual property
Organizational processes, data access, personal
information
Blackmailer Financial gain Control of application and data
Bots/Screen
Scrapers
Unapproved mapping/reuse of application
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
9
Abuse/Misuse Diagrams
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
10
1. DECOMPOSE THE
APPLICATION
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
11
Project/Release Artifact:
Threat Model Report
• Cover
• Application Name: The name of the application.
• Application Version: The version of the application.
• Description: A high level description of the application.
• Document Owner: The owner of the threat modeling document.
• Participants: The participants involved in the threat modeling process for
this application.
• Reviewer: The reviewer(s) of the threat model.
• Analysis: Application Decomposition
• Links to reference artifacts: version controlled, so don’t change later
• Threats
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
12
Decompose the Application
• Objective: Identify
• Assets & External Entities (systems & users)
• External Dependencies (may pose threat)
• Use Cases (entity communications)
• Trust levels: Access Permissions
• Tools
• Context Diagram (External Dependency Entities, User Roles)
• Unique IDs for each Asset, Entity
• Description of each Asset, Entity
• Data Flow Diagrams (DFDs) - paths through the system
• Entry Points
• Feature Use Case Process Flow Diagrams (PFDs)
• User Roles & Permissions Matrix
• External Entity Access Trust Levels
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
13
Context Diagram
(Functionality, Users, & External Entities)
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
14
Data Flow Diagram: Application Example
• Note: Consider all APIs and Content Delivery Networks (CDNs)
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
15
Data Flow Diagram: Use Case Example
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
16
Feature Use Case Process Flow Diagram
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
17
Access Roles & Permissions Matrix
Role Name Description Permission
External Regular User
External Group
Manager
Internal User
Application
Administrator
Service 1, ...
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
18
Entry Points & Trusts Table
ID Name Description Trust Levels/User Roles
1 HTTPS Port The website will be only be accessible via TLS. All
pages are layered on this entry point.
(1) Anonymous Web User
(2) User with Valid Login Credentials
(3) User with Invalid Login Credentials
(4) Librarian
1.1 Library Main
Page
The splash page for the college library website is the
entry point for all users.
(1) Anonymous Web User
(2) User with Valid Login Credentials
(3) User with Invalid Login Credentials
(4) Librarian
1.2 Login Page Students, faculty members and librarians must log in to
the college library website before they can carry out
any of the use cases.
(1) Anonymous Web User
(2) User with Login Credentials
(3) User with Invalid Login Credentials
(4) Librarian
1.2.1 Login Function The login function accepts user supplied credentials
and compares them with those in the database.
(2) User with Valid Login Credentials
(3) User with Invalid Login Credentials
(4) Librarian
1.3 Search Entry
Page
The page used to enter a search query. (2) User with Valid Login Credentials
(4) Librarian
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
19
2. DETERMINE AND RANK
THREATS
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
20
STRIDE Threat List
(Attacker Perspective)
Type Threat Control
Spoofing Illegally access and use another user's credentials, such as username and
password.
Authentication
Tampering maliciously change/modify persistent data, such as persistent data in a
database, and the alteration of data in transit between two computers over
an open network, such as the Internet.
Integrity
Repudiation perform illegal operations in a system that lacks the ability to trace the
prohibited operations.
Non-Repudiation
Information Disclosure read a file that one was not granted access to, or to read data in transit. Confidentiality
Denial of Service deny access to valid users, such as by making a web server temporarily
unavailable or unusable.
Availability
Elevation of Privilege gain privileged access to resources for gaining unauthorized access to
information or to compromise a system.
Authorization
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
21
Other Application Threat Modeling
Methodologies
• PASTA
• Process for Attack Simulation & Threat Assessment
• Steps: 1. Define Biz objectives, 2. Define Tech Scope, 3. App
Decomposition, 4. Threat Analysis, 5. Vulnerability Detection, 6.
Attack Enumeration, 7. Risk/Impact Assessment
• https://www.owasp.org/images/a/aa/AppSecEU2012_PASTA.pdf
• VAST Visual, Simple, and Agile Threat modeling
methodology (VAST)
• Separate Application & Operational Data Flow Diagrams
• http://threatmodeler.com/threat-modeling-methodology/
• Trike
• Experimental, abandoned??
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
22
Ranking Threats
• Generic Risk Model
• Risk = Impact * Likelihood
• Impact
• Damage potential
• Number of affected components
• Likelihood
• Possibility
• Degree of mitigation
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
23
Risk Impact DREAD-D
Average score from rating (10) each of the following:
• Damage
• How bad would an attack be?
• Reproducibility
• How easy is it to reproduce the attack?
• Exploitability
• How much work is it to launch the attack?
• Affected users
• How many people will be impacted?
• Discoverability (omitted by many)
• - How easy is it to discover the threat?
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
24
Risk Impact Example
• Threat: Malicious user views confidential information of students, faculty members and
librarians.
• Damage potential: Threat to reputation as well as financial and legal liability:8
• Reproducibility: Fully reproducible:10
• Exploitability: Require to be on the same subnet or have compromised a router:7
• Affected users: Affects all users:10
• Discoverability: Can be found out easily:10
• Overall DREAD score: (8+10+7+10+10) / 5 = 9  High
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
25
Risk Likelihood
• Values High, Medium, Low
• Exploitation
• Can an attacker exploit this remotely?
• Does the attacker need to be authenticated?
• Can the exploit be automated?
• The impact mainly depends on the damage potential and the extent of the impact,
such as the number of components that are affected by a threat.
• Damage Potential
• Can an attacker completely take over and manipulate the system?
• Can an attacker gain administration access to the system?
• Can an attacker crash the system?
• Can the attacker obtain access to sensitive information such as secrets, PII
• Examples to determine the number of components that are affected by a threat:
• How many data sources and systems can be impacted?
• How “deep” into the infrastructure can the threat agent go?
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
26
3. DETERMINE
COUNTERMEASURES &
THREATS
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
27
Threat and Control Trees
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
28
Security Controls Checklist 1/4
Authentication:
• Ensure all internal and external connections (user
and entity) go through an appropriate and
adequate form of authentication. Be assured that
this control cannot be bypassed.
• Ensure all pages enforce the requirement for
authentication.
• Ensure that whenever authentication credentials
or any other sensitive information is passed, only
accept the information via the HTTP “POST”
method and will not accept it via the HTTP “GET”
method.
• Any page deemed by the business or the
development team as being outside the scope of
authentication should be reviewed in order to
assess any possibility of security breach.
• Ensure that authentication credentials do not
traverse the wire in clear text form.
• Ensure development/debug backdoors are not
present in production code.
Authorization:
• Ensure that there are authorization mechanisms
in place.
• Ensure that the application has clearly defined the
user types and the rights of said users.
• Ensure there is a least privilege stance in
operation.
• Ensure that the Authorization mechanisms work
properly, fail securely, and cannot be
circumvented.
• Ensure that authorization is checked on every
request.
• Ensure development/debug backdoors are not
present in production code.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
29
Security Controls Checklist 2/4
• Cookie Management:
• Ensure that sensitive information is not
comprised.
• Ensure that unauthorized activities cannot take
place via cookie manipulation.
• Ensure that proper encryption is in use.
• Ensure secure flag is set to prevent accidental
transmission over “the wire” in a non-secure
manner.
• Determine if all state transitions in the application
code properly check for the cookies and enforce
their use.
• Ensure the session data is being validated.
• Ensure cookies contain as little private
information as possible.
• Ensure entire cookie is encrypted if sensitive data
is persisted in the cookie.
• Define all cookies being used by the application,
their name, and why they are needed.
• Data/Input Validation:
• Ensure that a DV mechanism is present.
• Ensure all input that can (and will) be modified by
a malicious user such as HTTP headers, input
fields, hidden fields, drop down lists, and other
web components are properly validated.
• Ensure that the proper length checks on all input
exist.
• Ensure that all fields, cookies, http
headers/bodies, and form fields are validated.
• Ensure that the data is well formed and contains
only known good chars if possible.
• Ensure that the data validation occurs on the
server side.
• Examine where data validation occurs and if a
centralized model or decentralized model is used.
• Ensure there are no backdoors in the data
validation model.
• Golden Rule: All external input, no matter
what it is, is examined and validated.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
30
Security Controls Checklist 3/4
• Error Handling/Information leakage:
• Ensure that all method/function calls that
return a value have proper error handling
and return value checking.
• Ensure that exceptions and error
conditions are properly handled.
• Ensure that no system errors can be
returned to the user.
• Ensure that the application fails in a secure
manner.
• Ensure resources are released if an error
occurs.
• Logging/Auditing:
• Ensure that no sensitive information is
logged in the event of an error.
• Ensure the payload being logged is of a
defined maximum length and that the
logging mechanism enforces that length.
• Ensure no sensitive data can be logged;
e.g. cookies, HTTP “GET” method,
authentication credentials.
• Examine if the application will audit the
actions being taken by the application on
behalf of the client (particularly data
manipulation/Create, Update, Delete
(CUD) operations).
• Ensure successful and unsuccessful
authentication is logged.
• Ensure application errors are logged.
• Examine the application for debug logging
with the view to logging of sensitive data.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
31
Security Controls Checklist 4/4
Cryptography:
• Ensure no sensitive data is transmitted in the clear,
internally or externally.
• Ensure the application is implementing known good
cryptographic methods.
Secure Code Environment:
• Examine the file structure. Are any components that should
not be directly accessible available to the user?
• Examine all memory allocations/de-allocations.
• Examine the application for dynamic SQL and determine if
it is vulnerable to injection.
• Examine the application for “main()” executable functions
and debug harnesses/backdoors.
• Search for commented out code, commented out test code,
which may contain sensitive information.
• Ensure all logical decisions have a default clause.
• Ensure no development environment kit is contained on the
build directories.
• Search for any calls to the underlying operating system or
file open calls and examine the error possibilities.
Session Management:
• Examine how and when a session is created for a user,
unauthenticated and authenticated.
• Examine the session ID and verify if it is complex enough
to fulfill requirements regarding strength.
• Examine how sessions are stored: e.g. in a database, in
memory etc.
• Examine how the application tracks sessions.
• Determine the actions the application takes if an invalid
session ID occurs.
• Examine session invalidation.
• Determine how multithreaded/multi-user session
management is performed.
• Determine the session HTTP inactivity timeout.
• Determine how the log-out functionality functions.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
32
Application Security Framework (ASF)
(Defender Perspective)
Threat Type Countermeasure
Authentication Credentials and authentication tokens are protected with encryption in storage and transit
...
Authorization Strong ACLs are used for enforcing authorized access to resources
...
Configuration Management Least privileged processes are used and service accounts with no administration capability
...
Data Protection in Storage and Transit Standard encryption algorithms and correct key sizes are being used
Hashed message authentication codes (HMACs) are used to protect data integrity
...
Data Validation / Parameter Validation Data type, format, length, and range checks are enforced
...
Error Handling and Exception Management All exceptions are handled in a structured manner
...
User and Session Management No sensitive information is stored in clear text in the cookie
...
Auditing and Logging Sensitive information (e.g. passwords, PII) is not logged
• Iterate through each component
• Identify the controls for the application
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
33
Threats and Controls Risk Management
Determinations
• Do nothing
• Hope for the best
• Inform about the risk
• Warning user population about the risk
• Terms of Use & Privacy Policy
• Mitigate the risk
• Put countermeasures in place
• Security Requirements
• Accept the risk
• after evaluating the potential business impact
• Transfer the risk
• Contractual agreements and insurance
• Terminate the risk
• Shutdown, turn-off, unplug or decommission the asset
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
34
SUMMARY
PUTTING IT ALL TOGETHER
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
35
So What? Why Threat Model?
• Improved quality and execution: Shift-Left
• Discover security defects early in the SDLC
• Not having to redo work later
• Verify & Identify Needed Security Control Requirements
• Anticipated threats
• Data & communication paths
• Find issues automated testing can’t
• Insecure functionality design
• User identity, provisioning, and authorization
• Functionality & events sequencing & timing responses
• CI/CD
• No weeks of final QA & remediation prior to Deployment
• Compressed available time for traditional final Pen Testing
• Doxing, attack planning, scenarios testing, reviewing results, determining fixes,
refactoring designs, retesting
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
36
Threat Model in the S/SDLC
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
37
DevSecOps
• User Stories
• Assess Risks
• Frameworks/Patterns
• Attack Analysis
• Threat Modeling
• Approved Tools
• Deprecate Functions
• Static Analysis
• Unit Tests
• Dynamic Analysis
• Fuzz Testing
• Attack Review
• Penetration Testing
• Risk Acceptance
• Go/No-Go
• Logs
• Alerts
• Management
• Usage
• Changes
• Vulnerabilities
• Dashboards & Reports
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
38
Software Assurance Maturity Model
(SAMM): Where you are and want to go
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
39
Phased Implementing
Select and prioritize based on needs & resources...
• Epic Organizational Controls
• SDLC Design: Context Diagrams, Data Flows, Data Maps, User Role
Privileges
• Application Security Requirements Library
• Policies: Legal & Regulatory requirements
• Standards: Best practice implementation details
• Malicious Actors/Personas Library
• Risk Assessment Checklist
• Epic Product/Project Enhancements & New Functionality (only)
• Risk Assessments using Malicious Personas
• Epic Decompose Complete Existing Applications
• Attack Surface Analysis
• Multi-OSI Layers
• Epic Frameworks
• Application Development Framework Analysis
• Trusted Baseline: API’s, CDN’s, Data Stores
• Epic Continuous Improvement
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
40
Threat Modeling Tools
• Microsoft Threat Modeling Tool 2016
• STRIDE methodology
• MyAppSecurity ThreatModeler
• VAST methodology
• IriusRisk
• Connects with several tools (OWASP ZAP, BDD-Security,
Threadfix...) to empower automation
• foreseeti securiCAD
• Security Compass SD Elements
• Mozilla SeaSponge (planned)
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
41
Resources
• OWASP Application Threat Modeling
• https://www.owasp.org/index.php/Application_Threat_Modeling
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
42
Finis
• Robert Grupe, CISSP, CSSLP, PE, PMP
• robert@rgrupe.com
• +1.314.278.7901

Más contenido relacionado

La actualidad más candente

Threat Modeling Basics with Examples
Threat Modeling Basics with ExamplesThreat Modeling Basics with Examples
Threat Modeling Basics with ExamplesSanjeev Kumar Jaiswal
 
Threat Modeling And Analysis
Threat Modeling And AnalysisThreat Modeling And Analysis
Threat Modeling And AnalysisLalit Kale
 
Session2-Application Threat Modeling
Session2-Application Threat ModelingSession2-Application Threat Modeling
Session2-Application Threat Modelingzakieh alizadeh
 
State of the ATT&CK
State of the ATT&CKState of the ATT&CK
State of the ATT&CKMITRE ATT&CK
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Aymeric Lagier
 
Cyber Threat Modeling
Cyber Threat ModelingCyber Threat Modeling
Cyber Threat ModelingEC-Council
 
Attack modeling vs threat modelling
Attack modeling vs threat modellingAttack modeling vs threat modelling
Attack modeling vs threat modellingInvisibits
 
Criminal IP ASM | Threat Intelligence-based Automated Attack Surface Managem...
Criminal IP ASM | Threat Intelligence-based  Automated Attack Surface Managem...Criminal IP ASM | Threat Intelligence-based  Automated Attack Surface Managem...
Criminal IP ASM | Threat Intelligence-based Automated Attack Surface Managem...Criminal IP
 
Threat Modeling In 2021
Threat Modeling In 2021Threat Modeling In 2021
Threat Modeling In 2021Adam Shostack
 
Cyber Threat hunting workshop
Cyber Threat hunting workshopCyber Threat hunting workshop
Cyber Threat hunting workshopArpan Raval
 
Threat Intelligence 101 - Steve Lodin - Submitted
Threat Intelligence 101 - Steve Lodin - SubmittedThreat Intelligence 101 - Steve Lodin - Submitted
Threat Intelligence 101 - Steve Lodin - SubmittedSteve Lodin
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat IntelligencePrachi Mishra
 
Simplified Security Code Review Process
Simplified Security Code Review ProcessSimplified Security Code Review Process
Simplified Security Code Review ProcessSherif Koussa
 
Distributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of SecurityDistributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of SecuritySounil Yu
 
What is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda SecurityWhat is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda SecurityPanda Security
 
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?Izar Tarandach
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligencemohamed nasri
 

La actualidad más candente (20)

Threat Modeling Basics with Examples
Threat Modeling Basics with ExamplesThreat Modeling Basics with Examples
Threat Modeling Basics with Examples
 
Threat Modeling And Analysis
Threat Modeling And AnalysisThreat Modeling And Analysis
Threat Modeling And Analysis
 
Secure Coding and Threat Modeling
Secure Coding and Threat ModelingSecure Coding and Threat Modeling
Secure Coding and Threat Modeling
 
Session2-Application Threat Modeling
Session2-Application Threat ModelingSession2-Application Threat Modeling
Session2-Application Threat Modeling
 
State of the ATT&CK
State of the ATT&CKState of the ATT&CK
State of the ATT&CK
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)
 
Cyber Threat Modeling
Cyber Threat ModelingCyber Threat Modeling
Cyber Threat Modeling
 
Attack modeling vs threat modelling
Attack modeling vs threat modellingAttack modeling vs threat modelling
Attack modeling vs threat modelling
 
Criminal IP ASM | Threat Intelligence-based Automated Attack Surface Managem...
Criminal IP ASM | Threat Intelligence-based  Automated Attack Surface Managem...Criminal IP ASM | Threat Intelligence-based  Automated Attack Surface Managem...
Criminal IP ASM | Threat Intelligence-based Automated Attack Surface Managem...
 
Threat Modeling In 2021
Threat Modeling In 2021Threat Modeling In 2021
Threat Modeling In 2021
 
Cyber Threat hunting workshop
Cyber Threat hunting workshopCyber Threat hunting workshop
Cyber Threat hunting workshop
 
SIEM and Threat Hunting
SIEM and Threat HuntingSIEM and Threat Hunting
SIEM and Threat Hunting
 
Threat Intelligence 101 - Steve Lodin - Submitted
Threat Intelligence 101 - Steve Lodin - SubmittedThreat Intelligence 101 - Steve Lodin - Submitted
Threat Intelligence 101 - Steve Lodin - Submitted
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
 
Simplified Security Code Review Process
Simplified Security Code Review ProcessSimplified Security Code Review Process
Simplified Security Code Review Process
 
Distributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of SecurityDistributed Immutable Ephemeral - New Paradigms for the Next Era of Security
Distributed Immutable Ephemeral - New Paradigms for the Next Era of Security
 
What is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda SecurityWhat is Threat Hunting? - Panda Security
What is Threat Hunting? - Panda Security
 
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 

Similar a Threat Modeling in DevSecOps SSDLC

Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile ApplicationsRed7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile ApplicationsRobert Grupe, CSSLP CISSP PE PMP
 
Information security - what is going on 2016
Information security - what is going on 2016Information security - what is going on 2016
Information security - what is going on 2016Tomppa Järvinen
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecLalit Kale
 
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
 
Secure Design: Threat Modeling
Secure Design: Threat ModelingSecure Design: Threat Modeling
Secure Design: Threat ModelingCigital
 
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should HaveAppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should HaveRobert Grupe, CSSLP CISSP PE PMP
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application SecurityJim Kaplan CIA CFE
 
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
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Daniel Tumser
 
Privacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataPrivacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataDr. Amarjeet Singh
 
2022 APIsecure_Understanding API Abuse With Behavioral Analytics
2022 APIsecure_Understanding API Abuse With Behavioral Analytics2022 APIsecure_Understanding API Abuse With Behavioral Analytics
2022 APIsecure_Understanding API Abuse With Behavioral AnalyticsAPIsecure_ Official
 
Using Data Science for Cybersecurity
Using Data Science for CybersecurityUsing Data Science for Cybersecurity
Using Data Science for CybersecurityVMware Tanzu
 
Security for Architects and Developers
Security for Architects and DevelopersSecurity for Architects and Developers
Security for Architects and DevelopersShamir Charania
 

Similar a Threat Modeling in DevSecOps SSDLC (20)

Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile ApplicationsRed7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
 
Cybersecurity update 12
Cybersecurity update 12Cybersecurity update 12
Cybersecurity update 12
 
Information security - what is going on 2016
Information security - what is going on 2016Information security - what is going on 2016
Information security - what is going on 2016
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSec
 
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
 
Secure Design: Threat Modeling
Secure Design: Threat ModelingSecure Design: Threat Modeling
Secure Design: Threat Modeling
 
How to produce more secure web apps
How to produce more secure web appsHow to produce more secure web apps
How to produce more secure web apps
 
Web Application Security: Beyond PEN Testing
Web Application Security: Beyond PEN TestingWeb Application Security: Beyond PEN Testing
Web Application Security: Beyond PEN Testing
 
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should HaveAppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application Security
 
Data Science for Cyber Risk
Data Science for Cyber RiskData Science for Cyber Risk
Data Science for Cyber Risk
 
CASB — Your new best friend for safe cloud adoption?
CASB — Your new best friend for safe cloud adoption? CASB — Your new best friend for safe cloud adoption?
CASB — Your new best friend for safe cloud adoption?
 
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...
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
 
Privacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataPrivacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling Data
 
2022 APIsecure_Understanding API Abuse With Behavioral Analytics
2022 APIsecure_Understanding API Abuse With Behavioral Analytics2022 APIsecure_Understanding API Abuse With Behavioral Analytics
2022 APIsecure_Understanding API Abuse With Behavioral Analytics
 
niranjan
niranjanniranjan
niranjan
 
Using Data Science for Cybersecurity
Using Data Science for CybersecurityUsing Data Science for Cybersecurity
Using Data Science for Cybersecurity
 
Security for Architects and Developers
Security for Architects and DevelopersSecurity for Architects and Developers
Security for Architects and Developers
 
Agile AppSec DevOps
Agile AppSec DevOpsAgile AppSec DevOps
Agile AppSec DevOps
 

Más de Robert Grupe, CSSLP CISSP PE PMP

AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure SuccessAppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure SuccessRobert Grupe, CSSLP CISSP PE PMP
 
Red7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models OverviewRed7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models OverviewRobert Grupe, CSSLP CISSP PE PMP
 

Más de Robert Grupe, CSSLP CISSP PE PMP (15)

Application Security: AI LLMs and ML Threats & Defenses
Application Security: AI LLMs and ML Threats & DefensesApplication Security: AI LLMs and ML Threats & Defenses
Application Security: AI LLMs and ML Threats & Defenses
 
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure SuccessAppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
 
Application Security Logging with Splunk using Java
Application Security Logging with Splunk using JavaApplication Security Logging with Splunk using Java
Application Security Logging with Splunk using Java
 
Venturing: Extending the Boy Scout Troop
Venturing: Extending the Boy Scout TroopVenturing: Extending the Boy Scout Troop
Venturing: Extending the Boy Scout Troop
 
Red7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data ProtectionRed7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data Protection
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
 
Boy Scouts STEM Nova Awards
Boy Scouts STEM Nova AwardsBoy Scouts STEM Nova Awards
Boy Scouts STEM Nova Awards
 
Boy Scout Parents Introduction
Boy Scout Parents IntroductionBoy Scout Parents Introduction
Boy Scout Parents Introduction
 
Boy Scouts Introduction
Boy Scouts IntroductionBoy Scouts Introduction
Boy Scouts Introduction
 
Red7 Introduction to Product Management
Red7 Introduction to Product ManagementRed7 Introduction to Product Management
Red7 Introduction to Product Management
 
Red7 Product Portfolio Management
Red7 Product Portfolio ManagementRed7 Product Portfolio Management
Red7 Product Portfolio Management
 
Red7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and ProcessRed7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and Process
 
Red7 Software Planning Models
Red7 Software Planning ModelsRed7 Software Planning Models
Red7 Software Planning Models
 
Red7 Product Management Software Tools Overview
Red7 Product Management Software Tools OverviewRed7 Product Management Software Tools Overview
Red7 Product Management Software Tools Overview
 
Red7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models OverviewRed7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models Overview
 

Último

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
 
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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
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
 
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
 
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
 
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
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
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
 

Último (20)

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 ...
 
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
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
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 ☂️
 
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
 
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 ...
 
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
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
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...
 

Threat Modeling in DevSecOps SSDLC

  • 1. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 1 SOFTWARE APPLICATION SECURITY THREAT MODELING Threat Modeling in DevSecOps SSDLC robertGrupe, CISSP, CSSLP, PE, PMP Tags :: OWASP, Threat Modeling, Application, Software, Security, Development, AppSec, DevOps, DevSecOps, STRIDE, DREAD, SSDLC
  • 2. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 2 Table of Contents 1. Intro: SSDLC 2. Threat Modeling Process • Prerequisites • Decompose the application • Determine and Rank Threats • STRIDE • DREAD • Determine Countermeasures & Threats • ASF 3. Implementation • Tools
  • 3. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 3 INTRO
  • 4. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 4 Requirements (Scoping) Design Implementation (Development) Verification (Test) Release SSDLC (Secure Software Development Life Cycle) • AppSec Requirements (User Stories with Acceptance Criteria) • Security & Regulatory Risk Assessment • Frameworks Patterns • Analyze Attack Surface • Threat Modeling • Approved Tools • Deprecate Unsafe Functions • Static Analysis • Unit Tests/ User Story Acceptance • Dynamic Analysis • Fuzz Testing • Attack Surface Review • Penetration Testing • Deferred Defects Risk Acceptance • Go/No-Go Maintenance • Security Incident Response Plan Attack Surface Analysis: External attacks by Pen Tester with Architects Threat Modeling: External + Internal attacks with Risk Analysis
  • 5. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 5 Threat Modelling Process • 1. Decompose the application • 2. Determine and Rank Threats • STRIDE • 3. Determine Countermeasures & Threats • DREAD
  • 6. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 6 0. PRE-REQUISITES
  • 7. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 7 Pre-Requisites: Application Security Requirements Library (Controls) • Organization security policies, standards, and best practices • To comply with legal and regulatory requirements to do business • Privacy protections • SOX • Health care data • Partner requirements • PCI payment cards processing • Client requirements • Government • Industry certifications • Provide business continuity
  • 8. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 8 Threat Actors/Malicious Personas Library Types Motivation Objectives/Threats (STRIDE) Data Thief Financial gain from reselling user account information User accounts data, payment card details, personal identify information (SSN) Hacktevist Disruption, PR stunt Denial of Service, service disruption, exfiltrate confidential information, deface application, spoof mirroring Disgruntled Employee Spiteful revenge Organizational confidential information and intellectual property for unintended disclosure Business services disruption Data destruction Trolls/Vandals Fame, bragging Defacing screens, disrupting services Script Kiddie, Hacker, Unsolicited bounty hunter Knowledge, power Notoriety Privileged access into application and network Prosecuting Investigators Information for civil/legal prosecution Sensitive information access, privileged network access Journalist Obtaining confidential information about individuals or business User personal information Competitive spy Insights into product services and plans Intellectual property Organizational processes, data access, personal information Blackmailer Financial gain Control of application and data Bots/Screen Scrapers Unapproved mapping/reuse of application
  • 9. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 9 Abuse/Misuse Diagrams
  • 10. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 10 1. DECOMPOSE THE APPLICATION
  • 11. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 11 Project/Release Artifact: Threat Model Report • Cover • Application Name: The name of the application. • Application Version: The version of the application. • Description: A high level description of the application. • Document Owner: The owner of the threat modeling document. • Participants: The participants involved in the threat modeling process for this application. • Reviewer: The reviewer(s) of the threat model. • Analysis: Application Decomposition • Links to reference artifacts: version controlled, so don’t change later • Threats
  • 12. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 12 Decompose the Application • Objective: Identify • Assets & External Entities (systems & users) • External Dependencies (may pose threat) • Use Cases (entity communications) • Trust levels: Access Permissions • Tools • Context Diagram (External Dependency Entities, User Roles) • Unique IDs for each Asset, Entity • Description of each Asset, Entity • Data Flow Diagrams (DFDs) - paths through the system • Entry Points • Feature Use Case Process Flow Diagrams (PFDs) • User Roles & Permissions Matrix • External Entity Access Trust Levels
  • 13. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 13 Context Diagram (Functionality, Users, & External Entities)
  • 14. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 14 Data Flow Diagram: Application Example • Note: Consider all APIs and Content Delivery Networks (CDNs)
  • 15. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 15 Data Flow Diagram: Use Case Example
  • 16. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 16 Feature Use Case Process Flow Diagram
  • 17. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 17 Access Roles & Permissions Matrix Role Name Description Permission External Regular User External Group Manager Internal User Application Administrator Service 1, ...
  • 18. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 18 Entry Points & Trusts Table ID Name Description Trust Levels/User Roles 1 HTTPS Port The website will be only be accessible via TLS. All pages are layered on this entry point. (1) Anonymous Web User (2) User with Valid Login Credentials (3) User with Invalid Login Credentials (4) Librarian 1.1 Library Main Page The splash page for the college library website is the entry point for all users. (1) Anonymous Web User (2) User with Valid Login Credentials (3) User with Invalid Login Credentials (4) Librarian 1.2 Login Page Students, faculty members and librarians must log in to the college library website before they can carry out any of the use cases. (1) Anonymous Web User (2) User with Login Credentials (3) User with Invalid Login Credentials (4) Librarian 1.2.1 Login Function The login function accepts user supplied credentials and compares them with those in the database. (2) User with Valid Login Credentials (3) User with Invalid Login Credentials (4) Librarian 1.3 Search Entry Page The page used to enter a search query. (2) User with Valid Login Credentials (4) Librarian
  • 19. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 19 2. DETERMINE AND RANK THREATS
  • 20. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 20 STRIDE Threat List (Attacker Perspective) Type Threat Control Spoofing Illegally access and use another user's credentials, such as username and password. Authentication Tampering maliciously change/modify persistent data, such as persistent data in a database, and the alteration of data in transit between two computers over an open network, such as the Internet. Integrity Repudiation perform illegal operations in a system that lacks the ability to trace the prohibited operations. Non-Repudiation Information Disclosure read a file that one was not granted access to, or to read data in transit. Confidentiality Denial of Service deny access to valid users, such as by making a web server temporarily unavailable or unusable. Availability Elevation of Privilege gain privileged access to resources for gaining unauthorized access to information or to compromise a system. Authorization
  • 21. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 21 Other Application Threat Modeling Methodologies • PASTA • Process for Attack Simulation & Threat Assessment • Steps: 1. Define Biz objectives, 2. Define Tech Scope, 3. App Decomposition, 4. Threat Analysis, 5. Vulnerability Detection, 6. Attack Enumeration, 7. Risk/Impact Assessment • https://www.owasp.org/images/a/aa/AppSecEU2012_PASTA.pdf • VAST Visual, Simple, and Agile Threat modeling methodology (VAST) • Separate Application & Operational Data Flow Diagrams • http://threatmodeler.com/threat-modeling-methodology/ • Trike • Experimental, abandoned??
  • 22. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 22 Ranking Threats • Generic Risk Model • Risk = Impact * Likelihood • Impact • Damage potential • Number of affected components • Likelihood • Possibility • Degree of mitigation
  • 23. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 23 Risk Impact DREAD-D Average score from rating (10) each of the following: • Damage • How bad would an attack be? • Reproducibility • How easy is it to reproduce the attack? • Exploitability • How much work is it to launch the attack? • Affected users • How many people will be impacted? • Discoverability (omitted by many) • - How easy is it to discover the threat?
  • 24. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 24 Risk Impact Example • Threat: Malicious user views confidential information of students, faculty members and librarians. • Damage potential: Threat to reputation as well as financial and legal liability:8 • Reproducibility: Fully reproducible:10 • Exploitability: Require to be on the same subnet or have compromised a router:7 • Affected users: Affects all users:10 • Discoverability: Can be found out easily:10 • Overall DREAD score: (8+10+7+10+10) / 5 = 9  High
  • 25. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 25 Risk Likelihood • Values High, Medium, Low • Exploitation • Can an attacker exploit this remotely? • Does the attacker need to be authenticated? • Can the exploit be automated? • The impact mainly depends on the damage potential and the extent of the impact, such as the number of components that are affected by a threat. • Damage Potential • Can an attacker completely take over and manipulate the system? • Can an attacker gain administration access to the system? • Can an attacker crash the system? • Can the attacker obtain access to sensitive information such as secrets, PII • Examples to determine the number of components that are affected by a threat: • How many data sources and systems can be impacted? • How “deep” into the infrastructure can the threat agent go?
  • 26. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 26 3. DETERMINE COUNTERMEASURES & THREATS
  • 27. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 27 Threat and Control Trees
  • 28. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 28 Security Controls Checklist 1/4 Authentication: • Ensure all internal and external connections (user and entity) go through an appropriate and adequate form of authentication. Be assured that this control cannot be bypassed. • Ensure all pages enforce the requirement for authentication. • Ensure that whenever authentication credentials or any other sensitive information is passed, only accept the information via the HTTP “POST” method and will not accept it via the HTTP “GET” method. • Any page deemed by the business or the development team as being outside the scope of authentication should be reviewed in order to assess any possibility of security breach. • Ensure that authentication credentials do not traverse the wire in clear text form. • Ensure development/debug backdoors are not present in production code. Authorization: • Ensure that there are authorization mechanisms in place. • Ensure that the application has clearly defined the user types and the rights of said users. • Ensure there is a least privilege stance in operation. • Ensure that the Authorization mechanisms work properly, fail securely, and cannot be circumvented. • Ensure that authorization is checked on every request. • Ensure development/debug backdoors are not present in production code.
  • 29. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 29 Security Controls Checklist 2/4 • Cookie Management: • Ensure that sensitive information is not comprised. • Ensure that unauthorized activities cannot take place via cookie manipulation. • Ensure that proper encryption is in use. • Ensure secure flag is set to prevent accidental transmission over “the wire” in a non-secure manner. • Determine if all state transitions in the application code properly check for the cookies and enforce their use. • Ensure the session data is being validated. • Ensure cookies contain as little private information as possible. • Ensure entire cookie is encrypted if sensitive data is persisted in the cookie. • Define all cookies being used by the application, their name, and why they are needed. • Data/Input Validation: • Ensure that a DV mechanism is present. • Ensure all input that can (and will) be modified by a malicious user such as HTTP headers, input fields, hidden fields, drop down lists, and other web components are properly validated. • Ensure that the proper length checks on all input exist. • Ensure that all fields, cookies, http headers/bodies, and form fields are validated. • Ensure that the data is well formed and contains only known good chars if possible. • Ensure that the data validation occurs on the server side. • Examine where data validation occurs and if a centralized model or decentralized model is used. • Ensure there are no backdoors in the data validation model. • Golden Rule: All external input, no matter what it is, is examined and validated.
  • 30. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 30 Security Controls Checklist 3/4 • Error Handling/Information leakage: • Ensure that all method/function calls that return a value have proper error handling and return value checking. • Ensure that exceptions and error conditions are properly handled. • Ensure that no system errors can be returned to the user. • Ensure that the application fails in a secure manner. • Ensure resources are released if an error occurs. • Logging/Auditing: • Ensure that no sensitive information is logged in the event of an error. • Ensure the payload being logged is of a defined maximum length and that the logging mechanism enforces that length. • Ensure no sensitive data can be logged; e.g. cookies, HTTP “GET” method, authentication credentials. • Examine if the application will audit the actions being taken by the application on behalf of the client (particularly data manipulation/Create, Update, Delete (CUD) operations). • Ensure successful and unsuccessful authentication is logged. • Ensure application errors are logged. • Examine the application for debug logging with the view to logging of sensitive data.
  • 31. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 31 Security Controls Checklist 4/4 Cryptography: • Ensure no sensitive data is transmitted in the clear, internally or externally. • Ensure the application is implementing known good cryptographic methods. Secure Code Environment: • Examine the file structure. Are any components that should not be directly accessible available to the user? • Examine all memory allocations/de-allocations. • Examine the application for dynamic SQL and determine if it is vulnerable to injection. • Examine the application for “main()” executable functions and debug harnesses/backdoors. • Search for commented out code, commented out test code, which may contain sensitive information. • Ensure all logical decisions have a default clause. • Ensure no development environment kit is contained on the build directories. • Search for any calls to the underlying operating system or file open calls and examine the error possibilities. Session Management: • Examine how and when a session is created for a user, unauthenticated and authenticated. • Examine the session ID and verify if it is complex enough to fulfill requirements regarding strength. • Examine how sessions are stored: e.g. in a database, in memory etc. • Examine how the application tracks sessions. • Determine the actions the application takes if an invalid session ID occurs. • Examine session invalidation. • Determine how multithreaded/multi-user session management is performed. • Determine the session HTTP inactivity timeout. • Determine how the log-out functionality functions.
  • 32. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 32 Application Security Framework (ASF) (Defender Perspective) Threat Type Countermeasure Authentication Credentials and authentication tokens are protected with encryption in storage and transit ... Authorization Strong ACLs are used for enforcing authorized access to resources ... Configuration Management Least privileged processes are used and service accounts with no administration capability ... Data Protection in Storage and Transit Standard encryption algorithms and correct key sizes are being used Hashed message authentication codes (HMACs) are used to protect data integrity ... Data Validation / Parameter Validation Data type, format, length, and range checks are enforced ... Error Handling and Exception Management All exceptions are handled in a structured manner ... User and Session Management No sensitive information is stored in clear text in the cookie ... Auditing and Logging Sensitive information (e.g. passwords, PII) is not logged • Iterate through each component • Identify the controls for the application
  • 33. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 33 Threats and Controls Risk Management Determinations • Do nothing • Hope for the best • Inform about the risk • Warning user population about the risk • Terms of Use & Privacy Policy • Mitigate the risk • Put countermeasures in place • Security Requirements • Accept the risk • after evaluating the potential business impact • Transfer the risk • Contractual agreements and insurance • Terminate the risk • Shutdown, turn-off, unplug or decommission the asset
  • 34. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 34 SUMMARY PUTTING IT ALL TOGETHER
  • 35. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 35 So What? Why Threat Model? • Improved quality and execution: Shift-Left • Discover security defects early in the SDLC • Not having to redo work later • Verify & Identify Needed Security Control Requirements • Anticipated threats • Data & communication paths • Find issues automated testing can’t • Insecure functionality design • User identity, provisioning, and authorization • Functionality & events sequencing & timing responses • CI/CD • No weeks of final QA & remediation prior to Deployment • Compressed available time for traditional final Pen Testing • Doxing, attack planning, scenarios testing, reviewing results, determining fixes, refactoring designs, retesting
  • 36. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 36 Threat Model in the S/SDLC
  • 37. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 37 DevSecOps • User Stories • Assess Risks • Frameworks/Patterns • Attack Analysis • Threat Modeling • Approved Tools • Deprecate Functions • Static Analysis • Unit Tests • Dynamic Analysis • Fuzz Testing • Attack Review • Penetration Testing • Risk Acceptance • Go/No-Go • Logs • Alerts • Management • Usage • Changes • Vulnerabilities • Dashboards & Reports
  • 38. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 38 Software Assurance Maturity Model (SAMM): Where you are and want to go
  • 39. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 39 Phased Implementing Select and prioritize based on needs & resources... • Epic Organizational Controls • SDLC Design: Context Diagrams, Data Flows, Data Maps, User Role Privileges • Application Security Requirements Library • Policies: Legal & Regulatory requirements • Standards: Best practice implementation details • Malicious Actors/Personas Library • Risk Assessment Checklist • Epic Product/Project Enhancements & New Functionality (only) • Risk Assessments using Malicious Personas • Epic Decompose Complete Existing Applications • Attack Surface Analysis • Multi-OSI Layers • Epic Frameworks • Application Development Framework Analysis • Trusted Baseline: API’s, CDN’s, Data Stores • Epic Continuous Improvement
  • 40. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 40 Threat Modeling Tools • Microsoft Threat Modeling Tool 2016 • STRIDE methodology • MyAppSecurity ThreatModeler • VAST methodology • IriusRisk • Connects with several tools (OWASP ZAP, BDD-Security, Threadfix...) to empower automation • foreseeti securiCAD • Security Compass SD Elements • Mozilla SeaSponge (planned)
  • 41. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 41 Resources • OWASP Application Threat Modeling • https://www.owasp.org/index.php/Application_Threat_Modeling
  • 42. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 42 Finis • Robert Grupe, CISSP, CSSLP, PE, PMP • robert@rgrupe.com • +1.314.278.7901

Notas del editor

  1. Bio From Fortune 100 to start-up companies, Robert Grupe is an international professional with practitioner, leader, and consultant experience in market strategy, development, and support for global leaders in aerospace, electro-optic, information security, and health care industries. Robert is a registered Certified Information Security Professional (CISSP), Certified Secure Software Lifecycle Professional (CSSLP), and Project Management Professional (PMP).
  2. http://www.microsoft.com/en-us/sdl/default.aspx
  3. https://en.wikipedia.org/wiki/STRIDE_(security)
  4. https://en.wikipedia.org/wiki/Threat_model#Threat_Modeling_Tools https://www.microsoft.com/en-us/download/details.aspx?id=49168 http://threatmodeler.com/