SlideShare a Scribd company logo
Correct the most common
web development security mistakes
© 2015 Property of JurInnov Ltd. All Rights Reserved
Eric A. Vanderburg, MBA, CISSP
Director, Information Systems and Security
Computer Forensic and Investigation Services
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Security mistakes
• Current state
• Common web development mistakes
– Security misconfiguration
– URL access
– Redirects and forwards
– Direct object references
– Storage locations
– Transport layer
2
© 2015 Property of JurInnov Ltd. All Rights Reserved
Threats
Impacts
Threat and Impact
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Current state
 Average breach costs $214 per record
 Average organizational cost $7.2 million per
incident
 Risk and compliance budgets expected to
increase by 21%
4
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
$548 million
The US government
is increasing cyber
security R&D by 35%
to $548 million next
year
More organized
outside attacks
Facts and Figures
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Security misconfiguration
• Secure web servers and dependencies
• Source code repositories
• All credentials should change in production
6
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Impact
• Install backdoor through missing network or
server patch
• XSS flaw exploits due to missing application
framework patches
• Unauthorized access to default accounts,
application functionality or data, or unused but
accessible functionality due to poor server
configuration
7
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protection
• Verify your system’s configuration management
– Secure configuration “hardening”
– Must cover entire platform and application
– Keep up with patches for OS and components
– Analyze security effects of changes
• Can you export the application configuration
– Build reporting into your process
• Verify the implementation
– If you can’t verify it, it isn’t secure
– Scanning finds generic configuration and missing patch problems
8
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
URL access
• Failure to restrict URL access
• How it happens:
– Displaying only authorized links and menu
choices
– This is called presentation layer access control,
and doesn’t work
– Attacker simply forges direct access to
‘unauthorized’ pages
9
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Example
• Attacker notices the URL indicates his role
/user/getAccounts
• Attacker modifies it to another directory
/admin/getAccounts, or
/manager/getAccounts
10
• Attacker views more
accounts than just
their own
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Impact
• Attackers invoke functions and services they’re
not authorized for
• Access other user’s accounts and data
• Perform privileged actions
11
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protection
• For each URL, a site needs to do 3 things
– Restrict access to authenticated users (if not public)
– Enforce any user or role based permissions (if
private)
– Completely disallow requests to unauthorized page
types (e.g., config files, log files, source files, etc.)
• Verify your architecture
– Use a simple, positive modeevery layer
– Be sure you actually have a mechanism at l at every
layer
12
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Verify the implementation
• Forget automated analysis approaches
• Verify that each URL in your application is protected by
either
– An external filter, like Java EE web.xml or a commercial product
– Or internal checks in YOUR code – Use ESAPI’s
isAuthorizedForURL() method
• Verify the server configuration disallows requests to
unauthorized file types
• Use WebScarab or your browser to forge unauthorized
requests
13
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Redirects and forwards
• Unvalidated redirects and forwards
• Web application redirects send victims to a site
of the attacker’s choice
• Forwards
– They internally send the request to a new page in
the same application
– Sometimes parameters define the target page
– Used to bypass authentication and authorization
checks
14
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Impact
• Redirect victim to phishing or malware site
• Attacker’s request is forwarded past security
checks, allowing unauthorized function or data
access
15
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protecting redirects
• Avoid using redirects and forwards as much as you can
• If used, don’t involve user parameters in defining the
target URL
• If you ‘must’ involve user parameters, then either
– Validate each parameter to ensure its valid and
authorized for the current user, or
– (preferred) – Use server side mapping to translate
choice provided to user with actual target page
• Defense in depth: For redirects, validate the target URL
after it is calculated to make sure it goes to an
authorized external site
16
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protecting forwards
• Ideally, you’d call the access controller to make
sure the user is authorized before you perform
the forward (with ESAPI, this is easy)
• With an external filter, like Siteminder, this is not
very practical
• Next best is to make sure that users who can
access the original page are ALL authorized to
access the target page.
17
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Direct object references
• Insecure direct object references
• Caused by failed access control at the
presentation layer allowing attackers to modify
parameter values.
– Only listing the ‘authorized’ objects for the
current user, or
– Hiding the object references in hidden fields and
then not enforcing these restrictions on the
server side
18
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Impact
• Impact
– Unauthorized access
– Data breach
– Data corruption
19
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Example
• www.banking.com/user?acct=10579
• Attacker notices his acct parameter is 10579
?acct=10579
• He modifies it to a nearby number
?acct=10580
• Attacker views the victim’s account information
20
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protection techniques
• Eliminate the direct object reference
• Replace them with a temporary mapping value
• ESAPI provides support for numeric & random
mappings
» IntegerAccessReferenceMap
» RandomAccessReferenceMap
• Validate the direct object reference
• Verify the parameter value is properly formatted
• Verify the user is allowed to access the target object
• Verify the requested mode of access is allowed to the
target object (e.g., read, write, delete)
21
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Storage locations
• Insecure Cryptographic Storage
– Failure to identify all sensitive data
– Failure to identify all the places that this sensitive
data gets stored
– Databases, files, directories, log files, backups,
etc.
– Failure to properly protect this data in every
location
22
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Impact
• Attackers access or modify confidential or private
information
– e.g, credit cards, health care records, financial data
(yours or your customers)
• Attackers extract secrets to use in additional attacks
• Company embarrassment, customer dissatisfaction, and
loss of trust
• Expense of cleaning up the incident, such as forensics,
sending apology letters, reissuing thousands of credit
cards, providing identity theft insurance
• Business gets sued and/or fined
23
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protection techniques
• Verify your architecture
– Identify all sensitive data
– Identify all the places that data is stored
– Ensure threat model accounts for possible attacks
– Use encryption to counter the threats, don’t just ‘encrypt’
the data
• Protect with appropriate mechanisms
– File encryption, database encryption, data element
encryption
24
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protection techniques
• Use the mechanisms correctly
– Use standard strong algorithms
– Generate, distribute, and protect keys properly
– Be prepared for key change
• Verify the implementation
– A standard strong algorithm is used, and it’s the proper algorithm
for this situation
– All keys, certificates, and passwords are properly stored and
protected
– Safe key distribution and an effective plan for key change are in
place
– Analyze encryption code for common flaws
25
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Transport Layer
• Insufficient Transport Layer Protection
– Failure to identify all sensitive data
– Failure to identify all the places that this sensitive
data is sent
– On the web, to backend databases, to business
partners, internal communications
– Failure to properly protect this data in every
location
26
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Impact
• Attackers access or modify confidential or private
information
– e.g, credit cards, health care records, financial data
(yours or your customers)
• Attackers extract secrets to use in additional attacks
• Company embarrassment, customer dissatisfaction, and
loss of trust
• Expense of cleaning up the incident, such as forensics,
sending apology letters, reissuing thousands of credit
cards, providing identity theft insurance
• Business gets sued and/or fined
27
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
Protection techniques
• Protect with appropriate mechanisms
– Use TLS on all connections with sensitive data
– Individually encrypt messages before transmission (XML-
Encryption)
– Sign messages before transmission (XML-Signature)
• Correct use
– Use standard strong algorithms (disable old SSL
algorithms)
– Manage keys/certificates properly
– Verify SSL certificates before using them
28
© 2015 Property of JurInnov Ltd. All Rights Reserved
Questions
© 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved
For assistance or additional information
• Phone: 216-664-1100
• Web: www.jurinnov.com
• Email: eric.vanderburg@jurinnov.com
• Twitter: @evanderburg
• Facebook: www.facebook.com/VanderburgE
• Linkedin: www.linkedin.com/in/evanderburg
• Youtube: www.youtube.com/user/evanderburg
JurInnov Ltd.
The Idea Center
1375 Euclid Avenue, Suite 400
Cleveland, Ohio 44115

