Hacking the EULA: Reverse Benchmarking Web Application Security Scanners Toorcon 2007.

Slides:



Advertisements
Similar presentations
Bringing Procedural Knowledge to XLIFF Prof. Dr. Klemens Waldhör TAUS Labs & FOM University of Applied Science FEISGILTT 16 October 2012 Seattle, USA.
Advertisements

Closing the Gap: Analyzing the Limitations of Web Application Vulnerability Scanners David Shelly Randy Marchany Joseph Tront Virginia Polytechnic Institute.
© 2008 Security Compass inc. 1 Firefox Plug-ins for Application Penetration Testing Exploit-Me.
 The Citrix Application Firewall prevents security breaches, data loss, and possible unauthorized modifications to Web sites that access sensitive business.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Lesson 14-Desktop Protection. Overview Protect against malicious code. Use the Internet. Protect against physical tampering.
SWE Introduction to Software Engineering
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
GUIDE TO BIOMETRICS CHAPTER I & II September 7 th 2005 Presentation by Tamer Uz.
Illinois Institute of Technology
Testing an individual module
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
1 Detecting Logic Vulnerabilities in E- Commerce Applications Presenter: Liu Yin Slides Adapted from Fangqi Sun Computer Science Department College of.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
This is a work of the U.S. Government and is not subject to copyright protection in the United States. The OWASP Foundation OWASP AppSec DC October 2005.
SiteLock Internet Security: Big Threats for Small Business.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Web Application Security Assessment and Vulnerability Assessment.
Glass Box Testing: Thinking Inside the Box Omri Weisman Manager, Security Research Group IBM Rational.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Securing Legacy Software SoBeNet User group meeting 25/06/2004.
Web Security Demystified Justin C. Klein Keane Sr. InfoSec Specialist University of Pennsylvania School of Arts and Sciences Information Security and Unix.
Reverse Benchmarking -- Tom Stracener, Sr. Security Analyst, Cenzic Inc. Toorcon 9.
Chirag N. Modi and Prof. Dhiren R. Patel NIT Surat, India Ph. D Colloquium, CSI-2011 Signature Apriori based Network.
Is Your Website Hackable? Check with Acunetix Web Vulnerability Scanner. Acunetix Web Vulnerability Scanner V9.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
14 Publishing a Web Site Section 14.1 Identify the technical needs of a Web server Evaluate Web hosts Compare and contrast internal and external Web hosting.
Penetration Testing James Walden Northern Kentucky University.
An XPath-based Preference Language for P3P IBM Almaden Research Center Rakesh Agrawal Jerry Kiernan Ramakrishnan Srikant Yirong Xu.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Introduction to XML. XML - Connectivity is Key Need for customized page layout – e.g. filter to display only recent data Downloadable product comparisons.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Tom Castiglia Hershey Technologies
Providing Policy Control Over Object Operations in a Mach Based System By Abhilash Chouksey
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
Event Management & ITIL V3
Session Management Security and Applied Reverse Benchmarking - Tom Stracener, Sr. Security Analyst, Cenzic Inc. November 2007.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
MIS 424 Professor Sandvig. Overview  Why Analytics?  Two major approaches:  Server logs  Google Analytics.
 Architecture and Description Of Module Architecture and Description Of Module  KNOWLEDGE BASE KNOWLEDGE BASE  PRODUCTION RULES PRODUCTION RULES 
 Chapter 14 – Security Engineering 1 Chapter 12 Dependability and Security Specification 1.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Biologically Inspired Defenses against Computer Viruses International Joint Conference on Artificial Intelligence 95’ J.O. Kephart et al.
