State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell



Similar documents
Criteria for web application security check. Version

Check list for web developers

Chapter 1 Web Application (In)security 1

Hack Proof Your Webapps

Web application security

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

Rational AppScan & Ounce Products

The Top Web Application Attacks: Are you vulnerable?

(WAPT) Web Application Penetration Testing

Intrusion detection for web applications

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

Web Security Testing Cookbook*

Certified Secure Web Application Security Test Checklist

Lecture 11 Web Application Security (part 1)

Security vulnerabilities in new web applications. Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Arrow ECS University 2015 Radware Hybrid Cloud WAF Service. 9 Ottobre 2015

Where every interaction matters.

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Hack Yourself First. Troy troyhunt.com

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research

OWASP TOP 10 ILIA

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

THE SMARTEST WAY TO PROTECT WEBSITES AND WEB APPS FROM ATTACKS

Enterprise Application Security Workshop Series

Web Vulnerability Assessment Report

METHODS TO TEST WEB APPLICATION SCANNERS

Ruby on Rails Secure Coding Recommendations

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Web Application Penetration Testing

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

Essential IT Security Testing

Web Application Guidelines

Web Application Security

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Web Application Security

Conducting Web Application Pentests. From Scoping to Report For Education Purposes Only

Web Application Report

elearning for Secure Application Development

Adobe Systems Incorporated

What about MongoDB? can req.body.input 0; var date = new Date(); do {curdate = new Date();} while(curdate-date<10000)

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

Magento Security and Vulnerabilities. Roman Stepanov

MANAGED SECURITY TESTING

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Attack Vector Detail Report Atlassian

An Analysis of the Effectiveness of Black-Box Web Application Scanners in Detection of Stored XSSI Vulnerabilities

Mavituna Security Ltd. Finance House, 522A Uxbridge Rd. Pinner. HA5 3PU / UK

Data Breaches and Web Servers: The Giant Sucking Sound

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Web Application Vulnerability Testing with Nessus

Application Security Testing. Generic Test Strategy

Advanced Security for Systems Engineering VO 01: Web Application Security

Secure development and the SDLC. Presented By Jerry

ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST

Testing the OWASP Top 10 Security Issues

Web Application Security

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

Testnet Summerschool. Web Application Security Testing. Dave van Stein

Ethical Hacking as a Professional Penetration Testing Technique

OWASP Top Ten Tools and Tactics

DIPLOMA IN WEBDEVELOPMENT

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Project 2: Web Security Pitfalls

Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft

Web Application Security Considerations

SAP: Session (Fixation) Attacks and Protections

SANDCAT THE WEB APPLICATION SECURITY ASSESSMENT SUITE WHAT IS SANDCAT? MAIN COMPONENTS. Web Application Security

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6

SERENA SOFTWARE Serena Service Manager Security

Last update: February 23, 2004

HP WebInspect Tutorial

Web Security Threat Report: January April Ryan C. Barnett WASC Member Project Lead: Distributed Open Proxy Honeypots

Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0

Client logo placeholder XXX REPORT. Page 1 of 37

BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS

Cloud Security:Threats & Mitgations

Security Products Development. Leon Juranic

Web Application Security

IJMIE Volume 2, Issue 9 ISSN:

APPLICATION SECURITY AND ITS IMPORTANCE

05.0 Application Development

Vulnerability Scans Remote Support 15.1

Annual Web Application Security Report 2011

Web-Application Security

Transcription:

Stanford Computer Security Lab State of The Art: Automated Black Box Web Application Vulnerability Testing, Elie Bursztein, Divij Gupta, John Mitchell

Background Web Application Vulnerability Protection High incidence vulnerabilities (XSS, SQLI, ) Required for standards compliance (e.g PCI) XSS

Security Tools for Apps Vulnerability Detection Techniques: Manual vs. Automated White-Box vs. Black-Box Code review, Static analysis, Pen testing Automated Black Box Testing Cheaper? Less intrusive to workflow?

Scanner 1

Scanner 2

Goals of Study What vulnerabilities are tested by scanners? How representative are scanner tests of in-thewild vulnerabilities What can user expect from scanner? What is hard and needs more human review?

Non-Goals Not a product ranking Not a benchmark of particular tools

Take Aways How to take advantage of scanner How (If) to combine it with human audit What to expect as improvement

Outline Vulnerability categories tested by scanners How prevalent are these in the wild? Common application results Custom testbed design Custom testbed results Coverage Detection False Positives

Survey of Leading Products Local Remote >$100K total retail price

