SlideShare a Scribd company logo
1 of 42
OWASP Top 10 - 2017
Kun-Da Wu
2017.12.20
Outline
● Background
● What are changed?
● What are remainings?
● Observations
What is
OWASP?
Open Web Application Security Project (OWASP)
● International non-profit
Project to make web
applications more secure
● Independent, reputable
● Key goals
○ Awareness
○ Testing
○ Training
OWASP Top 10 Project
● One important output of OWASP
● An awareness document focus on identifying
most serious risks for a wide range of
organizations
2013/06/12
OWASP Top 10 - 2013 Final
Release
2017/05/20
OWASP Top 10 -2017
Data Call Announced
2017/10/20
OWASP Top 10 -2017
RC2 Published
2017/11/20
OWASP Top 10 -2017
Final Release
What changed from
2013 to 2017?
3 New Issues
1 Merged Issues
2 Retired Issues
What Changed from 2013 to 2017? - New Issues
What Changed from 2013 to 2017? - New Issues
Allows attackers to exploit vulnerable
XML processors
What Changed from 2013 to 2017? - New Issues
Allows attackers to exploit vulnerable
XML processors
How To Prevent XML External Entities?
● Use less complex data format such as JSON
● Patch all XML processors and libraries in use
○ Update SOAP to SOAP 1.2 or higher
● Disable XML external entity and DTD processin
● Whitelist server-side input validation
● Verify XML or XSL file upload functionality
● SAST tools can help detect XXE in source code
What Changed from 2013 to 2017? - New Issues
Permits remote code execution or
sensitive object manipulation on
affected platforms
What Changed from 2013 to 2017? - New Issues
Permits remote code execution or
sensitive object manipulation on
affected platforms
How To Prevent Insecure Deserialization?
● Not to accept serialized objects from untrusted sources
● Check integrity on any serialized objects
● Enforce strict type constraints during deserialization
● Isolate to run the deserialized code in low privilege
● Log deserialization exceptions and failures
● Restrict network connectivity from servers that deserialize
What Changed from 2013 to 2017? - New Issues
Lack of which can prevent or
significantly delay malicious activity and
breach detection, incident response,
and digital forensics
What Changed from 2013 to 2017? - New Issues
Lack of which can prevent or
significantly delay malicious activity and
breach detection, incident response,
and digital forensics
An attacker uses scans for users
using a common password. They can
take over all accounts using this
password.
For all other users, this scan leaves
only one false login behind. After
some days, this may be repeated
with a different password.
How To Prevent Insufficient Logging & Monitoring?
● Ensure all access failures can be logged
● Ensure logs are generated in a format that can be easily
consumed
● Ensure high-value transactions have an audit trail
● Establish effective alerting to respond in a timely
fashion
● Establish an incident response process such as NIST 800-
61 rev 2 or later
What Changed from 2013 to 2017? - Merged Issues
What Changed from 2013 to 2017? - Merged Issues
Considering a SQL call to access
account information
pstmt.setString(1, request.getParameter(“acct”));
ResultSet results = pstmt.executeQuery();
Attacker may simply modifies ‘acct’ in
the browser to send whatever account
number they want.
http://example.com/app/accountinfo?acct=notmyacct
How To Prevent Broken Access Control?
● With the exception of public resources, deny by default
● Re-use access control mechanism throughout the application
● Model access controls should enforce record ownership
● Unique business limit requirements should be enforced by domain models
● Disable web server directory listing
● Ensure file metadata, backup files are not presented within web roots
● Log access control failures, alert admins when necessary
● Rate limit API to minimize the harm from auto attack
● JWT tokens should be invalidated after logout
What Changed from 2013 to 2017? - Retired Issues
Many frameworks include CSRF
defenses, it was found in only 5%
applications
What Changed from 2013 to 2017? - Retired Issues
It was found in < 8% of
applications and edged out of
overall XXE
How About
Remainings?
NO.1 and NO.2 are Remaining
Injection Vulnerability
Occurs when untrusted data is sent to an
interpreter as part of command or query.
The attackers can trick the interpreter into
executing unintended commands
Injection Vulnerability
Occurs when untrusted data is sent to an
interpreter as part of command or query.
The attackers can trick the interpreter into
executing unintended commands
How To Prevent Injection?
● Keeping data separated from
commands and queries
○ Use a safe API
○ “Whitelist” server-side input
validation
○ Escape special characters using
specific escape syntax for the
interpreter
○ Use LIMIT and other SQL
controls within queries to
prevent mass disclosure of
records
Broken Authentication
Application functions related to
authentication and session management
are often implemented incorrectly,
allowing attackers to compromise
passwords, keys or session tokens.
Broken Authentication
Application functions related to
authentication and session management
are often implemented incorrectly,
allowing attackers to compromise
passwords, keys or session tokens.
How To Prevent Broken Authentication?
● Multi-factor authentication
● DO NOT ship any default
credentials
● Weak password check
● Harden registration,
credential recovery
● Limite or delay failed login
● Not to use Session IDs in
URL
Sensitive Data Exposure
Many web apps and APIs do not properly
protect sensitive data. Attackers may steal
or modify such weakly protected data to
conduct credit card fraud, identity theft or
other crimes.
Sensitive Data Exposure
Many web apps and APIs do not properly
protect sensitive data. Attackers may steal
or modify such weakly protected data to
conduct credit card fraud, identity theft or
other crimes.
How To Prevent Sensitive Data Exposure?
● Classify data processed, stored, or
transmitted by any application
● Apply controls per classification
● Don’t store unnecessary sensitive data
● Encrypt all sensitive data
● Ensure up-to-date and strong standard
algorithms, protocols, and keys are in
place
● Encrypt all data in transit with secure
protocols such as TLS with perfect
forward secrecy (PFS): HSTS
● Disable caching sensitive data
● Store password using strong adaptive
hashing functions such as Argon2,
scrypt, bcrypt, or PBKDF2
Security Misconfiguration
Security misconfiguration is commonly a
result of insecure default configurations,
incomplete or ad hoc configurations, open
cloud storage, misconfigured HTTP
headers and verbose error messages
containing sensitive data.
Security Misconfiguration
Security misconfiguration is commonly a
result of insecure default configurations,
incomplete or ad hoc configurations, open
cloud storage, misconfigured HTTP
headers and verbose error messages
containing sensitive data.
The application server comes with
sample applications that are not
removed from the production server.
These sample applications have known
security flaws, ex. default accounts
weren’t changed. Attackers may log in
with default passwords and takes over.
How To Prevent Security Misconfiguration?
● A repeatable hardening process that make it
fast and easy to deploy another environment
● Development, QA and production environment
should be configured identically with different
credentials used in each environment
● A minimal platform without unnecessary
features, components and samples
● A task to review and update configurations
appropriate to all security updates and patches
as part of patch management process
● A segmented application architecture that
provides effective, secure separations between
components
● An automated process to verify effectiveness of
configurations and settings in all environments
Cross-Site Scripting (XSS)
XSS occurs when an application includes
untrusted data in a new web page without
proper validation or escaping, or updates
an existing web page with user-supplied
data using a browser API that can create
HTML or Javascript.
Cross-Site Scripting (XSS)
XSS occurs when an application includes
untrusted data in a new web page without
proper validation or escaping, or updates
an existing web page with user-supplied
data using a browser API that can create
HTML or Javascript.
How To Prevent Cross-Site Scripting?
● Separate untrusted data from active
browser content
○ Using frameworks that automatically
escape XSS by design such as Ruby on
Rails, React JS
○ Escape untrusted HTTP request data based
on the context in HTML output
○ Enable a Content Security Policy is a
defense-in-depth mitigating control
against XSS
Using Components with Known Vulnerabilities
Components such as libraries,
frameworks, and other software modules,
run the same privileges as the
application.If a vulnerable component is
exploited, such an attack can facilitate
serious data loss or server takeover.
How To Prevent Using Components with Known Vulnerabilities?
● There should be a patch management
process
○ Remove unused dependencies, features,
components, files and doc
○ Continuously inventory the version of both
client and server components using tools
like versions, DependencyCheck, retire.js
○ Continuously monitor sources like CVE and
NVD for vulnerabilities in components
○ Only obtain components from official
sources over secure links
○ Monitor libraries and components that are
unmaintained or do not create security
patches for older versions
Observations ● Observation 1 Tainted data
remains a huge problem, as
we see in A1:Injection
● Observation 2 A3:Sensitive
Data Exposure is a great
place to start
○ For EU GDPR.
○ For any requirements around
privacy like PCI-DSS and
HIPAA.
~ Thank you ~
Q&A

