A clustering Approach for Web Vulnerabilities Detection



Similar documents
Mingyu Web Application Firewall (DAS- WAF) All transparent deployment for Web application gateway

Web Application Attacks Detection: A Survey and Classification

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

Using Web Security Scanners to Detect Vulnerabilities in Web Services

Intrusion detection for web applications

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

Web Application Security

Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario

Detecting SQL Injection Vulnerabilities in Web Services

Institutionen för datavetenskap

Security Testing for Web Applications and Network Resources. (Banking).

The Top Web Application Attacks: Are you vulnerable?

Systematically Enhancing Black-Box Web Vulnerability Scanners

Magento Security and Vulnerabilities. Roman Stepanov

EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.

Using Free Tools To Test Web Application Security

SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS

METHODS TO TEST WEB APPLICATION SCANNERS

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

The Devils Behind Web Application Vulnerabilities

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

Protecting Database Centric Web Services against SQL/XPath Injection Attacks

ensuring security the way how we do it

Where every interaction matters.

Learning objectives for today s session

Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008

What is Web Security? Motivation

Contemporary Web Application Attacks. Ivan Pang Senior Consultant Edvance Limited

A Multi agent Scanner to Detect Stored XSS Vulnerabilities

Check list for web developers

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

Using Web Security Scanners to Detect Vulnerabilities in Web Services

Security Assessment of Waratek AppSecurity for Java. Executive Summary

ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

TECHNICAL AUDITS FOR CERTIFYING EUROPEAN CITIZEN COLLECTION SYSTEMS

Web Application Security

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

Cross Site Scripting in Joomla Acajoom Component

List of Scanner Features (3 of 3)

The New PCI Requirement: Application Firewall vs. Code Review

Passing PCI Compliance How to Address the Application Security Mandates

Web Forensic Evidence of SQL Injection Analysis

Comparing the Effectiveness of Penetration Testing and Static Code Analysis

IJMIE Volume 2, Issue 9 ISSN:

Client logo placeholder XXX REPORT. Page 1 of 37

CS 558 Internet Systems and Technologies

A Network Administrator s Guide to Web App Security

Protect Your IT Infrastructure from Zero-Day Attacks and New Vulnerabilities

Web Application Report

Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3

Mean Time to Fix (MTTF) IT Risk s Dirty Little Secret Joe Krull, CPP, CISSP, IAM, CISA, A.Inst.ISP, CRISC, CIPP

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

Web Vulnerability Scanner by Using HTTP Method

Spigit, Inc. Web Application Vulnerability Assessment/Penetration Test. Prepared By: Accuvant LABS

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

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Using Nessus In Web Application Vulnerability Assessments

Lecture 11 Web Application Security (part 1)

International Journal of e-education, e-business, e-management and e-learning, Vol. 3, No. 6, December 2013

Online Vulnerability Scanner Quick Start Guide

Development and Industrial Application of Multi-Domain Security Testing Technologies. Innovation Sheet Model Inference Assisted Evolutionary Fuzzing

ASL IT Security Advanced Web Exploitation Kung Fu V2.0

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

Penetration Testing. Types Black Box. Methods Automated Manual Hybrid. oless productive, more difficult White Box

PROP - PATRONAGE OF PHP WEB APPLICATIONS

REDCap General Security Overview

How I hacked PacketStorm ( )

Baseline: Metrics for setting a baseline for web vulnerability scanners

Acunetix Website Audit. 5 November, Developer Report. Generated by Acunetix WVS Reporter (v8.0 Build )

BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS

Thick Client Application Security

NSFOCUS Web Application Firewall White Paper

Toward A Taxonomy of Techniques to Detect Cross-site Scripting and SQL Injection Vulnerabilities

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 4 Finding Network Vulnerabilities

INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY

CORE Security and the Payment Card Industry Data Security Standard (PCI DSS)

Web Application Penetration Testing

Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

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

SECURING APACHE : THE BASICS - III

External Network & Web Application Assessment. For The XXX Group LLC October 2012

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

WEB APPLICATION VULNERABILITY STATISTICS (2013)

From the Bottom to the Top: The Evolution of Application Monitoring

Executive Summary On IronWASP

Acunetix Web Vulnerability Scanner. Getting Started. By Acunetix Ltd.

System Specification. Author: CMU Team

ASSESSMENT OF OPEN SOURCE WEB APPLICATION SECURITY SCANNERS

Web application security

Transcription:

A clustering Approach for Web Vulnerabilities Detection Mohamed Kaâniche Rim Akrout, Eric Alata, Yann Bachy, Anthony Dessiatnikoff, Vincent Nicome?e Design and Assessment of application Level Intrusion detection systems IFIP WG 10.4 meeting, Martinique, 26-30 January 2012

n Context and motivation n Web vulnerability scanners n Proposed approach n Experimental results n Conclusion Outline

Context n Web vulnerabilities have become a major threat to information systems security SQL Injections, XPATH, OS commanding, XSS, Lack of sanitization of URL parameters, html form inputs,... n Attackers can gain unauthorized access, read/modify sensitive data, perform DoS attacks,

