quark: formally verified web browserztatlock/pubs/...quark: formally verified web browser zachary...

1
QUARK: Formally Verified Web Browser Zachary Tatlock, Dongseok Jang, Sorin Lerner Design Shim Verification Evaluation QUARK KERNEL Tabs Net Privilege Separation Simple Interfaces Components run with minimal privilege Sandbox complex, vulnerable parts ( ) Impl. and verify trusted kernel in Coq ( ) Kernel orchestrates messaging over pipes Components access resources via kernel Simple kernel; state-of-the-art tabs (WebKit) Kernel as Restrictive Wrapper Trace Based Reasoning Guarantee behavior of entire system Only reason about tiny fraction of code Thin shim restricts even exploited components to only approved actions Enables us to use off-the- shelf rendering engine Formalize behavior as seq of syscalls Chain of recv / send to process messages ... QUARK KERNEL Security Guarantees Specification Implementation Tab Isolation Cookie Integrity Address Bar Integrity Enum. valid exchanges Abstract impl. details Message exchange Resource management Written in Coq + YNot Verification Effort Performance Robustness Support rich apps: 165 lines sec. props 4k line Coq proof Spec eases mods Base for new policies 0 1 2 3 Normalized to WebKit Optimizations reduce overhead to 20%

Upload: others

Post on 27-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: QUARK: Formally Verified Web Browserztatlock/pubs/...QUARK: Formally Verified Web Browser Zachary Tatlock, Dongseok Jang, Sorin Lerner Design Shim Verification Evaluation QUARK KERNEL

QUARK: Formally Verified Web BrowserZachary Tatlock, Dongseok Jang, Sorin Lerner

Design Shim Verification

Evaluation

QUARK KERNEL

TabsNet

Privilege Separation

Simple Interfaces

Components run with minimal privilege

Sandbox complex, vulnerable parts ( )

Impl. and verify trusted kernel in Coq ( )

Kernel orchestrates messaging over pipes

Components access resources via kernel

Simple kernel; state-of-the-art tabs (WebKit)

Kernel as Restrictive Wrapper

Trace Based Reasoning

Guarantee behavior of entire system

Only reason about tiny fraction of code

Thin shim restricts even exploited components to only approved actions

Enables us to use off-the-shelf rendering engine

Formalize behavior as seq of syscalls

Chain of recv / send to process messages

...QUARK KERNEL

Security Guarantees

Specification

Implementation

Tab IsolationCookie IntegrityAddress Bar Integrity

Enum. valid exchangesAbstract impl. details

Message exchangeResource managementWritten in Coq + YNot

Verification Effort Performance RobustnessSupport rich apps:165 lines sec. props

4k line Coq proof

Spec eases mods

Base for new policies0

1

2

3

Nor

mal

ized

to W

ebKi

t

Optimizations reduce overhead to 20%