Using Web Security Scanners to Detect Vulnerabilities in Web Services



Similar documents
Detecting SQL Injection Vulnerabilities in Web Services

Comparing the Effectiveness of Penetration Testing and Static Code Analysis

Using Web Security Scanners to Detect Vulnerabilities in Web Services

The Devils Behind Web Application Vulnerabilities

Protecting Database Centric Web Services against SQL/XPath Injection Attacks

Application Security Testing

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

ensuring security the way how we do it

Web Application Report

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

Penetration Testing Lessons Learned. Security Research

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

SAST, DAST and Vulnerability Assessments, = 4

A clustering Approach for Web Vulnerabilities Detection

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

New IBM Security Scanning Software Protects Businesses From Hackers

Chapter 1 Web Application (In)security 1

Web Application Security

Protecting Database Centric Web Services against SQL/XPath Injection Attacks

Web Vulnerability Detection and Security Mechanism

Passing PCI Compliance How to Address the Application Security Mandates

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

NWEN405: Security Engineering

Taxonomic Modeling of Security Threats in Software Defined Networking

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

ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION

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

Web Application Penetration Testing

Columbia University Web Security Standards and Practices. Objective and Scope

Application Intrusion Detection

Java Program Vulnerabilities

WebCruiser Web Vulnerability Scanner User Guide

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

8 Steps for Network Security Protection

8 Steps For Network Security Protection

Serious Threat. Targets for Attack. Characterization of Attack. SQL Injection 4/9/2010 COMP On August 17, 2009, the United States Justice

Web Applications The Hacker s New Target

ITEC441- IS Security. Chapter 15 Performing a Penetration Test

Application Security Testing. Generic Test Strategy

Contemporary Web Application Attacks. Ivan Pang Senior Consultant Edvance Limited

Cyber R &D Research Roundtable

SQL Injection for newbie

WHITEPAPER. Nessus Exploit Integration

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

WEB APPLICATION VULNERABILITY STATISTICS (2013)

Professional Penetration Testing Techniques and Vulnerability Assessment ...

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

Automotive Ethernet Security Testing. Alon Regev and Abhijit Lahiri

2,000 Websites Later Which Web Programming Languages are Most Secure?

The Top Web Application Attacks: Are you vulnerable?

Web Application Vulnerabilities and Avoiding Application Exposure

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Penetration Testing Service. By Comsec Information Security Consulting

Dissecting and digging application source code for vulnerabilities

The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA

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

Web application security: automated scanning versus manual penetration testing.

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

05.0 Application Development

DISCOVERY OF WEB-APPLICATION VULNERABILITIES USING FUZZING TECHNIQUES

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Adobe ColdFusion. Secure Profile Web Application Penetration Test. July 31, Neohapsis 217 North Jefferson Street, Suite 200 Chicago, IL 60661

DISA's Application Security and Development STIG: How OWASP Can Help You. AppSec DC November 12, The OWASP Foundation

Thick Client Application Security

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

Security Testing. Vulnerability Assessment vs Penetration Testing. Gabriel Mihai Tanase, Director KPMG Romania. 29 October 2014

Implementing Database Security and Auditing

COURSE NAME: INFORMATION SECURITY INTERNSHIP PROGRAM

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

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

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

Course Title: Penetration Testing: Network Threat Testing, 1st Edition

SB 1386 / AB 1298 California State Senate Bill 1386 / Assembly Bill 1298

Online Vulnerability Scanner Quick Start Guide

IBM Global Technology Services Statement of Work. for. IBM Infrastructure Security Services - Penetration Testing - Express Penetration Testing

Preliminary Course Syllabus

Network Security. 1 Pass the course => Pass Written exam week 11 Pass Labs

Black Hat Briefings USA 2004 Cameron Hotchkies

Automatic vs. Manual Code Analysis

Early Vulnerability Detection for Supporting Secure Programming

Security Products Development. Leon Juranic

Hacking the WordpressEcosystem

Web application testing

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

Penetration Testing in Romania

VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES. AUTHOR: Chema Alonso

Transcription:

DSN 2009 Using Web Security Scanners to Detect Vulnerabilities in Web Services Marco Vieira,, Henrique Madeira {mvieira, nmsa, henrique}@dei.uc.pt CISUC Department of Informatics Engineering University of Coimbra

Outline Contextualization Research Goals Methodology Results Conclusions and Future Work 2

Contextualization Web services are increasingly becoming a strategic component in a wide range of organizations Web services are so exposed that any existing vulnerability will most probably be uncovered/exploited Both providers and consumers need to assess services security 3

Web Services 4

Web Services Security Security threats Hackers are moving their focus to applications code Traditional security mechanisms (Firewall, IDS, encryption) cannot mitigate these attacks Vulnerabilities like SQL Injection and XPath Injection are particularly relevant Developers must Apply best coding practices Security testing! 5