Beyond negative security Signatures are not always enough Or Katz Trustwave ot.com/
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
Web Logic Vulnerability By Eric Jizba and Yan Chen With slides from Fangqi Sun and Giancarlo Pellegrino.
Software Security Without The Source Code By Matt Hargett.
Module 7: Advanced Application and Web Filtering.
Quick overview of ASP.NET Ajax Ajax deep-dive Cover some key real-world problems Discuss solutions, patterns, opportunities Lots of demos And more of.
Vulnerability Scanning Vulnerability scanners are automated tools that scan hosts and networks for known vulnerabilities and weaknesses Credentialed vs.
Web Security Group 5 Adam Swett Brian Marco. Why Web Security? Web sites and web applications constantly growing Complex business applications are now.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Reverse Engineering. Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates.
Software Quality Assurance and Testing Fazal Rehman Shamil.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
Website Update and Use of Official accounts Dr.Lasantha Ranwala ( MBBS,MSc-Biomedical Informatics) Medical Officer - Health Informatics RDHS Office.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
Semantic Web Technologies Readings discussion Research presentations Projects & Papers discussions.
Lecture 19 Page 1 CS 236 Online 6. Application Software Security Why it’s important: –Security flaws in applications are increasingly the attacker’s entry.
Software Testing.
Rekayasa Perangkat Lunak Part-13
Un</br>able’s MySecretSecrets
HTML Level II (CyberAdvantage)
White Box testing & Inspections
6. Application Software Security
Exploring DOM-Based Cross Site Attacks
Presentation transcript:

Hacking the EULA: Reverse Benchmarking Web Application Security Scanners Toorcon 2007

Each year thousands of work hours are lost by security practitioners sorting through web application security reports separating out erroneous vulnerability data. Individuals must currently work through this process in a vacuum, as there is little to no publicly available information that is helpful. Compounding this situation, restrictive vendor EULAs (End User License Agreements) prohibit publishing of research about the quality of their signature base. Due to these agreements, a chilling effect has discouraged public research into the common types of false positives that existing commercial web application scanner technologies are prone to exhibit. Overview

Tom Stracener, Sr. Security Analyst, Cenzic Inc, cofounder of the ORB Project Major Accompishments: Lv 35 Warrior in WoW on Dragonmaw PvP server (Tropac) A long time ago I was Co-founder of nCircle Network Security 6 technology patents (1 pending) About the speaker

Introduction Web Application Security Scanning Technology The Problem of False Positives What is Reverse Benchmarking? Reverse Benchmarking Methodology 10 Common False Positive Types Further Research

What is the ORB Project, and What does it stand for? When is the project going live? --Whitepaper in Q Integration with Sitegenerator (OWASP) in 2008 Is membership open to anyone? What are the goals of the project? If you are interested in being a member, send an to

Who are the current members of the project: Tom Stracener (co-founder) Marce Luck (co-founder) Dinis Cruz Get your name on this list. It could change your life.

Business as usual… B) You shall not : (i) use the Software or any portion thereof except as provided in this Agreement; (ii) modify, create derivative works of, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction) or attempt to derive the Source Code of the Software provided to You in machine executable object code form; (iii) market, distribute or otherwise transfer copies of the Software to others; (iv) rent, lease or loan the Software; (v) distribute externally or to any third party any communication that compares the features, functions or performance characteristics of the Software with any other product of You or any third party ; or (vi) attempt to modify or tamper with the normal function of a license manager that regulates usage of the Software.

What is Reverse Benchmarking?

Proactive Security Whoever is first in the field and awaits the coming of the enemy, will be fresh for the fight; whoever is second in the field and has to hasten to battle will arrive exhausted. -- Sun-Tzu “The Art of War”

Analyzing Application Security Scanners Security Assessment ‘quality’ criteria –Functionality (Black vs White Box) –Ergonomics & Usability –Performance –Feature Sets –Bling –Accuracy –False Positive Rates i.e. Signal to Noise

Analyzing Application Security Scanners Benchmarking Concepts –Benchmarking black box scanners is ultimately a systematic comparison –Most common Benchmarking technique is ‘positive’ or ‘comparative’ benchmarking –The goal is to see which scanner does the best against a selected application

Positive and Negative Accuracy concepts