Context n Web vulnerabilities have become a major threat to information systems security SQL Injections, XPATH, OS commanding, XSS, Lack of sanitization of URL parameters, html form inputs,... n Attackers can gain unauthorized access, read/modify sensitive data, perform DoS attacks, User side Server side Database SQL injection Login Pass x <?php include ( db.php ); $r=mysql_query(«select*from USER where» «login =».$_GET[ login ] «and» «login =».$_GET[ pass ] ); If (my_sql_fetch_row($r)) include( connected.php ); else include( error.php );?> user login pass john 12gh3 vincent uut1p user inputs SQL request Result (john; 12gh3) Select * from USER where login = john and pass = 12gh3 connected (me; 1 or 1 =1) Select * from USER where login = me and pass = 1 or 1 =1 connected

Techniques to cope with vulnerabilities n Identification and possible sanitization at runtime of malicious requests Web application Firewalls, IDS n Static analysis of the source code n Web vulnerability scanners Black box security testing identify injection points and generate specially crafted inputs to detect vulnerabilities

Web vulnerability scanners n Commercial tools WebInspect, AppScan, Acunetix, n Open source and publicly available tools Skipfish: http://code.google.com/p/skip1ish W3aF: http://w3af.sourceforge.net Wapiti: http://wapiti.sourceforge.net ; n Several experimental analyses point out the need to improve the detection efficiency and the automation capabilities of existing tools [Fonseca et al. 2007; PRDC-2007], [Bau et al. 2010; Symp. Security & Privacy]; [Doupé et al. 2010, DIMVA], etc. n Research objectives contribute to fulfill this gap

n General principle Existing approaches Submit through injection point a few crafted inputs and conclude about vulnerability existence based on server reponses analysis n Error pattern matching: W3aF, Wapiti, Secubat Search for some predefined error messages n Similarity analysis of server reponses: skipfish 3 requests for each injection point a vulnerability exists if the responses associated to R 1 and R 2 are different and those associated to R 1 and R 3 are different n General comments Only a few requests are generally submitted (two or three) None of the investigated tools provides the requests that successfully exploit the identified vulnerability

Discussion n Only a few requests are generally submitted two or three n None of the investigated tools provides the requests that successfully exploit the identified vulnerability n Contribution: a new vulnerability detection algorithm based on the similarity analysis approach: Generation of a large number of requests that can be tuned by the user to potentially achieve a higher coverage of the server responses space Grammars specific to vulnerability classes Automatic identification of successful injections based on the hierarchical clustering of similar server response pages

Proposed approach n Generate requests that would likely produce failed execution pages (rejection pages) R1: Randomly generated login-passwords

Proposed approach n Generate requests that would likely produce failed execution pages (rejection pages) R1: Randomly generated login-passwords R2: Syntaxically invalid injections

Proposed approach n Generate requests that would likely produce failed execution pages (rejection pages) R1: Randomly generated login-passwords R2: Syntaxically invalid injections n Generate syntaxically valid injections : R3

Proposed approach n Generate requests that would likely produce failed execution pages (rejection pages) R1: Randomly generated login-passwords R2: Syntaxically invalid injections n Generate syntaxically valid injections : R3 1 st Cluster 2 nd Cluster Cluster R 1 R 2 R 3 n Identify successful injections based on the similarity analysis of R3 responses compared to R1 and R2 responses 3 rd Cluster 1 st Cluster 4 th Cluster Clusters with only syntactically valid SQL injections (R3) identify successfull injections

Algorithm n Entry point: URL of the web application

n WASAPY tool Experimental assessment Web Application Security Assessment in Python n Comparative analysis with open source vulnerability scanners: skipfish, Wapiti, W3af n Two types of experiments Modified applications including specific injected vulnerabilities Publicly available vulnerable applications without modification For some of these, results available for commercial tools in the literature: AppScan,WebInspect, Acunetix n Experimental environment Scanners: skipfish 1.9.6b; Wapiti 2.2.1, W3af 1.1 Gnu/Linux (2.6 kernel) host running several virtual machines Apache Web server (1.3.37/ 2.2.8/4.0.0/5.0.0) MySQL database server 5

Vulnerable applications Modified applications Legend Tested & detected vulnerability Tested & not detected vulnerability Injection point not tested by the scanner - v2 functionally similar to v1 - v8 functionally similar to v4 - v9 functionally similar to v3 v12 v4 v11 v7

Non modified vulnerable applications Cyphor Ftss Riotpix Pligg

Conclusion and future work n Contributions Novel approach for web vulnerability detection Automatic identification of successful attacks SQL injections, XPATH, OS Commanding, File Include Promising results that need to be confirmed by further experiments Suitable for vulnerabilities that modify the response page returned to the user (not for XSS) n Current and Future work More extensive validation experiments Generate attacks scenarios taking into account dependencies between vulnerabilities Evaluation of web applications IDS (Dali project)

DALI project Application level intrusion detection techniques Specification based Contracts Prototype Invariants extraction from execution learning Assessment methodology and tools Experiments - normal traffic - attacks Results - IDS efficiency - Comparative analysis