Secure web browsers, malicious hardware, and hardware support for binary translation Sam King.

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

Applications of Feather-Weight Virtual Machines (FVMs) Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science.
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
Rung-Bin Lin Chapter 4: Exploiting Instruction-Level Parallelism with Software Approaches4-1 Chapter 4 Exploiting Instruction-Level Parallelism with Software.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
REDUNDANT ARRAY OF INEXPENSIVE DISCS RAID. What is RAID ? RAID is an acronym for Redundant Array of Independent Drives (or Disks), also known as Redundant.
New Direction for Software Protection in Embedded Systems Department of EECS University of Michigan Feb 22, 2007 Kang G. Shin.
System and Network Security Practices COEN 351 E-Commerce Security.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
1 RAKSHA: A FLEXIBLE ARCHITECTURE FOR SOFTWARE SECURITY Computer Systems Laboratory Stanford University Hari Kannan, Michael Dalton, Christos Kozyrakis.
1 Subspace: Secure Cross Domain Communication for Web Mashups Collin Jackson and Helen J. Wang Mamadou H. Diallo.
Norman SecureSurf Protect your users when surfing the Internet.
Client/Server Architectures
BY- NIKHIL TRIPATHI 12MCMB10.  What is a FIREWALL?  Can & Can’t in Firewall perspective  Development of Firewalls  Firewall Architectures  Some Generalization.
Cloud Computing Saneel Bidaye uni-slb2181. What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet.
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Cosc 4010 Sandboxing. Last lecture Last time, we covered chroot, which is a method to "sandbox" a problem. –Not full proof by any means. Many simple mistakes.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Native Client: A Sandbox for Portable, Untrusted x86 Native Code
CS533 Concepts of Operating Systems Jonathan Walpole.
Interception and Analysis Framework for Win32 Scripts (not for public release) Tim Hollebeek, Ph.D.
COMPUTER SECURITY MIDTERM REVIEW CS161 University of California BerkeleyApril 4, 2012.
Defending Browsers against Drive-by Downloads:Mitigating Heap-Spraying Code Injection Attacks Authors:Manuel Egele, Peter Wurzinger, Christopher Kruegel,
CE Operating Systems Lecture 3 Overview of OS functions and structure.
COMP 111 Threads and concurrency Sept 28, Tufts University Computer Science2 Who is this guy? I am not Prof. Couch Obvious? Sam Guyer New assistant.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Virtual Workspaces Kate Keahey Argonne National Laboratory.
Processes Introduction to Operating Systems: Module 3.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
M. Alexander Helen J. Wang Yunxin Liu Microsoft Research 1 Presented by Zhaoliang Duan.
Operating Systems Security
Wireless and Mobile Security
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
Efficient software-based fault isolation Robert Wahbe, Steven Lucco, Thomas Anderson & Susan Graham Presented by: Stelian Coros.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Cloud Environment Spring  Microsoft Research Browser (2009)  Multi-Principal Environment with Browser OS  Next Step Towards Secure Browser 
Efficient Software-Based Fault Isolation Authors: Robert Wahbe Steven Lucco Thomas E. Anderson Susan L. Graham Presenter: Gregory Netland.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
1 SHARCS: Secure Hardware-Software Architectures for Robust Computing Systems Sotiris Ioannidis FORTH.
By: Keith Reiter COSC 356. Today’s Agenda Introduction Types of firewalls Firewall Access Rules Firewall Logging Who needs a firewall Summary.
WAN Technologies. 2 Large Spans and Wide Area Networks MAN networks: Have not been commercially successful.
Self-Securing Devices: Better Security via Smarter Devices Greg Ganger Director, Parallel Data Lab.
Computer System Structures
Chapter 6: Securing the Cloud
Efficient Software-Based Fault Isolation
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Introduction to Operating Systems
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Defending against malicious hardware
Introduction to Operating Systems
A Survey on Virtualization Technologies
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Outline Chapter 2 (cont) OS Design OS structure
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Shielding applications from an untrusted cloud with Haven
Introduction to Virtual Machines
System calls….. C-program->POSIX call
Introduction to Virtual Machines
Presentation transcript:

Secure web browsers, malicious hardware, and hardware support for binary translation Sam King

Browser motivation Browsers most commonly used application today Browsers are an application platform – , banking, investing, shopping, television, and more! Browsers are plagued with vulnerabilities – Internet Explorer: 57 vulnerabilities – Mozilla/Firefox: 122 vulnerabilities – Safari + Opera: 66 vulnerabilities Studies from Microsoft, Google, and University of Washington show web browser is attacker target 2/14

The OP Browser Goal: build a secure web browser Provide an architecture for secure web browsing – Maintain security guarantees even when compromised Driven by OS and formal methods design principles 3/14

OP design Decompose into browser subsystems – Web page instance further divided Use message passing – All messages through browser kernel Dedicated subsystems for OS operations Host OS sandboxing 4/14

Design enables security Partitioning and constrained communication enable new security mechanisms – Clean separation of browser functionality and security Policy – Plugin security policies, xss Formal methods – SOP + URL address bar invariant 5/14

Research questions OP: more secure browser can be practical – Hopefully no longer weakest link in comp. stack Can you operate with a malicious OS? – What portions of the OS does browser kernel replicate? – What portions of the OS does browser kernel rely on? 6/14

Replicate portions of the OS Extracts parts of OS needed for web client sec – Custom labeling and access control system – RPC / message passing layer – Window manager (limited extent) 7/14

Assumptions about OS Process-level isolation (easy) – Memory protection – well-known IPC mechanisms System-level sandboxing (moderate) – Isolate processes from system resources – Restrict system call capabilities Resource management (hard) – Create processes, message forwarding and naming – Network, disk, screen Possible techniques for enforcing assumptions – Bottom up: SVA, binary trans, hardware isolation primitives – Top down: Simple web client, not a full browser 8/14

Untrusted computing base: defending against malicious hardware

Building secure systems We make assumptions when designing secure systems Break secure system, break assumptions – E.g., look for crypto keys in memory People assume hardware is correct What if we break this assumption? 10/14

Malicious hardware Is it possible to modify design of processors? Implementing hardware is difficult Implementing HW-based attacks is easy! – Small hardware level footholds – Execute high-level high-value attacks WITHOUT exploiting any software bugs 11/14

Defenses Based on insights from foothold devel. Analyze circuit at design time Highlight potentially malicious circuits Closely related to operating systems – Both have symbolic representation, compiled – 3 rd party tools and libraries – Principles learned from exercise could apply to OS Fundamentally an issue untrusted lower layers 12/14

Hardware support for dynamic binary translation

H/W for dynamic bin. trans. Problem: instrument individual inst is slow – Especially true for security applications Goal: amortize the cost across mult. instructions – Fast path for common case, efficient check for correct E.g., don’t read tainted memory – Slow path for correct (fully instrumented) case Solution: hardware support – HW signatures (e.g., bloom filter) to summarize E.g., addresses for load / store instructions – Apply known tricks to security case Extra registers, parallel optimization, atomic regions, etc. 14/14

Questions? 15/14

Performance Load latencies do not impact usability Load time in seconds 16/14