1 Yinzhi Cao, Zhichun Li *, Vaibhav Rastogi, Yan Chen, and Xitao Wen Labs of Internet Security and Technology Northwestern University * NEC Labs America.

Slides:



Advertisements
Similar presentations
Presented by Vaibhav Rastogi. Current browsers try to separate host system from Web Websites evolved into web applications Lot of private data on the.
Advertisements

0 The Past, Present and Future of XSS Defense Jim Manico 2011 OWASP Brussels.
Path Cutter: Severing the Self-Propagation Path of XSS JavaScript Worms in Social Web Networks Yinzhi Cao, Vinod Yegneswaran, Phillip Porras, and Yan Chen.
GATEKEEPER MOSTLY STATIC ENFORCEMENT OF SECURITY AND RELIABILITY PROPERTIES FOR JAVASCRIPT CODE Salvatore Guarnieri & Benjamin Livshits Presented by Michael.
PathCutter: Severing the Self- Propagation Path of XSS JavaScript Worms in Social Web Networks Yinzhi Cao §, Vinod Yegneswaran †, Phillip Porras †, and.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Automated Web Patrol with Strider Honey Monkeys: Finding Web Sites That Exploit Browser Vulnerabilities AUTHORS: Yi-Min Wang, Doug Beck, Xuxian Jiang,
Presented by Vaibhav Rastogi.  Advent of Web 2.0 and Mashups  Inclusion of untrusted third party content a necessity  Need to restrict the functionality.
An Evaluation of the Google Chrome Extension Security Architecture
JShield: Towards Real-time and Vulnerability-based Detection of Polluted Drive-by Download Attacks Yinzhi Cao*, Xiang Pan**, Yan Chen** and Jianwei Zhuge***
Web Defacement Anh Nguyen May 6 th, Organization Introduction How Hackers Deface Web Pages Solutions to Web Defacement Conclusions 2.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
Detection of Attacks with Proxy-based Execution Alex Kiaie, Benjamin Prosnitz, Yi Tang, Yinzhi Cao.
ACTIVE X By Ethan Huang. OUTLINE What is ActiveX? Component of ActiveX Why ActiveX? ActiveX and Java Security Issue.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Computer Security and Penetration Testing
Phu H. Phung Chalmers University of Technology JSTools’ 12 June 13, 2012, Beijing, China Joint work with Lieven Desmet (KU Leuven)
1 Subspace: Secure Cross Domain Communication for Web Mashups Collin Jackson and Helen J. Wang Mamadou H. Diallo.
Redefining Web Browser Principals with a Configurable Origin Policy Yinzhi Cao, Vaibhav Rastogi, Zhichun Li†, Yan Chen and Alexander Moshchuk†† Northwestern.
Subspace: Secure Cross-Domain Communication for Web Mashups Collin Jackson Stanford University Helen J. Wang Microsoft Research ACM WWW, May, 2007 Presenter:
JShield: Towards Real-time and Vulnerability-based Detection of Polluted Drive-by Download Attacks Yinzhi Cao*, Xiang Pan**, Yan Chen** and Jianwei Zhuge***
Microsoft ® Official Course Module 9 Configuring Applications.
Jarhead Analysis and Detection of Malicious Java Applets Johannes Schlumberger, Christopher Kruegel, Giovanni Vigna University of California Annual Computer.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chris Pinski.  History  What is Ajax  Who uses Ajax  Underlying Technologies  SE Aspect  Common Problems  Conclusion.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Prevent Cross-Site Scripting (XSS) attack
VEX: VETTING BROWSER EXTENSIONS FOR SECURITY VULNERABILITIES XIANG PAN.
Secure Web Applications via Automatic Partitioning Stephen Chong, Jed Liu, Andrew C. Meyers, Xin Qi, K. Vikram, Lantian Zheng, Xin Zheng. Cornell University.
BLUEPRINT: Robust Prevention of Cross-site Scripting Attacks for Existing Browsers Mike Ter Louw, V.N. Venkatakrishnan University of Illinois at Chicago.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
OMash: Enabling Secure Web Mashups via Object Abstractions Steven Crites, Francis Hsu, Hao Chen UC Davis.
VirtualBox What you need to know to build a Virtual Machine.
Designing Web Applications Thaddeus Diamond CPSC 112.
OMash: Enabling Secure Web Mashups via Object Abstractions Steven Crites, Francis Hsu, Hao Chen (UC Davis) ACM Conference on Computer and Communications.
AppShield: A Virtual File System in Enterprise Mobility Management Zhengyang Qu 1 Northwestern University, IL, US,
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
Defending Browsers against Drive-by Downloads:Mitigating Heap-Spraying Code Injection Attacks Authors:Manuel Egele, Peter Wurzinger, Christopher Kruegel,
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.
Proxy Servers.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
M. Alexander Helen J. Wang Yunxin Liu Microsoft Research 1 Presented by Zhaoliang Duan.
Vaibhav Rastogi and Yi Yang.  SOP is outdated  Netscape introduced this policy when most content on the Internet was static  Differences amongst different.
Ajax for Dynamic Web Development Gregory McChesney.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
ACM Conference on Computer and Communications Security 2006 Puppetnet: Misusing web browsers as a distributed attack infrastructure Network Seminar Presenter:
© 2011 IBM Corporation Hybrid Analysis for JavaScript Security Assessment Omer Tripp Omri Weisman Salvatore Guarnieri IBM Software Group Sep 2011.
Lesson 30: JavaScript and DHTML Fundamentals. Objectives Define and contrast client-side and server-side technologies used to create dynamic content for.
WebShield: Enabling Various Web User Defense Techniques without Client Side Modifications Yan Chen Lab for Internet and Security Technology (LIST) Northwestern.
SpyProxy SpyProxy Execution-based Detection of MaliciousWeb Content Execution-based Detection of MaliciousWeb Content Hongjin, Lee.
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
Software Security. Bugs Most software has bugs Some bugs cause security vulnerabilities Incorrect processing of security related data Incorrect processing.
Active X and Signed Applets Chad Bollard. Overview ActiveX  Security Features  Hidden Problems Signed Applets  Security Features  Security Problems.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
DHTML.
An Introduction to Web Application Security
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Static Detection of Cross-Site Scripting Vulnerabilities
Unit 6 part 3 Test Javascript Test.
Exploring DOM-Based Cross Site Attacks
Protecting Browsers from Extension Vulnerabilities
Mike Ter Louw, V.N. Venkatakrishnan University of Illinois at Chicago
Presentation transcript:

