SlideShare a Scribd company logo
Security Vulnerabilities
Decomposition:
Another way to look at Vulnerabilities
Katy Anton
@KatyAnton
OWASP Top 10
@KatyAnton
Application Security Team
After Report
@KatyAnton
Software Development Team
After Report
@KatyAnton
• SQL Injection: mentioned in 1998 in Phrack magazine
• XSS: Described in 1999 by Microsoft
Injection
2004 2009 2010 2013 2017
Injection A6 A2 A1 A1 A1
@KatyAnton
• Software development background
• Project co-leader for
OWASP Top 10 Proactive Controls
(@OWASPControls)
• OWASP Bristol Chapter Leader
• Principal AppSec Consultant
Katy Anton
@KatyAnton
Common Weakness Enumeration
A formal list of software security weaknesses in:
- architecture
- design
- code
Source:cwe.mitre.org
@KatyAnton
Source: https://nvd.nist.gov/vuln/categories/cwe-layout
NVD - CWE Categories
@KatyAnton
Injection
@KatyAnton
CWEs in Injection Category
CWE-93: CRLF Injection
CWE-74
Injection
CWE-943:Improper Neutr. of Special El in Query
CWE-94: Code Injection
CWE-91:	XML	Injection
CWE-79: XSS
CWE-77: Commmand Injection
CWE-89: SQL Injection
CWE-90: LDAP Injection
Source: NVD
CWE-78: OS Cmd Inj
CWE-88: Argument Inj
@KatyAnton
@KatyAnton
Another way to look at Vulnerabilities
@KatyAnton
Decompose the Injection
Data interpreted as Code
Input Parser Output
Get / Post Data
File Uploads
HTTP Headers
Database Data
Config files
SQL Parser
HTML Parser
XML Parser
Shell
LDAP Parser
SQL
HTML
XML
Bash Script
LDAP Query
@KatyAnton
Extract Security Controls
Vulnerability Encode Output Parameterize Validate Input
SQL Injection ☑ ☑
XSS ☑ ☑
XML Injection ☑ ☑
Code Injection ☑ ☑
LDAP Injection ☑ ☑
Cmd Injection ☑ ☑
Primary Controls Defence in depth
InputParserOutput
@KatyAnton
Intrusions
(or lack of Intrusion Detection)
“If a pen tester is able to get into a system without being detected,
then there is insufficient logging and monitoring in place“
@KatyAnton
The	security	control	developers	can	use	to	
log	security	information	during	the	runtime	
operation	of	an	application.	
Security Controls: Security Logging
@KatyAnton
Good attack identifiers:
1. Authorisation failures
2. Authentication failures
3. Client-side input validation bypass
4. Whitelist input validation failures
5. Obvious code injection attack
6. High rate of function use
Source: https://www.owasp.org/index.php/AppSensor_DetectionPoints
Best Types of Detection Points
@KatyAnton
Request Exceptions
• Application receives GET when expecting POST
• Additional form/URL parameters submitted
Authentication Exceptions
• POST request with only the username variable. The
password variable has been removed.
• Additional variables received during an authentication
request (like ‘admin=true’')
Input Exceptions
• Input validation failure on server despite client-side validation
• Input validation failure on server side on non-user editable
parameters (hidden fields, checkboxes, radio buttons, etc)
Source: https://www.owasp.org/index.php/AppSensor_DetectionPoints
Examples of Intrusion Detection Points
@KatyAnton
Secure Data Handling: Basic Workflow
Application Server
Operating System
Software Application
Param
Queries
Encode outputValidate Data
Log Exceptions
@KatyAnton
Sensitive Date Exposure
Data at Rest and in Transit
@KatyAnton
Storage by Data Types
Data Types Encryption Hashing
Data at Rest: Requires initial value
E.q: credit card ☑
Data at Rest: Does not require
initial value
E.q: user passwords
☑
Data in Transit ☑
@KatyAnton
How Not to Do it !
Data at Rest: Design Vulnerability Example
encryption_key = PBKF2(pwd, salt, iterations, key_length);
In the same folder - 2 file:
The content of password.txt:
@KatyAnton
Encryption
Cryptographic Storage
Strong Encryption Algorithm: AES
Key Management
• Store unencrypted keys away from the encrypted data.
• Protect keys in Key Vault (Hashicorp Vault/Amazon KMS)
• Keep away from home-grown key management solutions.
• Define a key lifecycle.
• Build support for changing algorithms and keys when
needed
• Document procedures for managing keys through the
lifecycle
Source: https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet
Security Controls: Data at Rest
@KatyAnton
Security Controls: Data in Transit
TLS TLS
Application Server
Operating System
Software Application
Application Server —> Non-browser
components
Client —> Application server
@KatyAnton
Third Party Components
Using Software Components with Known Vulnerabilities
@KatyAnton
The type of software with vulnerable components:
• Difficult to understand
• Easy to break
• Difficult to test
• Difficult to upgrade
• Increase technical debt
Root Cause
@KatyAnton
Sum of the total different points
through which a malicious
actor can try to enter data into
or extract data from a system.
What is Attack Surface?
@KatyAnton
Minimize the attack surface.
Source: https://www.owasp.org/index.php/Security_by_Design_Principles
Fundamental Security Principle
@KatyAnton
Examples of external components:
1. Open source libraries - for example: a logging library
2. APIs - for example: vendor APIs
3. Libraries / packages by another team within same
company
Components Examples
@KatyAnton
• Third-party - provides logging levels:
FATAL, ERROR, WARN, INFO, DEBUG.
• We need only:
DEBUG, WARN, INFO.
Ex1:Implement a Logging Library
@KatyAnton
Simple Wrapper
Module
Module
Interface
Module
Module
Module
Library
Module
Module
Helps to:
• Expose only the functionality required.
• Hide unwanted behaviour.
• Reduce the attack surface area.
• Update / replace libraries.
• Reduce the technical debt.
@KatyAnton
Scenario:
• Vendor APIs - like payment gateways
• Can have more than one payment gateway in
an application
• Required to be inter-changeable
Ex2: Implement a Payment Gateway
@KatyAnton
• Converts from provided interface to
the required interface.
• A single Adapter interface can work
with many Adaptees.
• Easy to maintain.
Adapter Design Pattern
Your Code
Third-party code
Adapter
@KatyAnton
• Libraries / packages created by another team
within same company
• Re-used by multiple applications
• Common practice in large companies
Ex3: Implement a Single Sign-On
@KatyAnton
• Simplifies the interaction with a
complex sub-system
• Make easier to use a poorly
designed API
• It can hide away the details from
the client.
• Reduces dependencies on the
outside code.
Façade Design Pattern
@KatyAnton
Secure Software Starts from Design!
Façade Pattern
To simplify the
interaction with a
complex sub-system.
Adapter Pattern
To convert from the
required interface to
provided interface
Your Code
Third-Party Code
Adapter
Wrapper
To expose only the
required functionality and
hide unwanted behaviour.
Third-Party Library
Your code
Module
Module
Module
Module
Module
Module
Module
Interface
@KatyAnton
Environment
Misconfiguration
@KatyAnton
• During Development:
• Use dedicated users with same privileges as in production
• Follow the “Least privilege” security principle
• During Deployment: Check for privileges
• Infrastructure-as-Code (IaC)
• After Deployment: Adopt configuration management
• Provide continuous configuration scanning across servers
to identify and remediate misconfigurations
Configuration Hardening
@KatyAnton
Final Takeaways
CWEs
@KatyAnton
Final Takeaways
CWEs
Focus on
Security
Controls
which prevent
@KatyAnton
Final Takeaways
Verify	Early	and	
Often CWEs
Focus on
Security
Controls
@KatyAnton
Security Controls for Secure Development
Application Server
Operating System
Software Application
Param
Queries
Encode
output
TLS
Validate
Input
TLS
TLS
OS CommandLogs
Log Exception Param Data
Secure Date Key
Management
Solution
Encapsulation
Harden
Parser
XML
Configuration
Hardening
Thank you
Katy Anton
@KatyAnton

More Related Content

PDF
Shopify’s $25k Bug Report, and the Cluster Takeover That Didn’t Happen
PDF
OAuth 2.0 Security Reinforced
PPTX
Getting Started in Pentesting the Cloud: Azure
PPTX
Covert Attack Mystery Box: A few novel techniques for exploiting Microsoft “f...
PDF
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
PPTX
Weaponizing Corporate Intel: This Time, It's Personal!
PPTX
Troopers 19 - I am AD FS and So Can You
PPTX
Pentest Apocalypse
Shopify’s $25k Bug Report, and the Cluster Takeover That Didn’t Happen
OAuth 2.0 Security Reinforced
Getting Started in Pentesting the Cloud: Azure
Covert Attack Mystery Box: A few novel techniques for exploiting Microsoft “f...
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
Weaponizing Corporate Intel: This Time, It's Personal!
Troopers 19 - I am AD FS and So Can You
Pentest Apocalypse

What's hot (20)

PDF
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
PPTX
Deep thoughts from the real world of azure
PPTX
The Power of Social Login
PPTX
BHUSA 2021 - Cloud with a Chance of APT
PPT
Android secure coding
PPT
iOS Application Security Testing
PPTX
Pricing and Revenue Projection in a Cloud-Centric World
PPT
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
PDF
Are You Properly Using JWTs?
PPT
Android attacks
PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
PDF
Mobile Application Scan and Testing
PDF
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
PPTX
Azure Key Vault with a PaaS Architecture and ARM Template Deployment
PPT
Html5 on mobile
PPT
Applciation footprinting, discovery and enumeration
PPTX
Secure API Services in Node with Basic Auth and OAuth2
PDF
WEBINAR: Positive Security for APIs: What it is and why you need it!
PDF
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
PPTX
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
Deep thoughts from the real world of azure
The Power of Social Login
BHUSA 2021 - Cloud with a Chance of APT
Android secure coding
iOS Application Security Testing
Pricing and Revenue Projection in a Cloud-Centric World
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
Are You Properly Using JWTs?
Android attacks
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
Mobile Application Scan and Testing
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
Azure Key Vault with a PaaS Architecture and ARM Template Deployment
Html5 on mobile
Applciation footprinting, discovery and enumeration
Secure API Services in Node with Basic Auth and OAuth2
WEBINAR: Positive Security for APIs: What it is and why you need it!
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
Ad

Similar to Security vulnerabilities decomposition (20)

PDF
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
PPTX
The path of secure software by Katy Anton
ODP
Break it while you make it: writing (more) secure software
PPTX
How to Test for The OWASP Top Ten
PDF
Tips to Reduce the Attack Surface When Using Third-Party Libraries
PPTX
Security engineering 101 when good design & security work together
PDF
owasp-top-10 presentation dhs ad health .
PDF
The automated (ethical) hacker in you - test automation day nl 2018
PDF
What Every Developer And Tester Should Know About Software Security
PDF
A talk on OWASP Top 10 by Mukunda Tamly
PPTX
Web security-–-everything-we-know-is-wrong-eoin-keary
PPTX
owasp top 10 security risk categories and CWE
PDF
Application Security - Your Success Depends on it
PDF
IBM Cloud Paris meetup 20180329 - Security in a Software Lab Dev
PDF
Designing Secure APIs
PPTX
DevBeat 2013 - Developer-first Security
PDF
SecDevOps for API Security
PDF
Stop expecting magic fairy dust: Make apps secure by design
PDF
WebApp_to_Container_Security.pdf
PPT
SoftwareSecurity.ppt
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
The path of secure software by Katy Anton
Break it while you make it: writing (more) secure software
How to Test for The OWASP Top Ten
Tips to Reduce the Attack Surface When Using Third-Party Libraries
Security engineering 101 when good design & security work together
owasp-top-10 presentation dhs ad health .
The automated (ethical) hacker in you - test automation day nl 2018
What Every Developer And Tester Should Know About Software Security
A talk on OWASP Top 10 by Mukunda Tamly
Web security-–-everything-we-know-is-wrong-eoin-keary
owasp top 10 security risk categories and CWE
Application Security - Your Success Depends on it
IBM Cloud Paris meetup 20180329 - Security in a Software Lab Dev
Designing Secure APIs
DevBeat 2013 - Developer-first Security
SecDevOps for API Security
Stop expecting magic fairy dust: Make apps secure by design
WebApp_to_Container_Security.pdf
SoftwareSecurity.ppt
Ad

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
Teaching material agriculture food technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Cloud computing and distributed systems.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
Teaching material agriculture food technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Cloud computing and distributed systems.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools
Dropbox Q2 2025 Financial Results & Investor Presentation
A comparative analysis of optical character recognition models for extracting...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf

Security vulnerabilities decomposition