Shadow: Simple HPC for Systems Security Research

56
Shadow: Simple HPC for Systems Security Research Invited Talk Kansas State University September 25 th , 2013 Rob Jansen U.S. Naval Research Laboratory [email protected]

description

Shadow: Simple HPC for Systems Security Research. Invited Talk Kansas State University September 25 th , 2013. Rob Jansen U.S. Naval Research Laboratory [email protected]. Outline. Experimentation Ideology Shadow and its Design Use case: Overview: the Distributed Tor Network - PowerPoint PPT Presentation

Transcript of Shadow: Simple HPC for Systems Security Research

Page 1: Shadow:  Simple HPC for  Systems Security Research

Shadow: Simple HPC for Systems Security Research

Invited TalkKansas State UniversitySeptember 25th, 2013

Rob JansenU.S. Naval Research [email protected]

Page 2: Shadow:  Simple HPC for  Systems Security Research

Outline

● Experimentation Ideology

● Shadow and its Design

● Use case:– Overview: the Distributed Tor Network– Research: the Sniper Attack Against Tor

Page 3: Shadow:  Simple HPC for  Systems Security Research

Outline

● Experimentation Ideology

● Shadow and its Design

● Use case:– Overview: the Distributed Tor Network– Research: the Sniper Attack Against Tor

Page 4: Shadow:  Simple HPC for  Systems Security Research

Properties of Experimentation

Page 5: Shadow:  Simple HPC for  Systems Security Research

Network ResearchApproaches ProblemsLive Network Hard to manage, lengthy deployment,

security risks

PlanetLab Hard to manage, bad at modeling, not scalable

Simulation Not generalizable, inaccurate

Emulation Large overhead, kernel complexities

Page 6: Shadow:  Simple HPC for  Systems Security Research

Testbed Trade-offs

Controllable

Reproducible

Scalable

Accuracy

Convenient

Live Network X XPlanetLab ?Simulation X X X XEmulation X XShadow X X X ? X

Page 7: Shadow:  Simple HPC for  Systems Security Research

Outline

● Experimentation Ideology

● Shadow and its Design

● Use case:– Overview: the Distributed Tor Network– Research: the Sniper Attack Against Tor

Page 8: Shadow:  Simple HPC for  Systems Security Research

What is Shadow?

● Discrete event network simulator

● Runs real applications without modification

● Simulates time, network, crypto, CPU

● Models routing, latency, bandwidth

● Single Linux box without root privileges

Page 9: Shadow:  Simple HPC for  Systems Security Research

Shadow’s Capabilities

Page 10: Shadow:  Simple HPC for  Systems Security Research

Bootstrapping Shadow

Page 11: Shadow:  Simple HPC for  Systems Security Research

Virtual Network Configuration

Page 12: Shadow:  Simple HPC for  Systems Security Research

Virtual Host Configuration

Page 13: Shadow:  Simple HPC for  Systems Security Research

Simulation Engine

Page 14: Shadow:  Simple HPC for  Systems Security Research

Program Layout

Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

Page 15: Shadow:  Simple HPC for  Systems Security Research

Plug-in Wrapper Hooks

plugin_init()new_instance(argv, argc)

free_instance()instance_notify()

Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

Page 16: Shadow:  Simple HPC for  Systems Security Research

Function InterpositionLD_PRELOAD=/home/rob/libpreload.so

Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

libpreload (socket, write, …)

Page 17: Shadow:  Simple HPC for  Systems Security Research

Function InterpositionLD_PRELOAD=/home/rob/libpreload.so

hooks Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

libpreload (socket, write, …)

Page 18: Shadow:  Simple HPC for  Systems Security Research

Function Interposition

libpreload (socket, write, …)

LD_PRELOAD=/home/rob/libpreload.so

Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

hooks fopen

Page 19: Shadow:  Simple HPC for  Systems Security Research

Function Interposition

libpreload (socket, write, …)

LD_PRELOAD=/home/rob/libpreload.so

sock

et

Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

hooks fopen

Page 20: Shadow:  Simple HPC for  Systems Security Research

Function Interposition

libpreload (socket, write, …)

LD_PRELOAD=/home/rob/libpreload.so

wri

te

Libraries(libc, …)

Shadow Engine

(shadow-bin)

ShadowPlug-in

(application+wrapper)

hooks fopen

Page 21: Shadow:  Simple HPC for  Systems Security Research