More Related Content

What's hot

OWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New VulnerabilitiesOWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New VulnerabilitiesDilum Bandara
 
OWASP Top 10 - 2017
OWASP Top 10 - 2017OWASP Top 10 - 2017
OWASP Top 10 - 2017HackerOne
 
The New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseThe New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseSecurity Innovation
 
Owasp top 10 security threats
Owasp top 10 security threatsOwasp top 10 security threats
Owasp top 10 security threatsVishal Kumar
 
Web Application Vulnerabilities
Web Application VulnerabilitiesWeb Application Vulnerabilities
Web Application VulnerabilitiesPreetish Panda
 
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security RisksOWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security RisksAll Things Open
 
Owasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesOwasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesMarco Morana
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10bilcorry
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerCiNPA Security SIG
 
Web application security
Web application securityWeb application security
Web application securityKapil Sharma
 
Secure Web Applications Ver0.01
Secure Web Applications Ver0.01Secure Web Applications Ver0.01
Secure Web Applications Ver0.01Vasan Ramadoss
 
Beyond the OWASP Top 10
Beyond the OWASP Top 10Beyond the OWASP Top 10
Beyond the OWASP Top 10iphonepentest
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top TenSecurity Innovation
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) securityNahidul Kibria
 

What's hot (20)

OWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New VulnerabilitiesOWASP Top 10 2017 - New Vulnerabilities
OWASP Top 10 2017 - New Vulnerabilities
 