1 Yinzhi Cao, Zhichun Li *, Vaibhav Rastogi, Yan Chen, and Xitao Wen Labs of Internet Security and Technology Northwestern University * NEC Labs America Virtual Browser: a Virtualized Browser to Sandbox Third-party JavaScripts with Enhanced Security

Outline Introduction Related Work Design Security Analysis Evaluation Conclusions 2

Third-party JavaScripts are popular. –Web Mashups –Third-party Games –Widgets –Visitor Counters However, they share the same privilege as host web site, and thus –They can sabotage host web site. –They can exploit client browsers. So we propose: Virtual Browser, a virtualized browser built upon native browsers. Introduction 3

Outline Introduction Related Work Design Security Analysis Evaluation Conclusions 4

Related Work JavaScript level approaches –Static methods (ADSafe, FBJS, CoreScript, and Maffeis et al.) –Runtime Approaches (Microsoft Web Sandbox, and Google Caja) –Mixed Approaches (GateKeeper, Huang et al.) Native approaches –Browser modification (ConScript, MashupOS and WebJail) –Approaches using NaCl (AdSentry) –Approaches using iframes (AdJail and SMash) 5

JavaScript level approaches No dynamic JavaScript feature support (eval and with) Vulnerable to drive-by-download (especially unknown attacks) Vulnerable to browser quirks –Undocumented HTML/JavaScript parsing behavior such as is parsed as 6

Native approaches Modification to browsers. Many are vulnerable to drive-by-download attacks. 7

8

9

Therefore we propose: An approach that is (your take-away) –Robust to drive-by-download –Support dynamic JavaScript features –Supported by all the browsers –Robust to browser quirks 10 Virtual Browser

