Presentation by: Naga Sri Charan Pendyala

Slides:



Advertisements
Similar presentations
SecuBat: An Automated Web Vulnerability Detection Framework
Advertisements

Hossain Shahriar Mohammad Zulkernine. One of the worst vulnerabilities in web applications It involves the generation of dynamic HTML contents with invalidated.
Closing the Gap: Analyzing the Limitations of Web Application Vulnerability Scanners David Shelly Randy Marchany Joseph Tront Virginia Polytechnic Institute.
HI-TEC 2011 SQL Injection. Client’s Browser HTTP or HTTPS Web Server Apache or IIS HTML Forms CGI Scripts Database SQL Server or Oracle or MySQL ODBC.
Web Trust Boundaries and Security Vulnerabilities Haris Volos and Hidayat Teonadi CS739 – Distributed Systems.
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
Cross Site Scripting a.k.a. XSS Szymon Siewior. Disclaimer Everything that will be shown, was created for strictly educational purposes. You may reuse.
Crawler-Based Search Engine By Ryan Caplet, Morris Wright and Bryan Chapman.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
“Today over 70% of attacks against a company’s network come at the ‘Application Layer’ not the Network or System layer.” - Gartner Is Your Web Application.
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Automatic Creation of SQL Injection and Cross-Site Scripting Attacks 2nd-order XSS attacks 1st-order XSS attacks SQLI attacks Adam Kiezun, Philip J. Guo,
Presenter Deddie Tjahjono.  Introduction  Website Application Layer  Why Web Application Security  Web Apps Security Scanner  About  Feature  How.
Security Scanning OWASP Education Nishi Kumar Computer based training
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
Software Faults and Fault Injection Models --Raviteja Varanasi.
Is Your Website Hackable? Check with Acunetix Web Vulnerability Scanner. Acunetix Web Vulnerability Scanner V9.
SQL Power Injector Avadanei AlinBalan Robert. What is SQL Power Injector ?  A graphical application created in C#.Net 1.1 that helps the penetration.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
Approaches to Application Security – DSM
1 All Your iFRAMEs Point to Us Mike Burry. 2 Drive-by downloads Malicious code (typically Javascript) Downloaded without user interaction (automatic),
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
Penetration Testing James Walden Northern Kentucky University.
Preventing SQL Injection Attacks in Stored Procedures Alex Hertz Chris Daiello CAP6135Dr. Cliff Zou University of Central Florida March 19, 2009.
1 Vulnerability Analysis and Patches Management Using Secure Mobile Agents Presented by: Muhammad Awais Shibli.
Attacking Applications: SQL Injection & Buffer Overflows.
Web Application Security ECE ECE Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.
SIGITE 2008: Oct Integrating Web Application Security into the IT Curriculum James Walden Northern Kentucky University.
Beyond negative security Signatures are not always enough Or Katz Trustwave ot.com/
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
By Davide Balzarotti Marco Cova Viktoria V. FelmetsgerGiovanni Vigna Presented by: Mostafa Saad.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
© 2011 IBM Corporation Hybrid Analysis for JavaScript Security Assessment Omer Tripp Omri Weisman Salvatore Guarnieri IBM Software Group Sep 2011.
WebWatcher A Lightweight Tool for Analyzing Web Server Logs Hervé DEBAR IBM Zurich Research Laboratory Global Security Analysis Laboratory
EECS 354: Network Security Group Members: Patrick Wong Eric Chan Shira Schneidman Web Attacks Project: Detecting XSS and SQL Injection Vulnerabilities.
SQL Injection By Wenonah Abadilla. Topics What is SQL What is SQL Injection Damn Vulnerable Web App SQLI Demo Prepared Statements.
UC Marco Vieira University of Coimbra
Constraint Framework, page 1 Collaborative learning for security and repair in application communities MIT site visit April 10, 2007 Constraints approach.
Web Security (cont.) 1. Referral issues r HTTP referer (originally referrer) – HTTP header that designates calling resource  Page on which a link is.
SQL Database Management
SQL Injection By Wenonah Abadilla.
Group 18: Chris Hood Brett Poche
Web Application Security
CSCE 548 Student Presentation Ryan Labrador
Detecting Vulnerabilities in Web Code with concolic execution
Module: Software Engineering of Web Applications
Module: Software Engineering of Web Applications
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Introduction to Dynamic Web Programming
Chapter 7: Identifying Advanced Attacks
Security: Exploits & Countermeasures
World Wide Web policy.
Introduction and Principles
Static Detection of Cross-Site Scripting Vulnerabilities
Prof. Dr. Marc Rennhard Head of Information Security Research Group
Computer Security Fundamentals
Penetration Test Debrief
PHP / MySQL Introduction
HTML Level II (CyberAdvantage)
Myths About Web Application Security That You Need To Ignore.
Database Driven Websites
Lecture 2 - SQL Injection
Tutorial 6 PHP & MySQL Li Xu
Security: Exploits & Countermeasures
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Exploring DOM-Based Cross Site Attacks
Enterprise Class Security Scanner
Web Application Development Using PHP
Presentation transcript:

Presentation by: Naga Sri Charan Pendyala Evaluation of Web Security Mechanisms using Vulnerability & Attack Injection By José Fonseca, Marco Vieira, Henrique Madeira Presentation by: Naga Sri Charan Pendyala

Attack Injection What is attack Injection? How is it possible in web applications?

Overview Abstract – problem statement. Introduction Background and Related Work Vulnerability & Attack Injection Methodology VAIT Tool Utilization Scenarios Inline Scenario Offline Scenario and Remarks Experimental Evaluation and Results with case studies Proposed approach in solving the problem

