Using Replicated Execution for a More Secure and Reliable Browser Authors: Hui Xue, Nathan Dautenhahn, Samuel T. King University of Illinois at Urbana.

Slides:



Advertisements
Similar presentations
WEB BROWSER SECURITY By Robert Sellers Brian Bauer.
Advertisements

Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
An Evaluation of the Google Chrome Extension Security Architecture
Lesson 4: Web Browsing.
Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
BASE: Using Abstraction to Improve Fault Tolerance Rodrigo Rodrigues, Miguel Castro, and Barbara Liskov MIT Laboratory for Computer Science and Microsoft.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
The Medusa Proxy A Tool For Exploring User- Perceived Web Performance Mimika Koletsou and Geoffrey M. Voelker University of California, San Diego Proceeding.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Table, Forms, Metatags and Frames.
Frame isolation and the same origin policy Collin Jackson CS 142 Winter 2009.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Subspace: Secure Cross-Domain Communication for Web Mashups Collin Jackson Stanford University Helen J. Wang Microsoft Research ACM WWW, May, 2007 Presenter:
Subspace: Secure Cross-Domain Communication for Web Mashups In Proceedings of the 16th International World Wide Web Conference. (WWW), 2007 Collin Jackson,
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
FLOWFOX A WEB BROWSER WITH FLEXIBLE AND PRECISE INFORMATION CONTROL.
Accelerating Mobile Applications through Flip-Flop Replication
4.1 JavaScript Introduction
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
JSProxy: Safety from Javascript Benjamin Prosnitz, Tang Yi, Yinzhi Cao.
A Crawler-based Study of Spyware on the Web Authors: Alexander Moshchuk, Tanya Bragin, Steven D.Gribble, and Henry M. Levy University of Washington 13.
1 Approaches for Asynchronous Communication in Web Applications Stefan Potthast and Mike Rowe.
OWL Jan How Websites Work. “The Internet” vs. “The Web”?
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
Detecting Targeted Attacks Using Shadow Honeypots Authors: K.G. Anagnostakis, S. Sidiroglou, P. Akritidis, K. Xinidis, E. Markatos, A.D. Keromytis Published:
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Client-based Application Attacks Adli Abdul Wahid Dept. of Comp. Science, IIUM
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
SMash : Secure Component Model for Cross- Domain Mashups on Unmodified Browsers WWW 2008 Frederik De Keukelaere et al. Presenter : SJ Park.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
Building Secure Web Applications With ASP.Net MVC.
1 3 Computing System Fundamentals 3.4 Networked Computer Systems.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Web Caching and Replication Presented by Bhushan Sonawane.
M. Alexander Helen J. Wang Yunxin Liu Microsoft Research 1 Presented by Zhaoliang Duan.
The Module Road Map Assignment 1 Road Map We will look at… Internet / World Wide Web Aspects of their operation The role of clients and servers ASPX.
Vaibhav Rastogi and Yi Yang.  SOP is outdated  Netscape introduced this policy when most content on the Internet was static  Differences amongst different.
Browser Wars (Click on the logo to see the performance)
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
Safe browsing - is an ad-blocker extension enough? AIMILIOS TSOUVELEKAKIS IT-DI-CSO IT LIGHTNING TALK – 12/
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
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.
An Empirical Study of Visual Security Cues to Prevent the SSLstripping Attack Source: ACSAC 2011 Authors: Dongwan Shin, Rodrigo Lopes Report: Minhao Wu.
CSRF Attacks Daniel Chen 11/18/15. What is CSRF?  Cross Site Request Forgery (Sea-Surf)  AKA XSRF/ One Click / Sidejacking / Session Riding  Exploits.
Cloud Environment Spring  Microsoft Research Browser (2009)  Multi-Principal Environment with Browser OS  Next Step Towards Secure Browser 
Overview Web Technologies Computing Science Thompson Rivers University.
Software Security. Bugs Most software has bugs Some bugs cause security vulnerabilities Incorrect processing of security related data Incorrect processing.
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,
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Computer Basics Introduction CIS 109 Columbia College.
Web Technologies Computing Science Thompson Rivers University
WWW and HTTP King Fahd University of Petroleum & Minerals
World Wide Web policy.
Lesson 4: Web Browsing.
Data Virtualization Tutorial… CORS and CIS
UI-Performance Optimization by Identifying its Bottlenecks
CS 142 Lecture Notes: Network Security
HTML Level II (CyberAdvantage)
CS 142 Lecture Notes: Network Security
Browser Engine How it works…..
Lesson 4: Web Browsing.
CS 142 Lecture Notes: Network Security
Web Technologies Computing Science Thompson Rivers University
Introduction to JavaScript
Protecting Browsers from Extension Vulnerabilities
Cross Site Request Forgery (CSRF)
Presentation transcript:

