somesh jha university of wisconsinemc/2014/speakers/someshjhaemc14.pdf · somesh jha university of...

Post on 16-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Some Reflections on Working with Ed Clarke

Somesh Jha University of Wisconsin

Clarke Symposium 2

Entered CMU in 1992 After working in IBM in the compiler group

Immigration Course

• Various faculty speak about their research

Thoroughly confused!

Clarke Symposium 3

Nico Haberman Chair of CS

Used to come to several talks

I requested a meeting

~30 minutes chat

Clarke Symposium 4

Working with Ed First Few Papers

Verification of Futurebus+ Cache-Coherence Protocol Symmetry in Model Checking

Improved fix-point algorithms

Clarke Symposium 5

Some General Thoughts Insisted that all his students take grad

logic I and 2 with Peter Andrews • Used ETPS (Thanks Frank!)

Never stopped me from taking classes

• Took a ton of classes!

Clarke Symposium 6

Some General Thoughts Really good about fostering collaborations Really good at making “abstract

connections” Responsible for getting me into security

• Brutus (Marrero, Clarke, Jha) • Combined model checking with natural

deduction

Clarke Symposium 7

Marrero’s Defense

Clarke Symposium 8

Clarke Symposium 9

Synthesis of Secure Programs

News is Grim See talks at

• DARPA Cyber Colloqium • http://www.darpa.mil/Cyber_Colloqium_Prese

ntations.aspx

What do we do?

Clarke Symposium 11

Clean-slate Design Rethink the entire system stack

Networks

• NSF program o See http://cleanslate.stanford.edu

• See DARPA Mission Resilient Clouds (MRC) program

Hosts • DARPA CRASH program

Clarke Symposium 12

Clarke Symposium 13

Some Interesting Systems Operating systems with powerful capabilities

• Asbestos, HiStar, Flume • Capsicum • ….

Virtual-machine based • Proxos • Overshadow

Possible to build applications with strong guarantees • Web server: No information flow between threads

handling different requests

Clarke Symposium 14

What happens to all the code? Should we implement all the code from

scratch? Can we help programmers adapt their code

for these new platforms?

Analogy • We have strong foundation • Can we build a strong house on top of it?

Clarke Symposium 15

Retrofitting legacy code

Need systematic techniques to retrofit legacy code for security

Legacy code

Retrofitted code

INSECURE SECURE

Presenter
Presentation Notes
Legacy code won’t go away, and their security problems won’t go away. We need systematic techniques to retrofit legacy code with security mechanisms.

Premise Techniques and ideas from

• Verification • Static Analysis • …

Can help with this problem

Clarke Symposium 16

Collaborators and Funding

Clarke Symposium 17

The Problem

Clarke Symposium 18

Rewriting Programs for a Capability System

[Harris et. al., Oakland 2013]

Basic problem: take an insecure program and a policy, instrument program to invoke OS primitives to satisfy the policy Key technique: reduce to safety game

between program and instrumentation

Clarke Symposium 19

The Technique

Clarke Symposium 20

Weaving as a Game Two steps: 1. Model uninstrumented program,

policy, and Capsicum as languages/automata

2. From automata, translate weaving problem to a two-player safety game

Clarke Symposium 21

fork

parse_cl noop drop

body body

ret compr

open open

noop drop

loop

call compr

noop

join

Presenter
Presentation Notes
-transition slide: show the sub-strategy

ret compr /

fork

parse_cl parse_cl / drop

body

ret compr

open

noop

loop

call compr

noop

join

body /

loop /

call compr /

open /

noop

Presenter
Presentation Notes
-go from strategy to instrumentation

24

Questions

Clarke Symposium

Summary

Clarke Symposium 25

Insecure Program gzip() { … compr(); … } compr(…) { … }

Secure Program gzip() { … fork_compr(); … } compr(…) { drop(); … }

Disallowed Executions .* [ compr() with high cap ] | .* [ open() with low cap ]

capweave

top related