OWASP Top 10 - 2017
OWASP Top 10 - 2017OWASP Top 10 - 2017
OWASP Top 10 - 2017
 
Owasp first5 presentation
Owasp first5 presentationOwasp first5 presentation
Owasp first5 presentation
 
The New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseThe New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the Chase
 
OWASP Top Ten 2017
OWASP Top Ten 2017OWASP Top Ten 2017
OWASP Top Ten 2017
 
Owasp top 10 security threats
Owasp top 10 security threatsOwasp top 10 security threats
Owasp top 10 security threats
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 
Web Application Vulnerabilities
Web Application VulnerabilitiesWeb Application Vulnerabilities
Web Application Vulnerabilities
 
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security RisksOWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
 
Owasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesOwasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root Causes
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
 
Web security and OWASP
Web security and OWASPWeb security and OWASP
Web security and OWASP
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec Primer
 
OWASP TOP 10 & .NET
OWASP TOP 10 & .NETOWASP TOP 10 & .NET
OWASP TOP 10 & .NET
 
Web application security
Web application securityWeb application security
Web application security
 
Secure Web Applications Ver0.01
Secure Web Applications Ver0.01Secure Web Applications Ver0.01
Secure Web Applications Ver0.01
 
Beyond the OWASP Top 10
Beyond the OWASP Top 10Beyond the OWASP Top 10
Beyond the OWASP Top 10
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Web Application Security 101
Web Application Security 101Web Application Security 101
Web Application Security 101
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
 

Similar to OWASP Top 10 - 2017 Top 10 web application security risks

Threat Modeling for Web Applications (and other duties as assigned)
Threat Modeling for Web Applications (and other duties as assigned)Threat Modeling for Web Applications (and other duties as assigned)
Threat Modeling for Web Applications (and other duties as assigned)Mike Tetreault
 
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
 
Threat Modeling and OWASP Top 10 (2017 rc1)
Threat Modeling and OWASP Top 10 (2017 rc1)Threat Modeling and OWASP Top 10 (2017 rc1)
Threat Modeling and OWASP Top 10 (2017 rc1)Mike Tetreault
 
OWASP, Application Security
OWASP, Application Security OWASP, Application Security
OWASP, Application Security Dilip Sharma
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdfAbhi Jain
 
Security For Application Development
Security For Application DevelopmentSecurity For Application Development
Security For Application Development6502programmer
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelinesZakaria SMAHI
 
OWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersOWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersLewis Ardern
 
00. introduction to app sec v3
00. introduction to app sec v300. introduction to app sec v3
00. introduction to app sec v3Eoin Keary
 
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...apidays
 