Using Replicated Execution for a More Secure and Reliable Browser Authors: Hui Xue, Nathan Dautenhahn, Samuel T. King University of Illinois at Urbana Champaign Source: NDSS '12 Reporter: MinHao WU

Outline Example Introduction Design Implementation Evaluation Conclusion 2

Browsers Are Not Safe Browsers are plagued with vulnerabilities ◦ Internet Explorer: 59 new vulnerabilities in 2010 ◦ Firefox: 100 new vulnerabilities in 2010 ◦ Safari: 119 new vulnerabilities in 2010 ◦ Chrome: 191 new vulnerabilities in

Firefox Browser Exploit Example Firefox 3.0.x malicious popup by CVE

Opera: Exploit Fails Opera shows no popup 5

Reason: Browser Specific Vulnerabilities Different browsers different code bases The same bug often only in one browser 6

Cocktail: Mixing Browsers For Better Security 7

How Cocktail Works: Example 8 click HTTP GET Proxy HTTP GET a.com/i mg.png “a.com” server “a.com” server request img.png a.com/i mg.png ✓ ✓

How Cocktail Works: Example 9 click HTTP GET a.com/i mg.png “a.com” server “a.com” server request img.png a.com/i mg.png response img.png Qt DISPLAY Proxy ✓ ✓

Withstanding False Positive/Attack 10 click Proxy “a.com” server “a.com” server HTTP GET ✓ ✓ a.com/i mg.png HTTP GET a.com/questi on.png request img.png response img.png Qt DISPLAY

Observation : Opportunistic N-Version Programming 11 DOM Same specification “roughly” followed Different code base +

How to Compare Different Browsers? States to compare: display + network ◦ Display: vision based page layout abstraction Interaction with server Client side non-determinism 12

Challenge: Interaction with Server Pages from server can be different 13 “a.com” server “a.com” server A A B B C C

Solution Avoid major changes to browser ◦ Browsers self-update is easy ◦ Open source is not required Solution: proxy replication ◦ Replicate incoming network data with proxy  HTTPS handling: Man-in-the-middle 14

Solution: Proxy Replication One browser as seen by server 15 a.com server a.com server Page A Proxy Page A

Challenge: Client Side Non-determinism Same page content, different execution result 16 … randomId = Math.random(); url = “doubleclick.com?ad=” + randomId; … … randomId = Math.random(); url = “doubleclick.com?ad=” + randomId; …

Client Non-determinism Summary Script related randomness Browser specific behaviors ◦ E.g., Opera community 17 Random NumberMath.random() Date and Timenew Date() Browser Specific Valuewindow.opera; navigator.appName Browser Locale“EN” VS “en-US”………. …...

Solution Extension modifies script execution ◦ Overwrites Math, Date, window.opera Browser configuration change ◦ Disable Opera community ◦ Adjust browser locale 18 Firefox Cocktail Extension Cocktail Extension Opera Cocktail Extension Cocktail Extension Chrome Cocktail Extension Cocktail Extension

False Positive Browsers treat malformed URL differently 19 <iframe src=" tegoryhtml.aspx?userfeedguid=948fbed8-69ae b3c1-b9863e5ab24e&clicktag= ium.com/clk?2,13%...%2Flrec%2F,&CB={REQUES TID} width="300" height="250" scrolling="no" frameborder="0" marginheight="0" marginwidth="0” > Missing "

Why Cocktail Is More Secure Voting == Security Withstand some F.P. ◦ Only need 2 to proceed Ext. to eliminate non-determinism Looks like a good one Acts like a good one It is one uncompromised browser 20 Ckt Ext Ckt Ext Ckt Ext Ckt Ext Ckt Ext Ckt Ext Voting Proxy Voting Proxy DISPLA Y

Implementation 21

The UI component is responsible for providing the interface between the user and Cocktail, routing user input to each replica, and voting on the display states of each replica. The replica component maintains each browser replica, which all run in sandboxed environments. The network component is responsible for handling network requests from the replicas and voting on network requests. 22

UI replication ◦ Recorder and re-player: Extension ◦ Passing UI events across browsers: Proxy UI Display capturing and voting ◦ ImageMagick and OpenCV Proxy ◦ OpenSSL for MITM 23

Evaluation 24

Evaluation Security analysis ◦ User interaction: CVE ◦ Heap overflow: CVE ◦ DOS attack: Firefox DOS, April 2009 ◦ Same origin policy bypassing: CVE Performance ◦ 30% slower comparing to Firefox 25

Conclusion Mixing different browsers for better security ◦ Practical N-Version programming for browsers ◦ Cocktail mirrors all inputs across the different browser replicas and votes on all outputs to withstand attacks ◦ Our results showed that added little overhead to the page load latency times for the web sites we tested. 26