Detection of Attacks with Proxy-based Execution Alex Kiaie, Benjamin Prosnitz, Yi Tang, Yinzhi Cao.

Slides:



Advertisements
Similar presentations
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems © 2002, Predictive Systems.
Advertisements

PHP I.
Past, Present and Future By Eoin Keary and Jim Manico
What is code injection? Code injection is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by.
Path Cutter: Severing the Self-Propagation Path of XSS JavaScript Worms in Social Web Networks Yinzhi Cao, Vinod Yegneswaran, Phillip Porras, and Yan Chen.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Cross Site Scripting & SQL injection
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
Cloud Computing Part #3 Zigmunds Buliņš, Mg. sc. ing 1.
Cross Site Scripting a.k.a. XSS Szymon Siewior. Disclaimer Everything that will be shown, was created for strictly educational purposes. You may reuse.
Server-Side vs. Client-Side Scripting Languages
Security+ Guide to Network Security Fundamentals, Third Edition
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Introduction to the OWASP Top 10. Cross Site Scripting (XSS)  Comes in several flavors:  Stored  Reflective  DOM-Based.
Lecture 16 Page 1 CS 236 Online Cross-Site Scripting XSS Many sites allow users to upload information –Blogs, photo sharing, Facebook, etc. –Which gets.
CROSS SITE SCRIPTING..! (XSS). Overview What is XSS? Types of XSS Real world Example Impact of XSS How to protect against XSS?
Department Of Computer Engineering
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Norman SecureSurf Protect your users when surfing the Internet.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
11 The Ghost In The Browser Analysis of Web-based Malware Reporter: 林佳宜 Advisor: Chun-Ying Huang /3/29.
Introduction to Application Penetration Testing
INTRODUCTION TO WEB DATABASE PROGRAMMING
Is Your Website Hackable? Check with Acunetix Web Vulnerability Scanner. Acunetix Web Vulnerability Scanner V9.
Cross-Site Scripting Vulnerabilities Adam Doupé 11/24/2014.
Prevent Cross-Site Scripting (XSS) attack
+ Websites Vulnerabilities. + Content Expand of The Internet Use of the Internet Examples Importance of the Internet How to find Security Vulnerabilities.
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
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.
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.
JSProxy: Safety from Javascript Benjamin Prosnitz, Tang Yi, Yinzhi Cao.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
1 Vulnerability Analysis and Patches Management Using Secure Mobile Agents Presented by: Muhammad Awais Shibli.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
Web Application Security ECE ECE Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
SIGITE 2008: Oct Integrating Web Application Security into the IT Curriculum James Walden Northern Kentucky University.
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.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
Securing the Network Infrastructure. Firewalls Typically used to filter packets Designed to prevent malicious packets from entering the network or its.
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Presented By: Chandra Kollipara. Cross-Site Scripting: Cross-Site Scripting attacks are a type of injection problem, in which malicious scripts are injected.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
Trevor Jim Nikhil Swamy Michael Hicks Defeating Script Injection Attacks with Browser-Enforced Embedded Policies Jason FroehlichSeptember 24, 2008.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
1) PHP – Personal Home Page Scripting Language 2) JavaScript.
EECS 354: Network Security Group Members: Patrick Wong Eric Chan Shira Schneidman Web Attacks Project: Detecting XSS and SQL Injection Vulnerabilities.
Role Of Network IDS in Network Perimeter Defense.
SpyProxy SpyProxy Execution-based Detection of MaliciousWeb Content Execution-based Detection of MaliciousWeb Content Hongjin, Lee.
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
Powerpoint presentation on Drive-by download attack -By Yogita Goyal.
SlideSet #20: Input Validation and Cross-site Scripting Attacks (XSS) SY306 Web and Databases for Cyber Operations.
Common System Exploits Tom Chothia Computer Security, Lecture 17.
Group 18: Chris Hood Brett Poche
CSCE 548 Student Presentation Ryan Labrador
Unit 20 - Client Side Customisation of Web Pages
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
World Wide Web policy.
Secure Software Development: Theory and Practice
GCED Exam Braindumps
CS222 Web Programming Course Outline
Exploring DOM-Based Cross Site Attacks
Presentation transcript:

Detection of Attacks with Proxy-based Execution Alex Kiaie, Benjamin Prosnitz, Yi Tang, Yinzhi Cao

Outline Problem to solve Existing work and background Our solution Task completed and remaining plan.

Web security problem In the last few years, the popularity of web- based applications has grown tremendously. One key technology used in interactive web applications is JavaScript. The automatic execution of JavaScript code provided by the remote server may represent a possible vector for attack on the end-user’s computing environment. 3

Outline Problem to solve Background and Existing work – Background – Existing work Our solution Task completed and remaining plan.

Classification of Attacks Intra-Browser – Changes browser state or steals information Out of Browser – Infects system

Intra-Browser Attacks XSS (Cross-Site Scripting) steals information across protection domains Browser extensions which secretly send of parts of viewed pages We don’t aim to prevent these with our solution