owasp top 10 security risk categories and CWE
owasp top 10 security risk categories and CWEowasp top 10 security risk categories and CWE
owasp top 10 security risk categories and CWEArun Voleti
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Moataz Kamel
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsOlivier DASINI
 
Truetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web VulnerabilityTruetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web VulnerabilityTrueTesters
 
What’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINTWhat’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINTSplunk
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...DevOps.com
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...DevOps for Enterprise Systems
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Deborah Schalm
 
Measures to ensure Cyber Security in a serverless environment
Measures to ensure Cyber Security in a serverless environmentMeasures to ensure Cyber Security in a serverless environment
Measures to ensure Cyber Security in a serverless environmentFibonalabs
 
Secure code practices
Secure code practicesSecure code practices
Secure code practicesHina Rawal
 

Similar to OWASP Top 10 - 2017 Top 10 web application security risks (20)

Threat Modeling for Web Applications (and other duties as assigned)
Threat Modeling for Web Applications (and other duties as assigned)Threat Modeling for Web Applications (and other duties as assigned)
Threat Modeling for Web Applications (and other duties as assigned)
 
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
 
Threat Modeling and OWASP Top 10 (2017 rc1)
Threat Modeling and OWASP Top 10 (2017 rc1)Threat Modeling and OWASP Top 10 (2017 rc1)
Threat Modeling and OWASP Top 10 (2017 rc1)
 
OWASP, Application Security
OWASP, Application Security OWASP, Application Security
OWASP, Application Security
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdf
 
Security For Application Development
Security For Application DevelopmentSecurity For Application Development
Security For Application Development
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
 
OWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersOWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript Developers
 
00. introduction to app sec v3
00. introduction to app sec v300. introduction to app sec v3
00. introduction to app sec v3
 
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
 
owasp top 10 security risk categories and CWE
owasp top 10 security risk categories and CWEowasp top 10 security risk categories and CWE
owasp top 10 security risk categories and CWE
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
 
Truetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web VulnerabilityTruetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web Vulnerability
 
What’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINTWhat’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINT
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 
Measures to ensure Cyber Security in a serverless environment
Measures to ensure Cyber Security in a serverless environmentMeasures to ensure Cyber Security in a serverless environment
Measures to ensure Cyber Security in a serverless environment
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
 

Recently uploaded

Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 

Recently uploaded (20)

Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 