+ Benchmarking: Accuracy Positive Benchmarking is a measure of the number of valid results relative to the total number of vulnerabilities in the application. Example: Scanner Foodizzle found 8 out of 10 vulnerabilities in the target application, i.e. it was 80% relative to the vulnerability-set. Use: Measures of ‘accuracy’ are commonly used during positive benchmarking, bake-offs, etc. Challenges: Accuracy is difficult to measure because its often difficult to know exactly how many vulnerabilities there are in the target application.

+ Benchmarking Limitations Positive Benchmarking relies on objective knowledge of vulnerabilities in the target application, and thus breaks down when not performed by experts Selection Bias: Scanner Foodizzle found 8 out of 10 vulnerabilities in the target application, i.e. it was 80% relative to the vulnerability-set. Interpreting the Data: Measures of ‘accuracy’ are commonly used during positive benchmarking, bake-offs, etc. Tuning Against the App: Accuracy is difficult to measure because its often difficult to know exactly how many vulnerabilities there are in the target application. Analysis Gaps: typical bake-off or benchmarking methods do not rigorously test important scanner characteristics like the spider, because the spider is only indirectly related to accuracy

+ Benchmarking Limitations Positive Benchmarking relies on objective knowledge of vulnerabilities in the target application, and thus breaks down when not performed by experts Tuning Against the App: Its not uncommon for vendors to download the well-known sample applications and ‘tune’ their technology to detect most or all of the security issues.

Reverse Benchmarking enlarges the eye of the EULA needle…

What is Reverse Benchmarking? It’s a type of passive Reverse Engineering. Its Designed to Kick a Scanner’s Ass TM Causes Massive False Positives Facilitates an understanding vulnerability detection methods Think of it as Detection Logic Fuzzing  Exposes poor coding, faulty detection logic  Reveals Security Testing design flaws  Confuses Stateless Testing Mechanisms

Rationale for Reverse Benchmarking Most of the Common False Positive Types have been around since Most testing mechanisms are entirely stateless and have evolved little Very little is known about False Positives, as a science There are no taxonomies or Top 10 lists for Common False Positive Types

Reverse Benchmark Target Web Application Scanner Enumerates and Categorizes False Positive Types Reveals Vacuous or Meaningless results Reveals Semantic flaws in vulnerability Categorization Reveals systemic flaws in application spider technology

Web Application Security Scanners

Key Trends GUI’s have gotten prettier but the underlying technology hasn’t changed much since Many technologies are still using stateless stimulus-response mechanisms for most security tests (XSS is becoming the exception to this rule). False Positives related to the detection of SQL injection and Blind SQL Injection are rampant. Mechanics of file scanning is still largely based on Whisker-Nikto, and prone to false positives AJAX and Web Services support has increased the numbers of false positives, due to re-use of legacy security testing procedures. Signal-to-Noise Ratio is still very bad, with False Positives exceeding useful results usually by 2:1, and this is a conservative figure. Most application spiders do poorly against javascript and flash, and some technologies cannot automatically navigate Form-based logins. Semantic problems with security tests are widespread, i.e. mislabeled vulnerabilities, ambiguous vulnerabilities, meaningless results. Each year the problem gets worse, and acquisitions may further set back innovation.

The Problem of False Positives (A scanner darkly)

Common False Positive Types are not Easily Studied… B) You shall not : (i) use the Software or any portion thereof except as provided in this Agreement; (ii) modify, create derivative works of, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction) or attempt to derive the Source Code of the Software provided to You in machine executable object code form; (iii) market, distribute or otherwise transfer copies of the Software to others; (iv) rent, lease or loan the Software; (v) distribute externally or to any third party any communication that compares the features, functions or performance characteristics of the Software with any other product of You or any third party ; or (vi) attempt to modify or tamper with the normal function of a license manager that regulates usage of the Software. Most EULAs prevent a comparison between technologies