Clang/LLVM (custom pass)

Virtual Context Switching

Page 22: Shadow:  Simple HPC for  Systems Security Research

Virtual Context Switching

Page 23: Shadow:  Simple HPC for  Systems Security Research

Shadow-Tor’s Accuracy

Page 24: Shadow:  Simple HPC for  Systems Security Research

Shadow-Tor’s Scalability

Memory: 20-30 MiB per virtual Tor host

Page 25: Shadow:  Simple HPC for  Systems Security Research

Outline

● Experimentation Ideology

● Shadow and its Design

● Use case:– Overview: the Distributed Tor Network– Research: the Sniper Attack Against Tor

Page 26: Shadow:  Simple HPC for  Systems Security Research

The Tor Anonymity Network

torproject.org

Page 27: Shadow:  Simple HPC for  Systems Security Research

How Tor Works

Page 28: Shadow:  Simple HPC for  Systems Security Research

How Tor Works

Page 29: Shadow:  Simple HPC for  Systems Security Research

How Tor Works

Page 30: Shadow:  Simple HPC for  Systems Security Research

How Tor Works

Page 31: Shadow:  Simple HPC for  Systems Security Research

How Tor Works

Tor protocol aware

Page 32: Shadow:  Simple HPC for  Systems Security Research

Outline

● Experimentation Ideology

● Shadow and its Design

● Use case:– Overview: the Distributed Tor Network– *Research: the Sniper Attack Against Tor

*Joint with Aaron Johnson, Florian Tschorsch, Björn Scheuermann

Page 33: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

exitentry

Page 34: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

One TCP Connection Between Each Relay,Multiple Circuits

exitentry

Page 35: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

One TCP Connection Between Each Relay,Multiple Circuits

Multiple Application Streams

exitentry

Page 36: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

No end-to-end TCP!

exitentry

Page 37: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

Tor protocol aware

exitentry

Page 38: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

Packaging End

DeliveryEnd

exitentry

Page 39: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

Packaging End

DeliveryEnd

exitentry

Page 40: Shadow:  Simple HPC for  Systems Security Research

Tor Flow Control

1000 Cell Limit

SENDME Signal Every 100 Cells

exitentry

Page 41: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

● Low-cost memory consumption attack

● Disables arbitrary Tor relays

● Anonymous if launched through Tor

Page 42: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

Start Download

Request

exitentry

Page 43: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

Reply

DATAexitentry

Page 44: Shadow:  Simple HPC for  Systems Security Research

The Sniper AttackPackage and Relay DATA

DATA

DATAexitentry

Page 45: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

DATA

DATA

Stop Reading from Connection

DATA

Rexitentry

Page 46: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

DATA

DATA

DATADATADATADATADATADATA

Rexitentry

Page 47: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

DATA

DATA

DATADATADATADATADATADATA

Periodically Send SENDME SENDME

R

DATADATADATADATADATA

exitentry

Page 48: Shadow:  Simple HPC for  Systems Security Research

The Sniper Attack

DATA

DATA

DATADATADATADATADATADATA

Out of Memory, Killed by OS

R

DATADATADATADATADATA

exitentry

Page 49: Shadow:  Simple HPC for  Systems Security Research

Memory Consumed over Time

Page 50: Shadow:  Simple HPC for  Systems Security Research

Mean RAM Consumed, 50 Relays

Page 51: Shadow:  Simple HPC for  Systems Security Research

Mean BW Consumed, 50 Relays

Page 52: Shadow:  Simple HPC for  Systems Security Research

Sniper Attack Defenses

● Authenticated SENDMEs

● Queue Length Limit

● Adaptive Circuit Killer

Page 53: Shadow:  Simple HPC for  Systems Security Research

Circuit-Killer Defense

Page 54: Shadow:  Simple HPC for  Systems Security Research

Sniper Attack Implications

● Reduce Tor’s capacity

● Network Denial of Service

● Influence path selection (selective DoS)

● Deanonymization of hidden services

Page 55: Shadow:  Simple HPC for  Systems Security Research

Outline

● Experimentation Ideology

● Shadow and its Design

● Use case:– Overview: the Distributed Tor Network– Research: the Sniper Attack Against Tor

Page 56: Shadow:  Simple HPC for  Systems Security Research

Questions?shadow.github.io

github.com/shadow

cs.umn.edu/[email protected]

think like an adversary