Vulnerability Examples public String auth(string login, String pass) throw SQLException { String sql = "SELECT * FROM users WHERE "+ "username='" + login + "' AND "+ "password='" + pass + "'"; ' OR 1=1 -- "SELECT ResultSet * FROM rs = users statement.executequery(sql); WHERE username='' OR 1=1 -- ' AND ( ) password='' ; } public void delete(string str) throw SQLException{ String sql = "DELETE FROM table ' OR ''=' "WHERE id='" + str + "'"; statement.executeupdate(sql); } "DELETE FROM table WHERE id='' OR '' = ''"; 6

Software Testing techniques White-box testing: The analysis of the application s code Black-box testing: The analysis of application s execution searching for vulnerabilities Known as penetration testing Gray-box testing: Approaches that combine black box and white box 7

Web Security Scanners Easy and widely-used way to test applications searching vulnerabilities Use fuzzing techniques to attack applications Perform thousands of tests in an automated way What is the effectiveness of these tools? Can programmers rely on these tools? 8

Research Goals Study the effectiveness of the scanners Identify common types of vulnerabilities In the context of web service environments 9

Methodology Apply leading commercial scanners in public web services 300 Web Services tested Randomly selected 4 Scanners used (including two different versions of a brand) 10

Experimental Study Preparation Select services and scanners Execution Test the services using the scanners Verification Identify false positives Analysis Analysis and systematization of results 11

Scanners 12

Vulnerabilities Found SQL injection XPath Injection Code Execution Possible Parameter Based Buffer Overflow Possible Username or Password Disclosure Possible Server Path Disclosure 13

Overall results analysis Vulnerability Types VS1.1 VS1.2 VS2 VS3 # Vuln. # WS # Vuln. # WS # Vuln. # WS # Vuln. # WS SQL Injection 217 38 225 38 25 5 35 11 XPath Injection 10 1 10 1 0 0 0 0 Code Execution 1 1 1 1 0 0 0 0 Possible Parameter Based Buffer Overflow Possible Username or Password Disclosure Possible Server Path Disclosure 0 0 0 0 0 0 4 3 0 0 0 0 0 0 47 3 0 0 0 0 0 0 17 5 Total 228 40 236 40 25 5 103 22 14

SQL Injection 225 VS1.2 15

SQL Injection VS1.1 19 198 VS1.2 27 16

SQL Injection VS1.1 19 172 26 3 6 VS1.2 24 VS3 17

SQL Injection VS1.1 19 VS2 171 1 21 5 3 1 2 5 VS1.2 24 VS3 18

SQL Injection VS1.1 19 VS2? 171 1 21 1 2 5 3 5 VS1.2 24 VS3 19

False Positives examination False positive when the error/answer obtained is related to an application robustness problem. the same problem occurs when the service is executed with valid inputs Confirmed Vulnerabilities when is possible to observe that a SQL command was invalidated by the injected values the injected values lead to exceptions raised by the database server is possible to access unauthorized resources 20

False Positives results 225 200 175 150 125 87 14 40% 6,5% 83 26 37% 11,6% False Positives Doubtful Confirmed Vulnerabilities 100 75 50 116 116 25 0 32% 25,7% 9 8 5 17 21 VS1.1 VS1.2 VS2 VS3 14% 21

SQL Injection without False Positives 142 VS1.2 22

SQL Injection without False Positives VS1.1 3 127 VS1.2 15 23

SQL Injection without False Positives VS1.1 3 103 24 2 VS3 VS1.2 15 24

SQL Injection without False Positives VS1.1 3 1 2 VS2 102 21 3 1 1 VS3 VS1.2 15 25

SQL Injection without False Positives VS1.1 3 1 2 VS2? 102 21 3 1 1 VS3 VS1.2 15 26

Coverage analysis Real number of vulnerabilities unavailable It is possible to make a comparative analysis Overestimated Coverage values!! Scanner # SQL Injection Vulnerabilities Coverage % VS1.1 130 87.2% VS1.2 142 95.3% VS2 25 16.8% VS3 26 17.4% Total 149 100% 27

Common Vulnerabilities 16 10 1 1 SQL Injection (149) Possible Server Path Disclosure (16) XPath Injection (10) Code Execution (1) 149 Possible Parameter Based Buffer Overflow (1) 28

Conclusions A large number of vulnerabilities was observed SQL Injection vulnerabilities are prevalent Selecting a scanner for web services is a very difficult task Different scanners detect different types of vulnerabilities High false positives rates Low coverage rates Can we do better? 29

Preliminary work Develop a new approach for vulnerabilities detection Detect SQL Injection and XPath Injection vulnerabilities effectively Generate workload and attackload Analyze responses Analyze vulnerabilities to avoid False positives 30

Preliminary Work Results 180 160 140 120 100 93 86 False Positives Doubtful Confirmed 80 14 60 13 25 13 40 0 1 47 47 52 20 4 4 17 21 0 VS1.1 VS1.2 VS2 VS3 VS.WS 31

Innovations introduced Generation of a more complete workload: A better knowledge of service s behavior A complete attackload All attacks used by scanners and other present in bibliography Better analysis of service s responses: Compare with valid requests Robustness testing applied 32

Questions? 33