secure web browsers, malicious hardware, and hardware support for binary translation sam king

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

Upload: della-cain

Post on 17-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

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

Secure web browsers, malicious hardware, and hardware support

for binary translation

Sam King

Page 2: 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

– Email, 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

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

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

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

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 sandboxing4/14

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

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

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

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

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

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

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

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

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

Untrusted computing base: defending against malicious hardware

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

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

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

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

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

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– 3rd party tools and libraries– Principles learned from exercise could apply to OS

• Fundamentally an issue untrusted lower layers12/14

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

Hardware support for dynamic binary translation

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

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

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

Questions?

15/14

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

Performance

• Load latencies do not impact usabilityLoad time in seconds

16/14