Outline Introduction Related Work Design Security Analysis Evaluation Conclusions 11

System Architecture 12

System Architecture 13

System Architecture 14 Only one parser: mitigating quirks

System Architecture 15

System Architecture 16

System Architecture 17

System Architecture 18

System Architecture 19

System Architecture 20

System Architecture 21

System Architecture 22

System Architecture 23 All written in JavaScript: supported by all browsers

System Architecture 24 Virtualization: Robust to drive-by- download

An Example 25 How to support dynamic features?

An Example 26

An Example 27

An Example 28

An Example 29

An Example 30

An Example 31

Outline Introduction Related Work Design Security Analysis Evaluation Conclusions 32

Security Analysis Isolating third-party JavaScript through Avoidance –Cutting off Outflows of Virtual Browser –Cutting off Inflows of Virtual Browser Communication between third-party JavaScript and trusted JavaScript –Data Security –Script Security –Securing Data Flows in Virtual Browser 33

Isolation through Avoidance Cutting off Outflows of Virtual Browser –We ensure third-party codes are trapped inside Virtual Browser. –An assumption: Any JavaScript code has to be parsed in the native JavaScript parsers before it can be executed in native browser. (1) Look up Manuals (2) Call Graph Analysis 34

Cutting off Outflows Cutting off Outflows of Virtual JavaScript Engine –Only eval and new Function will cause native parsing. –Call graph analysis also shows that. Cutting off Outflows of Virtual HTML and CSS parser :Similar So we avoid using eval and new Function in Virtual Browser source codes. 35

Cutting of Inflows Anonymous Object Encapsulation (function(){ this.evaluate= function () { codes } other codes }) (); 36

Communication through Redirection Data Security –General Data Security Mirrored Object Access Control –Such as Object Views 37 function String(s) { s = arguments.length ? "" + s : ""; if (this instanceof String){ this.value = s; return this; } return s; }

Communication through Redirection Data Security –Script Security Determined Scripts –Scripts that need immediate execution. (evaluate it) –Scripts that need delayed execution. (such as setTimeout) »Pseudo-function Pointer 38 setTimeout(function(){ execute(parsed node, exe context) },100)

Communication through Redirection Data Security –Script Security Undetermined Script –Privilege escalation may happen. –We are on par with existing solutions. –As shown by Finifter et al., we need to adopt narrow interface. 39

Securing Data Flows 40

Securing Data Flows 41 document.writeeval Redirect them back to virtual engine

Securing Data Flows 42 Prevented by encapsulation

Securing Data Flows 43 Privilege escalation: we are on par with existing solutions.

Securing Data Flows 44

Similar analysis can be applied to virtual CSS parser and HTML parser. 45

Outline Introduction Related Work Design Security Analysis Evaluation Conclusions 46

Evaluation Performance Evaluation –Speed –Memory Usage –Parsing Latency Browser Quirk Compatibility Robustness to Unknown JavaScript Vulnerability Completeness of Implementation 47

Performance Micro-benchmark 48 On par with Web Sandbox.

Performance Macro-benchmark (Game: Connect Four) 49

Memory Usage 50

Parsing Latency (JavaScript) 51

Parsing Latency (HTML) 52

Evaluation Robust to Browser Quirk –Robust to 113 browser quirks in XSS cheat sheet Robust to Unknown JavaScript Vulnerabilities –Robust to 14 JavaScript engine vulnerabilities in CVE Completeness of Implementation –Pass 96% test cases of ECMA-262 Edition 1 from Mozilla 53

Discussion Speed – Slow –Yes. However, latency is acceptable. –JavaScript engine is becoming faster and faster How do we deal with vulnerability of virtual engine? –Type safe language –Virtual engine adds another layer that make sure security. (Similar to Virtual Machine) 54

Outline Introduction Related Work Design Security Analysis Evaluation Conclusions 55

Conclusion We build Virtual Browser, a virtualized browser upon native browsers. We are –Robust to browser quirks. –Robust to drive-by-download. –Supported by all current browsers. –Support dynamic JavaScript features –And Slow – Yes, we are 56

Thanks Any Questions? 57