OWASP Top 10 - 2017 Top 10 web application security risks

  • 1. OWASP Top 10 - 2017 Kun-Da Wu 2017.12.20
  • 2. Outline ● Background ● What are changed? ● What are remainings? ● Observations
  • 4. Open Web Application Security Project (OWASP) ● International non-profit Project to make web applications more secure ● Independent, reputable ● Key goals ○ Awareness ○ Testing ○ Training
  • 5. OWASP Top 10 Project ● One important output of OWASP ● An awareness document focus on identifying most serious risks for a wide range of organizations 2013/06/12 OWASP Top 10 - 2013 Final Release 2017/05/20 OWASP Top 10 -2017 Data Call Announced 2017/10/20 OWASP Top 10 -2017 RC2 Published 2017/11/20 OWASP Top 10 -2017 Final Release
  • 6. What changed from 2013 to 2017? 3 New Issues 1 Merged Issues 2 Retired Issues
  • 7. What Changed from 2013 to 2017? - New Issues
  • 8. What Changed from 2013 to 2017? - New Issues Allows attackers to exploit vulnerable XML processors
  • 9. What Changed from 2013 to 2017? - New Issues Allows attackers to exploit vulnerable XML processors
  • 10. How To Prevent XML External Entities? ● Use less complex data format such as JSON ● Patch all XML processors and libraries in use ○ Update SOAP to SOAP 1.2 or higher ● Disable XML external entity and DTD processin ● Whitelist server-side input validation ● Verify XML or XSL file upload functionality ● SAST tools can help detect XXE in source code
  • 11. What Changed from 2013 to 2017? - New Issues Permits remote code execution or sensitive object manipulation on affected platforms
  • 12. What Changed from 2013 to 2017? - New Issues Permits remote code execution or sensitive object manipulation on affected platforms
  • 13. How To Prevent Insecure Deserialization? ● Not to accept serialized objects from untrusted sources ● Check integrity on any serialized objects ● Enforce strict type constraints during deserialization ● Isolate to run the deserialized code in low privilege ● Log deserialization exceptions and failures ● Restrict network connectivity from servers that deserialize
  • 14. What Changed from 2013 to 2017? - New Issues Lack of which can prevent or significantly delay malicious activity and breach detection, incident response, and digital forensics
  • 15. What Changed from 2013 to 2017? - New Issues Lack of which can prevent or significantly delay malicious activity and breach detection, incident response, and digital forensics An attacker uses scans for users using a common password. They can take over all accounts using this password. For all other users, this scan leaves only one false login behind. After some days, this may be repeated with a different password.
  • 16. How To Prevent Insufficient Logging & Monitoring? ● Ensure all access failures can be logged ● Ensure logs are generated in a format that can be easily consumed ● Ensure high-value transactions have an audit trail ● Establish effective alerting to respond in a timely fashion ● Establish an incident response process such as NIST 800- 61 rev 2 or later
  • 17. What Changed from 2013 to 2017? - Merged Issues
  • 18. What Changed from 2013 to 2017? - Merged Issues Considering a SQL call to access account information pstmt.setString(1, request.getParameter(“acct”)); ResultSet results = pstmt.executeQuery(); Attacker may simply modifies ‘acct’ in the browser to send whatever account number they want. http://example.com/app/accountinfo?acct=notmyacct
  • 19. How To Prevent Broken Access Control? ● With the exception of public resources, deny by default ● Re-use access control mechanism throughout the application ● Model access controls should enforce record ownership ● Unique business limit requirements should be enforced by domain models ● Disable web server directory listing ● Ensure file metadata, backup files are not presented within web roots ● Log access control failures, alert admins when necessary ● Rate limit API to minimize the harm from auto attack ● JWT tokens should be invalidated after logout
  • 20. What Changed from 2013 to 2017? - Retired Issues Many frameworks include CSRF defenses, it was found in only 5% applications
  • 21. What Changed from 2013 to 2017? - Retired Issues It was found in < 8% of applications and edged out of overall XXE
  • 23. NO.1 and NO.2 are Remaining
  • 24. Injection Vulnerability Occurs when untrusted data is sent to an interpreter as part of command or query. The attackers can trick the interpreter into executing unintended commands
  • 25. Injection Vulnerability Occurs when untrusted data is sent to an interpreter as part of command or query. The attackers can trick the interpreter into executing unintended commands
  • 26. How To Prevent Injection? ● Keeping data separated from commands and queries ○ Use a safe API ○ “Whitelist” server-side input validation ○ Escape special characters using specific escape syntax for the interpreter ○ Use LIMIT and other SQL controls within queries to prevent mass disclosure of records
  • 27. Broken Authentication Application functions related to authentication and session management are often implemented incorrectly, allowing attackers to compromise passwords, keys or session tokens.
  • 28. Broken Authentication Application functions related to authentication and session management are often implemented incorrectly, allowing attackers to compromise passwords, keys or session tokens.
  • 29. How To Prevent Broken Authentication? ● Multi-factor authentication ● DO NOT ship any default credentials ● Weak password check ● Harden registration, credential recovery ● Limite or delay failed login ● Not to use Session IDs in URL
  • 30. Sensitive Data Exposure Many web apps and APIs do not properly protect sensitive data. Attackers may steal or modify such weakly protected data to conduct credit card fraud, identity theft or other crimes.
  • 31. Sensitive Data Exposure Many web apps and APIs do not properly protect sensitive data. Attackers may steal or modify such weakly protected data to conduct credit card fraud, identity theft or other crimes.
  • 32. How To Prevent Sensitive Data Exposure? ● Classify data processed, stored, or transmitted by any application ● Apply controls per classification ● Don’t store unnecessary sensitive data ● Encrypt all sensitive data ● Ensure up-to-date and strong standard algorithms, protocols, and keys are in place ● Encrypt all data in transit with secure protocols such as TLS with perfect forward secrecy (PFS): HSTS ● Disable caching sensitive data ● Store password using strong adaptive hashing functions such as Argon2, scrypt, bcrypt, or PBKDF2
  • 33. Security Misconfiguration Security misconfiguration is commonly a result of insecure default configurations, incomplete or ad hoc configurations, open cloud storage, misconfigured HTTP headers and verbose error messages containing sensitive data.
  • 34. Security Misconfiguration Security misconfiguration is commonly a result of insecure default configurations, incomplete or ad hoc configurations, open cloud storage, misconfigured HTTP headers and verbose error messages containing sensitive data. The application server comes with sample applications that are not removed from the production server. These sample applications have known security flaws, ex. default accounts weren’t changed. Attackers may log in with default passwords and takes over.
  • 35. How To Prevent Security Misconfiguration? ● A repeatable hardening process that make it fast and easy to deploy another environment ● Development, QA and production environment should be configured identically with different credentials used in each environment ● A minimal platform without unnecessary features, components and samples ● A task to review and update configurations appropriate to all security updates and patches as part of patch management process ● A segmented application architecture that provides effective, secure separations between components ● An automated process to verify effectiveness of configurations and settings in all environments
  • 36. Cross-Site Scripting (XSS) XSS occurs when an application includes untrusted data in a new web page without proper validation or escaping, or updates an existing web page with user-supplied data using a browser API that can create HTML or Javascript.
  • 37. Cross-Site Scripting (XSS) XSS occurs when an application includes untrusted data in a new web page without proper validation or escaping, or updates an existing web page with user-supplied data using a browser API that can create HTML or Javascript.
  • 38. How To Prevent Cross-Site Scripting? ● Separate untrusted data from active browser content ○ Using frameworks that automatically escape XSS by design such as Ruby on Rails, React JS ○ Escape untrusted HTTP request data based on the context in HTML output ○ Enable a Content Security Policy is a defense-in-depth mitigating control against XSS
  • 39. Using Components with Known Vulnerabilities Components such as libraries, frameworks, and other software modules, run the same privileges as the application.If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover.
  • 40. How To Prevent Using Components with Known Vulnerabilities? ● There should be a patch management process ○ Remove unused dependencies, features, components, files and doc ○ Continuously inventory the version of both client and server components using tools like versions, DependencyCheck, retire.js ○ Continuously monitor sources like CVE and NVD for vulnerabilities in components ○ Only obtain components from official sources over secure links ○ Monitor libraries and components that are unmaintained or do not create security patches for older versions
  • 41. Observations ● Observation 1 Tainted data remains a huge problem, as we see in A1:Injection ● Observation 2 A3:Sensitive Data Exposure is a great place to start ○ For EU GDPR. ○ For any requirements around privacy like PCI-DSS and HIPAA.
  • 42. ~ Thank you ~ Q&A