Attacks on the System through the Browser Exploits: – Javascript engine bugs – Plug-in vulnerabilities (Java, Flash, etc) – Installation of malicious, but signed, plug-ins Goals: – Execution of arbitrary code – “Drive-by-download” installation of malware

Trend of web security attack 1 8 Top 10 web application vulnerabilities for 2006 from Source: OWASP(Open Web Application Security Project ) Report Cross-site scripting(XSS) vulnerability occupies the top most position

Trend of web security attack 2 9 Increasing trend in web application security vulnerabilities over a period of six years from CVE( Common Weakness Enumeration)

XSS attacks In Cross-site Scripting (XSS) attack, an attacker forces a client, typically a web browser, to execute attacker-supplied executable code, typically JavaScript code, which runs in the context of a trusted web site 10/50

XSS: Two kinds Two general methods for injecting malicious code into web page that is displayed to the user – stored XSS : the attacker persistently stores the malicious code in a resource managed by the web application. such as a database document.images[0].src = " >+ document.cookie; – reflected XSS: the attack script is not persistently stored, but, instead, it is immediately “reflected” back to the user alert(document.cookie) 11

Stored XSS:More difficult to be detected and more harmful for Internet bar{background-image:url("javascript:alert(’JavaScript’)");} ]]> Embeds a script contained in a separate file an event handler background elements will be obtained by executing a script. an element that uses an inline CSS style to invoke a script script in XML script can be broken across multiple CDATA sections URL is the base64 encoding of a javascript:URL URL has been character encoded HTML entity encoding to hide quote characters in a script

Why difficult to detect 1. Signatures for application vulnerability are based on the applications which are commonly used. One signature can cover a vulnerability a lot of servers may have. However, each website has its own code, and corresponding vulnerability. 2. Script vulnerabilities are not easy to describe by signature, because it has many subtleties and variants. 3. Sometimes, it is not a vulnerability of the website. The attack may have compromise this website and change the web page by append its own malicious code without web master’s attention. 13/50

Current method A comprehensive research on web security, particularly in cross site scripting started around Categories of solutions are based on the – Location :client side,server side, third part check point – Analysis type: static, dynamic, taint, alias, data flow, source code, control flow graph. – Technique: crawling, reverse engineering, black box testing, proxy server. – Intrusion detection type: anomaly, misuse, automatic, multimodal. 14

VMMs for Security Run software within a sandbox Filter system calls made and interactions with the system Full access to the OS’s state VMM VM w/ Guest OS Browser

Detecting Attacks with VMMs Memory Inspection (Garfinkel ‘03) – Uses Mission Critical’s crash utility to acquire state (crash normally reads /dev/kmem) – Detection Strategies: Verify binaries have not been modified Scan filesystem for signatures Identify sniffers by checking for raw socket use Query the system within the virtual machine and verify the integrity of the response (does ps lie?) – Feed into policy engine

Detecting Attacks with VMMs Injecting Sensors into Kernel (Asrigo ‘06) – Dynamically rewrites kernel code to include sensors – Monitors: Arguments passed to programs Redirecting of streams (hijacking of resources) Modifications of filesystem Sockets listening to unauthorized ports

Outline Problem to solve Existing work and background Our solution – Motivation – Our System Task completed and remaining plan.

Motivation 19/50 Security Proxy is a security device deployed on Internet to detect the attack. The advance of security proxy is: It can access all the traffic coming in and out the server. If one web is detected as containing malware code, proxy is easy to block this page or site. Proxy can project both sides by filtering the input and output of server.

What we want to do 1. Implement a detection system for malicious script code on proxy. 2. Design a script filter to filter out as much as possible benign traffic. 20/50

Spyproxy A proxy that sits between the user and the web and: - Loads web pages before the client does to detect attacks TestSafe

Our System Proxy VMM Operating System Browser Page Modified Page with Hooks User’s Browser Page w/ Hooks Page w/ Hooks Events to Test 1.We modify the javascript sent to the user to provide the proxy with events to test 2.We filter script files rather than entire web pages

Comparison with SpyProxy SpyProxy performs similar functionality – Web proxy that runs pages in virtual machine – Build a whitelist/blacklist for pages Our work improves on this by: – Using feedback from user to trigger exploits – Build a whitelist/blacklist for scripts

Script code Filter 24/50 What filter for: 1. when packets first come, construct a whitelist for its script code segment. 2. Next time this script code appears, we can decide whether it will be scanned by virtual machine. Observation for the script code: 1. unique script code segment is far less than the script code segments. Website will reuse script code. 2. script code will not change even the webpage is dynamically changed. Such as the first page of cnn. 3. script code of big size has fewer modification probability

Outline Problem to solve Existing work and background Your solution, including the VMM system Task completed and remaining plan.

Tasks completed 1.Investigation of Related Topics a)Web-plugin vulnerabilities b)Webpage modification attacks 2.Design of defense systems a)Our web proxy (in previous slide) b)Attack detection and rollbacking with transactional memory c)Get script codes from crawled web pages

Time plan Week 7 and 8: Acquire SpyProxy and deploy it Week 9: Analyze the script code for the filter to build a scalable proxy. Week 10: Preparation for the final report and presentation