Reverse Benchmarking Methodology Active False Positive Solicitation and Reverse Fault Injection via a sample web application. A reverse benchmarking target can be used to model a production application, thereby decreasing the semantic gap between triggered false positives and false positives found within the production environment

Reverse Benchmarking Goals The goal of Reverse Benchmarking is not to malign vendors, but to aid the security community and help developers avoid the same mistakes with each new generation of technology Systematically performed, Reverse Benchmarking can help security practioners learn to quickly distinguish false positives from valid security issues, as they will learn the conditions under which the technology they are using fails. Based on the type of trigger that elicits the false positive, a taxonomy of false positive types can be developed. A set of common causes or contributing factors for each type can be outlined.

Partial Match Problems Detection strings may be a subset of existing content and triggered by the presence of unrelated words or elements within the HTML or DOM GET /search.pl~bak July OK Common Causes of False Positives

Parameter Echoing Parameter values may be echoed back in places within a web application, and this can trigger false positives. <?php // get the form data $field1 = $_POST['comments']; // Echo the value of the comments parameter echo "Backacha Biatch: $field1"; ?>

Mistaken Identity Some security tests look for vulnerability conditions so general that the vulnerability reported must be disambiguated in order to be verified. Many types of PHP forum software, Calendars, Blogs reuse a common code base and so overlapping URI and application responses GET /search.pl Alibaba Search OverflowPaul’s Search SQL InjXn YABB Search.pl XSS

Semantic Ambiguity Signature-based detection is often relies on signatures that are generic and thus are neither necessary nor sufficient for the vulnerability to be present. [Microsoft][ODBC SQL Server Driver] Many false positives arise because the vulnerability is more complex than the vulnerability conditions checked for by the signatures.

Response Timing Slow, unresponsive, or delayed server-side processing can trigger security checks that are timing dependent Some SQL injection tests use a wait_for_delay expression and measure the timing.

Custom 404 Pages Simple file scanning routines and other security tests will trigger erroneously in the presence of custom 404 pages. Some signatures are based on 302 Redirects GET /search.pl~bak

Custom 404 Pages Simple file scanning routines and other security tests will trigger erroneously in the presence of custom 404 pages. Some signatures are based on 302 Redirects GET /search.pl~bak

Creating a Reverse Benchmark target Nature of the target will depend on your goals as a researcher Reverse Engineering 1.Emphasis on exposing as much of the signature base and rule set as possible without inspecting datafiles or code. Clear generic cases that will likely impact the largest portion of the rule base 2.Focus on generic trigger signatures, including available open source scanners. (i.e. use of Nikto detections strings in response data.

Creating a Reverse Benchmark target Nature of the target will depend on your goals as a researcher Bakeoffs/Comparisons 1.Emphasis on exposing false positives or signature flaws of all varieties, including the uncommon or essoteric. Use of non- standard or overly difficult application configuration to stress test the scanner. 2.Focus on unusual or non-standard trigger signatures. i.e. Javascript or Flash road test

Creating a Reverse Benchmark target Nature of the target will depend on your goals as a researcher Reverse Engineering 1.Emphasis on exposing as much of the signature base and rule set as possible without inspecting datafiles or code. 2.Focus on generic trigger signatures

Open Reverse Benchmarking Project Nature of the target will depend on your goals as a researcher 1.Emphasis on exposing as much of the signature base and rule set as possible without inspecting datafiles or code. 2.Focus on generic trigger signatures

Backatcha Roadtest Results Overview Took 4 popular blackbox web application security scanners Ran their default policies against the target reverse benchmarking application Put the results into high level buckets Generated a few graphs with the results

Out of 4 scanners, 1 scanner generated 92% of the false positive volume Roughly 9000 false positives total 3 other scanners came in at 2%, 2% and 4%. In terms of numbers, our 3 page application generated 180, 180, and 360 false positives in the remaining scanners

Further Research Improve reverse benchmarking target Add more tests Improve testing methodology Test with more scanners Partner with OWASP Help develop Reverse Benchmarking Module for SiteGenerator