More Related Content

PPTX
Deconstructing website attacks - Eric Vanderburg
PPTX
The Prescription for Protection - Avoid Treatment Errors To The Malware Problem
PPTX
5 Möglichkeiten zur Verbesserung Ihrer Security
PPTX
Cloud Storage and Security: Solving Compliance Challenges
PPTX
MineMeld and the Importance of Centralized Threat Intelligence
PDF
The Anatomy of Comment Spam
PDF
Anatomy of the Compromised Insider
PDF
Why Your Organization Must Have a Cyber Risk Management Program and How to De...
Deconstructing website attacks - Eric Vanderburg
The Prescription for Protection - Avoid Treatment Errors To The Malware Problem
5 Möglichkeiten zur Verbesserung Ihrer Security
Cloud Storage and Security: Solving Compliance Challenges
MineMeld and the Importance of Centralized Threat Intelligence
The Anatomy of Comment Spam
Anatomy of the Compromised Insider
Why Your Organization Must Have a Cyber Risk Management Program and How to De...

What's hot (20)

PPTX
Cyber incident response or how to avoid long hours of testimony
PPTX
Threat Intelligence with Open Source Tools - Cornerstones of Trust 2014
PDF
Top 10 Bad Coding Practices Lead to Security Problems
PPTX
Cybersecurity Fundamentals for Legal Professionals
PPTX
Insider Threat Solution from GTRI
PDF
Building a Next-Generation Security Operations Center (SOC)
PPTX
Threat Hunting - Moving from the ad hoc to the formal
PPTX
Cyber Threat Intelligence
PDF
Bleeding Servers – How Hackers are Exploiting Known Vulnerabilities
PDF
Web Application Attack Report (Edition #1 - July 2011)
PPTX
Security Strategy and Tactic with Cyber Threat Intelligence (CTI)
PDF
The Value of Crowd-Sourced Threat Intelligence
PPTX
Ethical hacking
PDF
Setting up CSIRT
PDF
Ponemon Report: Cyber Security Incident Response: Are we as prepared as we th...
PDF
Chapter 15 incident handling
PPTX
More practical insights on the 20 critical controls
PDF
Hunting for cyber threats targeting weapon systems
PDF
BGA SOME/SOC Etkinliği - Kurumsal SOME’ler için SOC Modeli Nasıl Olmalı?
PPTX
Effective Security Operation Center - present by Reza Adineh
Cyber incident response or how to avoid long hours of testimony
Threat Intelligence with Open Source Tools - Cornerstones of Trust 2014
Top 10 Bad Coding Practices Lead to Security Problems
Cybersecurity Fundamentals for Legal Professionals
Insider Threat Solution from GTRI
Building a Next-Generation Security Operations Center (SOC)
Threat Hunting - Moving from the ad hoc to the formal
Cyber Threat Intelligence
Bleeding Servers – How Hackers are Exploiting Known Vulnerabilities
Web Application Attack Report (Edition #1 - July 2011)
Security Strategy and Tactic with Cyber Threat Intelligence (CTI)
The Value of Crowd-Sourced Threat Intelligence
Ethical hacking
Setting up CSIRT
Ponemon Report: Cyber Security Incident Response: Are we as prepared as we th...
Chapter 15 incident handling
More practical insights on the 20 critical controls
Hunting for cyber threats targeting weapon systems
BGA SOME/SOC Etkinliği - Kurumsal SOME’ler için SOC Modeli Nasıl Olmalı?
Effective Security Operation Center - present by Reza Adineh
Ad

Viewers also liked (12)

PPTX
Untangled Conference - November 8, 2014 - Security Awareness
PPTX
Hacktivism: Motivations, Tactics and Threats
PPTX
Countering malware threats - Eric Vanderburg
PPTX
A Guide to Secure Remote Access - Eric Vanderburg
PPTX
Computer Security Primer - Eric Vanderburg - JURINNOV
PPTX
Server Hardening Primer - Eric Vanderburg - JURINNOV
PPTX
Physical security primer - JURINNOV - Eric Vanderburg
PPTX
Understanding computer attacks and attackers - Eric Vanderburg - JURINNOV
PPTX
Preventing Fraud from Top to Bottom - Vanderburg, Gaddamanugu - Information S...
PPTX
Security Governance Primer - Eric Vanderburg - JURINNOV
PPTX
Ransomware: 2016's Greatest Malware Threat
PPTX
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
Untangled Conference - November 8, 2014 - Security Awareness
Hacktivism: Motivations, Tactics and Threats
Countering malware threats - Eric Vanderburg
A Guide to Secure Remote Access - Eric Vanderburg
Computer Security Primer - Eric Vanderburg - JURINNOV
Server Hardening Primer - Eric Vanderburg - JURINNOV
Physical security primer - JURINNOV - Eric Vanderburg
Understanding computer attacks and attackers - Eric Vanderburg - JURINNOV
Preventing Fraud from Top to Bottom - Vanderburg, Gaddamanugu - Information S...
Security Governance Primer - Eric Vanderburg - JURINNOV
Ransomware: 2016's Greatest Malware Threat
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
Ad

Similar to Correct the most common web development security mistakes - Eric Vanderburg (20)

PPTX
Securing the Web @RivieraDev2016
PDF
OWASP Top 10
PDF
Data security in the age of GDPR – most common data security problems
PPT
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
PDF
OWASP Top 10 List Overview for Web Developers
PPTX
Panama Papers Leak and Precautions Law firms should take
PPTX
Owasp top 10 2017
PPTX
Web and Mobile Application Security
PDF
OWASP TOP 10 by Team xbios
PPTX
Common sense in security
PDF
Application Security - Your Success Depends on it
PDF
C01461422
PDF
OWASP Poland Day 2018 - Anthony Fielding and William Jardine - Common App Vulns
PDF
PDF
OWASP Top Ten in Practice
PDF
A Multidimensional View of Critical Web Application Security Risks: A Novel '...
PDF
OWASP Top 10 2017
PDF
Essentials of Web Application Security: what it is, why it matters and how to...
PPTX
owasp features in secure coding techniques
Securing the Web @RivieraDev2016
OWASP Top 10
Data security in the age of GDPR – most common data security problems
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 List Overview for Web Developers
Panama Papers Leak and Precautions Law firms should take
Owasp top 10 2017
Web and Mobile Application Security
OWASP TOP 10 by Team xbios
Common sense in security
Application Security - Your Success Depends on it
C01461422
OWASP Poland Day 2018 - Anthony Fielding and William Jardine - Common App Vulns
OWASP Top Ten in Practice
A Multidimensional View of Critical Web Application Security Risks: A Novel '...
OWASP Top 10 2017
Essentials of Web Application Security: what it is, why it matters and how to...
owasp features in secure coding techniques

More from Eric Vanderburg (15)

PPTX
GDPR, Data Privacy and Cybersecurity - MIT Symposium
PPTX
Modern Security the way Equifax Should Have
PPTX
Cybercrime and Cyber Threats - CBLA - Eric Vanderburg
PPTX
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
PPTX
Mobile Forensics and Cybersecurity
PPT
Emerging Technologies: Japan’s Position
PPT
Principles of technology management
PPT
Japanese railway technology
PPT
Evaluating japanese technological competitiveness
PPT
Japanese current and future technology management challenges
PPT
Technology management in Japan: Robotics
PPT
Incident response table top exercises
PPTX
The security professional's guide to programming - Eric Vanderburg
PPTX
Guide to protecting networks - Eric Vanderburg
PPTX
Ethical hacking Chapter 12 - Encryption - Eric Vanderburg
GDPR, Data Privacy and Cybersecurity - MIT Symposium
Modern Security the way Equifax Should Have
Cybercrime and Cyber Threats - CBLA - Eric Vanderburg
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
Mobile Forensics and Cybersecurity
Emerging Technologies: Japan’s Position
Principles of technology management
Japanese railway technology
Evaluating japanese technological competitiveness
Japanese current and future technology management challenges
Technology management in Japan: Robotics
Incident response table top exercises
The security professional's guide to programming - Eric Vanderburg
Guide to protecting networks - Eric Vanderburg
Ethical hacking Chapter 12 - Encryption - Eric Vanderburg

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Modernizing your data center with Dell and AMD
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation theory and applications.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Modernizing your data center with Dell and AMD
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation theory and applications.pdf
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Correct the most common web development security mistakes - Eric Vanderburg

  • 1. Correct the most common web development security mistakes © 2015 Property of JurInnov Ltd. All Rights Reserved Eric A. Vanderburg, MBA, CISSP Director, Information Systems and Security Computer Forensic and Investigation Services
  • 2. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Security mistakes • Current state • Common web development mistakes – Security misconfiguration – URL access – Redirects and forwards – Direct object references – Storage locations – Transport layer 2
  • 3. © 2015 Property of JurInnov Ltd. All Rights Reserved Threats Impacts Threat and Impact
  • 4. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Current state  Average breach costs $214 per record  Average organizational cost $7.2 million per incident  Risk and compliance budgets expected to increase by 21% 4
  • 5. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved $548 million The US government is increasing cyber security R&D by 35% to $548 million next year More organized outside attacks Facts and Figures
  • 6. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Security misconfiguration • Secure web servers and dependencies • Source code repositories • All credentials should change in production 6
  • 7. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Impact • Install backdoor through missing network or server patch • XSS flaw exploits due to missing application framework patches • Unauthorized access to default accounts, application functionality or data, or unused but accessible functionality due to poor server configuration 7
  • 8. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protection • Verify your system’s configuration management – Secure configuration “hardening” – Must cover entire platform and application – Keep up with patches for OS and components – Analyze security effects of changes • Can you export the application configuration – Build reporting into your process • Verify the implementation – If you can’t verify it, it isn’t secure – Scanning finds generic configuration and missing patch problems 8
  • 9. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved URL access • Failure to restrict URL access • How it happens: – Displaying only authorized links and menu choices – This is called presentation layer access control, and doesn’t work – Attacker simply forges direct access to ‘unauthorized’ pages 9
  • 10. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Example • Attacker notices the URL indicates his role /user/getAccounts • Attacker modifies it to another directory /admin/getAccounts, or /manager/getAccounts 10 • Attacker views more accounts than just their own
  • 11. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Impact • Attackers invoke functions and services they’re not authorized for • Access other user’s accounts and data • Perform privileged actions 11
  • 12. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protection • For each URL, a site needs to do 3 things – Restrict access to authenticated users (if not public) – Enforce any user or role based permissions (if private) – Completely disallow requests to unauthorized page types (e.g., config files, log files, source files, etc.) • Verify your architecture – Use a simple, positive modeevery layer – Be sure you actually have a mechanism at l at every layer 12
  • 13. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Verify the implementation • Forget automated analysis approaches • Verify that each URL in your application is protected by either – An external filter, like Java EE web.xml or a commercial product – Or internal checks in YOUR code – Use ESAPI’s isAuthorizedForURL() method • Verify the server configuration disallows requests to unauthorized file types • Use WebScarab or your browser to forge unauthorized requests 13
  • 14. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Redirects and forwards • Unvalidated redirects and forwards • Web application redirects send victims to a site of the attacker’s choice • Forwards – They internally send the request to a new page in the same application – Sometimes parameters define the target page – Used to bypass authentication and authorization checks 14
  • 15. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Impact • Redirect victim to phishing or malware site • Attacker’s request is forwarded past security checks, allowing unauthorized function or data access 15
  • 16. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protecting redirects • Avoid using redirects and forwards as much as you can • If used, don’t involve user parameters in defining the target URL • If you ‘must’ involve user parameters, then either – Validate each parameter to ensure its valid and authorized for the current user, or – (preferred) – Use server side mapping to translate choice provided to user with actual target page • Defense in depth: For redirects, validate the target URL after it is calculated to make sure it goes to an authorized external site 16
  • 17. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protecting forwards • Ideally, you’d call the access controller to make sure the user is authorized before you perform the forward (with ESAPI, this is easy) • With an external filter, like Siteminder, this is not very practical • Next best is to make sure that users who can access the original page are ALL authorized to access the target page. 17
  • 18. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Direct object references • Insecure direct object references • Caused by failed access control at the presentation layer allowing attackers to modify parameter values. – Only listing the ‘authorized’ objects for the current user, or – Hiding the object references in hidden fields and then not enforcing these restrictions on the server side 18
  • 19. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Impact • Impact – Unauthorized access – Data breach – Data corruption 19
  • 20. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Example • www.banking.com/user?acct=10579 • Attacker notices his acct parameter is 10579 ?acct=10579 • He modifies it to a nearby number ?acct=10580 • Attacker views the victim’s account information 20
  • 21. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protection techniques • Eliminate the direct object reference • Replace them with a temporary mapping value • ESAPI provides support for numeric & random mappings » IntegerAccessReferenceMap » RandomAccessReferenceMap • Validate the direct object reference • Verify the parameter value is properly formatted • Verify the user is allowed to access the target object • Verify the requested mode of access is allowed to the target object (e.g., read, write, delete) 21
  • 22. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Storage locations • Insecure Cryptographic Storage – Failure to identify all sensitive data – Failure to identify all the places that this sensitive data gets stored – Databases, files, directories, log files, backups, etc. – Failure to properly protect this data in every location 22
  • 23. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Impact • Attackers access or modify confidential or private information – e.g, credit cards, health care records, financial data (yours or your customers) • Attackers extract secrets to use in additional attacks • Company embarrassment, customer dissatisfaction, and loss of trust • Expense of cleaning up the incident, such as forensics, sending apology letters, reissuing thousands of credit cards, providing identity theft insurance • Business gets sued and/or fined 23
  • 24. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protection techniques • Verify your architecture – Identify all sensitive data – Identify all the places that data is stored – Ensure threat model accounts for possible attacks – Use encryption to counter the threats, don’t just ‘encrypt’ the data • Protect with appropriate mechanisms – File encryption, database encryption, data element encryption 24
  • 25. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protection techniques • Use the mechanisms correctly – Use standard strong algorithms – Generate, distribute, and protect keys properly – Be prepared for key change • Verify the implementation – A standard strong algorithm is used, and it’s the proper algorithm for this situation – All keys, certificates, and passwords are properly stored and protected – Safe key distribution and an effective plan for key change are in place – Analyze encryption code for common flaws 25
  • 26. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Transport Layer • Insufficient Transport Layer Protection – Failure to identify all sensitive data – Failure to identify all the places that this sensitive data is sent – On the web, to backend databases, to business partners, internal communications – Failure to properly protect this data in every location 26
  • 27. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Impact • Attackers access or modify confidential or private information – e.g, credit cards, health care records, financial data (yours or your customers) • Attackers extract secrets to use in additional attacks • Company embarrassment, customer dissatisfaction, and loss of trust • Expense of cleaning up the incident, such as forensics, sending apology letters, reissuing thousands of credit cards, providing identity theft insurance • Business gets sued and/or fined 27
  • 28. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved Protection techniques • Protect with appropriate mechanisms – Use TLS on all connections with sensitive data – Individually encrypt messages before transmission (XML- Encryption) – Sign messages before transmission (XML-Signature) • Correct use – Use standard strong algorithms (disable old SSL algorithms) – Manage keys/certificates properly – Verify SSL certificates before using them 28
  • 29. © 2015 Property of JurInnov Ltd. All Rights Reserved Questions
  • 30. © 2015 Property of JurInnov Ltd. All Rights Reserved© 2015 Property of JurInnov Ltd. All Rights Reserved For assistance or additional information • Phone: 216-664-1100 • Web: www.jurinnov.com • Email: eric.vanderburg@jurinnov.com • Twitter: @evanderburg • Facebook: www.facebook.com/VanderburgE • Linkedin: www.linkedin.com/in/evanderburg • Youtube: www.youtube.com/user/evanderburg JurInnov Ltd. The Idea Center 1375 Euclid Avenue, Suite 400 Cleveland, Ohio 44115