Vuln Categories From Scanners Category Cross Site Scripting SQL Injection Cross Channel Scripting (Other forms of injection) Session Management Cross-Site Request Forgery SSL/Server Config Info Leakage Example Vulnerabilities XSS SQLI Arbitrary File Upload Remote File Inclusion OS command Injection Session Fixation and Prediction Authentication Bypass CSRF Self-Signed Cert, HTTP Trace Temp file access, path traversal Error message disclosure

Test Vectors By Category Test Vector Percentage Distribution

Reported Vulnerabilities "In the Wild" Data from aggregator and validator of NVD-reported vulnerabilities

Scanners vs. In-the-Wild Top 4 for both: XSS SQLI XCS Info Leak Scanners have many more info leak vectors Easier to write?

Detecting Known Vulnerabilities Vulnerabilities for previous versions of Drupal, phpbb2, and WordPress Good: Info leak, Session (Anecdote from re-test) Decent: XSS/SQLI Poor: XCS, CSRF (low vector count?)

Our Custom Testbed Mainly built over summer by 1 undergrad in PHP Measure Performance o Test Duration / Network Traffic Measure Coverage o Links coded in various technologies (Flash, SilverLight,...) o Can scanner follow link? Measure Vulnerability Detection Rate o XSS (Type 1, Type 2, Advanced) o Session Management o SQLI (Type 1, Type 2) o Server/Crypto Config o Cross Channel Scripting o Information Leak o CSRF o Malware

Scanner Performance Performance did not correlate well with vulnerability detection

Scanner Page Coverage % Successful Link Traversals By Technology, Averaged over all Scanners

Vulnerability Detection Context?

XSS Testbed Type 1: Textbook Reflected Vulnerability User input, http header page w/o sanitization Type 2: Stored Vulnerability User input DB Served Page Some viewable only by different user Advanced Novel Tags: e.g. <object>, <prompt> Novel Channels: URL $_SERVER['PHP_SELF'] Filename error msg,

XSS Results Anecdote about Type 2

SQLI Testbed Type 1: User input SQLI on page generation o Basic: ; -- o Advanced:, LIKE, UNION Type 2: Input DB SQL Query o Only basic cases o Unsanitized form input (username) DB, later used in SQL query

SQLI Results

XCS Results Code Injection by Attacker Manipulate server or client browser Tests: o XPATH injection o Malicious File Upload o Direct Object Ref o Cross-Frame Scripting o Open Redirects o Server Side Includes o Header Injection o Flash Parameter Inject o SMTP Injection

CSRF Results Post-login forms o w/o hidden random token o with weak [0,9] token o with same token each time JSON Hijacking o No session id sent with AJAX request for sensitive data Anecdote: Told by one vendor CSRF not checked on purpose

Session Management Login / form errors o Login form not https o Reg. credentials in clear o Autocomplete pwd field o Weak pwds and pwd recovery question o Weak reg. page CAPTCHA Cookie errors o Not HttpOnly o Auth tokens not https o Persistent Auth token value MD5 (pwd) o Logout fails to clear cookie o Path restriction to '/'

Server/Crypto Mis-Config Server Mis-Config: o HTTP Trace enabled o open_basedir not set in php o allow_url_fopen set in php Crypto Mis-Config o Self Signed Cert o Weak SSL Cipher

Info Leak SQL error message Username existence Backup files Comment/Path Disclosure Path Traversal Inclusion of /etc/secret.txt

Malware Presence JavaScript key-logger on login page Malicious graphic uploaded by user o.jpg with appended PHP o Directly reference-able No Scanner Detected o Because not part of PCI compliance?

False Positives Testbed Traps o alert()s as site behavior (not part of injection) Scanners avoided o Benign (not-executed) region within <script> tags Tripped 2 scanners (reported 1 and 13 times) On a testbed of ~90 confirmed vulnerabilities Some scanners with low false positive rates also had high relative detection rates

Observations No individual scanner tops across all categories o Best XSS, SQLI Bottom 3 Session Management o Top 3 Session Management Found 0 SQLI o Rough break along XSS/SQLI/XCS and Session/Config/Info lines Scanners exist : o High Detection Rate, Low False Positive Rate o Low Detection Rate, High False Positive Rate o Low Detection Rate, Low False Positive Rate

Conclusions 1 XSS, SQLI, XCS, Info Leak most common in-the-wild Black Box Scanner "effort" roughly proportional to this Can improve coverage of technologies like Flash, SL Scanners relatively adept at detecting Historical vulnerabilities Textbook XSS and SQLI Info Leak, Session, and Server/Crypto Mis-config Easier test vectors to write/interpret

Conclusions 2 Can stand improvement on o CSRF, Malware, XCS Low test vector count Not vendor focus? o Advanced (novel) forms of XSS, SQLI Faster reactive process o Stored forms of XSS, SQLI (acknowledged by a CTO) Better DB modeling