Editor's Notes

  1. https://pentesterlab.com/exercises/play_xxe/course https://securitytraning.com/xml-external-entity-xxe-xml-injection-web-for-pentester/
  2. https://pentesterlab.com/exercises/play_xxe/course https://securitytraning.com/xml-external-entity-xxe-xml-injection-web-for-pentester/
  3. SAST: https://www.owasp.org/index.php/Source_Code_Analysis_Tools
  4. https://iacquaint.blogspot.tw/2015/12/look-out-java-deserialization.html
  5. https://iacquaint.blogspot.tw/2015/12/look-out-java-deserialization.html
  6. NIST 800-61 rev 2: https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final
  7. https://www.incapsula.com/web-application-security/csrf-cross-site-request-forgery.html https://www.darknet.org.uk/2017/07/all-you-need-to-know-about-cross-site-request-forgery-csrf/
  8. https://www.incapsula.com/web-application-security/csrf-cross-site-request-forgery.html https://www.darknet.org.uk/2017/07/all-you-need-to-know-about-cross-site-request-forgery-csrf/
  9. SQL : SELECT LIMIT usage: https://www.techonthenet.com/sql/select_limit.php
  10. HSTS: https://www.owasp.org/index.php/HTTP_Strict_Transport_Security_Cheat_Sheet Argon2: https://www.cryptolux.org/index.php/Argon2 Scrypt: https://en.wikipedia.org/wiki/Scrypt Bcrypt: https://en.wikipedia.org/wiki/Bcrypt PBKDF2: https://en.wikipedia.org/wiki/PBKDF2
  11. https://www.acunetix.com/blog/articles/blind-xss/
  12. Versions: http://www.mojohaus.org/versions-maven-plugin/ DependencyCheck: https://www.owasp.org/index.php/OWASP_Dependency_Check Retire.js: https://github.com/retirejs/retire.js/ CVE: https://cve.mitre.org/ NVD: https://nvd.nist.gov/