Introduction Focus on Web Application security. Why? Factors affecting Web Application security Market growing fast Can be attacked from anywhere in world Lack of knowledge or inexperience of developers in security Access to valuable enterprise assets Types of Injection Attacks SQL Injection (SQLi) Cross Site Scripting (XSS)

Introduction Proposed tool : Vulnerability & Attack Injector Tool (VAIT) Dynamic analysis of the web application behavior and their interaction with external resources, such as the back-end database Vulnerability: represents the space of the “faults” injected in a web application Attack: the “intrusion” is the result of the successful “attack” of a “vulnerability” causing the application to enter in an “error” state

Introduction VAIT implemented on web applications was tested in two scenarios Generate a large number of realistic vulnerabilities for offline assessment of security tools, in particular web application vulnerability scanners. Show how it can exploit injected vulnerabilities to launch attacks, allowing the online evaluation of the effectiveness of the counter measure mechanisms installed in the target system, in particular an Intrusion Detection System (IDS).

Related Work Automated injection of attacks Increases the rate of occurrence of errors in the system Helps evaluate impacts of faults and error propagation in system Helps in estimating fault tolerant system measures, such as the fault coverage and error latency Software implemented fault injection (SWIFI), in which hardware faults are emulated by software. Xception and NFTAPE are examples of SWIFI tools. The injection of realistic software faults (i.e., software bugs) has been absent from fault injection effort for a long time.

Related Work Industry Side: fuzzing and mutation testing To automate penetration testing of web applications Rely on web application vulnerability scanner tools that also generate reports compliant with security regulations (Sarbanes- Oxley, PCI-DSS, etc.) E.g. HP WebInspect, IBM Watchfire AppScan, Acunetix web application security scanner and WebSphinx.

Related Work Types of Vulnerabilities XSS and SQLi : accounting for 32% of the vulnerabilities observed SQLi Attack: consists of tweaking the input fields of the web page (which can be visible or hidden) in order to alter the query sent to the back-end database. XSS Attack: consists of injecting HTML and/or other scripting code (usually Javascript) in a vulnerable web page E.g. Malicious adds, links that download malware, redirects etc.

Related Work - conclusions Classified 655 XSS and SQLi security patches of six widely used LAMP (Linux, Apache, MySQL and PHP) web applications. Both XSS and SQLi vulnerabilities result from poorly coded applications that do not properly check their inputs.

Related Work - Conclusions Most common type of vulnerabilities in web application code is by far, the “Missing Function Call – extended” (MFCE), with about ¾ of all vulnerabilities found

Vulnerability & Attack Injection Methodology Four Stages of the methodology of the VAIT Preparation Stage Vulnerability Injection Stage Attackload Generation Stage Attack Stage

Preparation Stage The web application is interacted (crawled) executing all the functionalities that need to be tested. HTTP and SQL communications are captured by the two probes and processed for later use.

Preparation Stage The outcome is the correlation of Input values. The HTTP variables that carry them Respective source code files Usage in the structure of the database queries sent to the back-end database (for SQLi) or displayed back to the web browser (for XSS).

Vulnerability Injection Stage Uses both dynamic and static analysis to gather data. Gathers Input Variables that chain to output Variables..

Vulnerability Injection Stage Results provides the best of both worlds to obtain the variables and the location where they are sanitized or filtered and the set of constraints given by the code location required by the Vulnerability Operators

AttackLoad Generation Stage Attack Load is the list of malicious interactions particular to the web application based on the crawl and analysis results. The fuzzing process consists of combining the available collection of prefixes

Attack Stage Alter the SQL query sent to the database server of the web application (for the case of SQLi attacks) or the HTML data sent back to the user (for the case of XSS attacks) Search for the presence of the payload footprint in the interaction data (HTTP or SQL communications) to check if the attack is successful

Vulnerability & Attack Injection Tool Dependency Builder Variable analyzer Vulnerability Operator Vulnerability Injector Attack Load Generation Attack Success Detector

Attack Injection Utilization Scenarios Inline The VAIT is executed while the security assurance mechanisms under evaluation are also being executed. The VAIT can be used to evaluate tools and security assurance mechanisms, like IDS for databases, Web Application IDS, Web Application Firewalls and Reverse Proxies

Attack Injection Utilization Scenarios Offline The VAIT is executed in advance to provide a set of realistic vulnerabilities for later use. In the offline scenario, the VAIT injects vulnerabilities into the web application and attacks them to check if they can be exploited or not. The offline scenario can also be applied to assess the quality of test cases developed for a given web application.

Experimental Evaluation and Results How many lines of code are necessary to be able to inject a vulnerability on average. How many of those vulnerabilities can be successfully attacked TikiWiki: 1,857 lines of code phpBB: 4,639 lines of code MyReferences: 479 lines of code. On average, the tool injected one vulnerability for every 129 lines of PHP code. A collection of attackloads (see Table 2) was applied to each vulnerability injected and 38% of these attacks were successful

Experimental Evaluation and Results IDS was able to detect 99% of the attacks injected and missed only five of them Developers and security practitioners can improve their security mechanisms and procedures with all the information provided by VAIT above. The VAIT collects the results all the details of the attacks, like the exact HTTP attack code, the target variable, the attackload used, the query sent to the database, etc. Allied to the high detection rate of the IDS, there is also a high false positive rate.

Experimental Evaluation and Results .

Conclusion Proposed a novel methodology to automatically inject realistic attacks in web applications. Analyze Web applications and inject set of potential vulnerabilities. Report success of each attack automatically Developed a tool VAIT to realize the methodology focusing on the most important fault type, the MFCE VAIT can be used to evaluate security mechanisms like IDS. VAIT was also used to evaluate two commercial and widely used web application vulnerability scanners, concerning their ability to detect SQLi vulnerabilities in web applications The results show that there is room for improvement in the SQLi

Queries and Discussion