Shadow: Running T or in a Box for Accurate and Efficient - - PowerPoint PPT Presentation

shadow running t or in a box for accurate and efficient
SMART_READER_LITE
LIVE PREVIEW

Shadow: Running T or in a Box for Accurate and Efficient - - PowerPoint PPT Presentation

Shadow: Running T or in a Box for Accurate and Efficient Experimentation Rob Jansen and Nick Hopper University of Minnesota U.S. Naval Research Laboratory rob.g.jansen@nrl.navy.mil Anonymity with T or Client Relays Server T or in a Box


slide-1
SLIDE 1

Shadow: Running T

  • r in a Box for

Accurate and Efficient Experimentation

Rob Jansen and Nick Hopper University of Minnesota U.S. Naval Research Laboratory rob.g.jansen@nrl.navy.mil

slide-2
SLIDE 2

Anonymity with T

  • r

Client Relays Server

slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6

T

  • r in a Box with Shadow

➔ Discrete event network simulator

  • Natively executes real applications
  • Simulates time, network, crypto, CPU
  • Model latency and bandwidth

➔ Effjcient, accurate, controlled ➔ Single Linux-box without root

Linux

slide-7
SLIDE 7

Shadow's Design I

➔ Simulation blueprint ➔ Discrete time events

slide-8
SLIDE 8

Shadow's Design II

➔ Node management ➔ Function interposition

Tor Memory Space Shadow Memory Space A B Context Switch

slide-9
SLIDE 9

Scallion – A Plug-in Running T

  • r

➔ Integrates T

  • r into Shadow

➔ Scalability

  • 1250 nodes in 10 GB RAM,

5x* - 10x** slowdown

  • 5750 nodes in 60 GB RAM,

40x** slowdown

* 3.3 GHz AMD Phenom II X6 1100T ** 2.2 GHz AMD Opteron 6174

slide-10
SLIDE 10

Accuracy Shadowing T

  • r
slide-11
SLIDE 11

Demonstrating Shadow's Utility

Shadow Tang & Goldberg [CCS 10]

slide-12
SLIDE 12

Lightly Loaded T

  • r

Heavily Loaded T

  • r

Web Bulk

slide-13
SLIDE 13

Conclusion

➔ Effjcient, accurate, controllable, repeatable ➔ T

  • r experiments on one machine
  • Larger scale than previously possible
  • New results from new capabilities

➔ Able to run many applications ➔ Freely available and usable software

slide-14
SLIDE 14

Questions?

rob.g.jansen@nrl.navy.mil cs.umn.edu/~jansen shadow.cs.umn.edu github.com/shadow

slide-15
SLIDE 15

How T

  • r Works

Client Relays Server

slide-16
SLIDE 16

T esting T

  • r Improvements

➔ Most popular anonymous communication system

  • 500K – 1M users

➔ New algorithms/protocols need testing ➔ No standard experimentation approach

slide-17
SLIDE 17

Recent T

  • r Experimentation*

Live Tor and PlanetLab Bauer et al. [WPES 07], Hopper et al. [CCS 07], Tang and Goldberg [WPES 07], McCoy et al. [PETS 08], Snader and Borisov [NDSS 08], McLachlan and Hopper [WPES 09], McLachlan et al. [CCS 09], Chaabane et al. [NSS 10], Mulazzani et al. [CMS 10], Tang and Goldberg [CCS 10], Luo et al. [ACSAC 11] Emulation Chakravarty et al. [ESORICS 10], AlSabah et al. [PETS 11], Moore et al. [ACSAC 11] Simulation and Modeling Borisov et al. [CCS 07], O'Gorman and Blott [ASIAN 2007], Murdoch and Watson [PETS 08], Ngan et al. [FC 10], Jansen et al. [CCS 10] * Not a comprehensive list

slide-18
SLIDE 18

Network Experimentation

Approach Disadvantages Simulation Not generalizable, inaccurate Emulation Large overhead, kernel complexities PlanetLab Hard to manage, bad at modeling

z

slide-19
SLIDE 19

T

  • r in a Box with Shadow

➔ Discrete event network simulator ➔ Runs real application without modifjcation ➔ Accurate, effjcient, scalable ➔ Runs on Linux without

root privileges

slide-20
SLIDE 20

Shadow Architecture

slide-21
SLIDE 21

Function Interposition

➔ Intercept, redirect function calls ➔ $ readelf -s shadow

  • 0 FUNC GLOBAL UND socket@@GLIBC_2.2.5
  • 210 FUNC GLOBAL 13 vsocket_socket

➔ $ ldd shadow

  • libm.so.6 => /lib64/libm.so.6
  • libdl.so.2 => /lib64/libdl.so.2
  • libc.so.6 => /lib64/libc.so.6
slide-22
SLIDE 22

Function Interposition

➔ LD_PRELOAD=/home/rob/libpreload.so ➔ Search my library fjrst

application libpreload shadow libc, libm, libdl, ...

slide-23
SLIDE 23

T

  • r Circuit Scheduling

Relay Circuit Input Output

slide-24
SLIDE 24

T

  • r Circuit Scheduling

Relay Circuit Input Output

slide-25
SLIDE 25

T

  • r Circuit Scheduling

Relay Circuit Input Output

slide-26
SLIDE 26

T

  • r Circuit Scheduling

Relay Circuit Input Output

slide-27
SLIDE 27

T

  • r Circuit Scheduling

Relay Circuit Input Output

Round Robin

slide-28
SLIDE 28

T

  • r Circuit Scheduling

Relay Circuit Input Output 2

EWMA [Tang and Goldberg CCS 2010]

slide-29
SLIDE 29

T

  • r Circuit Scheduling

Relay Circuit Input Output

EWMA [Tang and Goldberg CCS 2010]

2 2

slide-30
SLIDE 30

EWMA: Bottleneck

10 MiB/s 10 MiB/s 1 MiB/s

slide-31
SLIDE 31

EWMA: Bottleneck

slide-32
SLIDE 32

Summary

➔ Simulate time, network stack, crypto ciphers ➔ Model network latency and node bandwidth from

real measurements

➔ Natively executes real application code