Securing the Frisbee Multicast Disk Loader Robert Ricci, Jonathon - - PowerPoint PPT Presentation

securing the frisbee multicast disk loader
SMART_READER_LITE
LIVE PREVIEW

Securing the Frisbee Multicast Disk Loader Robert Ricci, Jonathon - - PowerPoint PPT Presentation

Securing the Frisbee Multicast Disk Loader Robert Ricci, Jonathon Duerig University of Utah 1 What is Frisbee? 2 Frisbee is Emulabs tool to install whole disk images from a server to many clients using multicast 3 What is our goal? 4


slide-1
SLIDE 1

1

Securing the Frisbee Multicast Disk Loader

Robert Ricci, Jonathon Duerig University of Utah

slide-2
SLIDE 2

2

What is Frisbee?

slide-3
SLIDE 3

3

Frisbee is Emulab’s tool to install whole disk images from a server to many clients using multicast

slide-4
SLIDE 4

4

What is our goal?

slide-5
SLIDE 5

5

Motivation

 Frisbee was developed for a relatively

trusting environment

 Existing features were to prevent accidents

 Changing Environment

 More users  More sensitive experiments  More private images

slide-6
SLIDE 6

6

Security Goals

 Confidentiality  Integrity Protection  Authentication

 Ensure that an image is authentic

 Use cases

 Public images  Private images

slide-7
SLIDE 7

7

Our Contribution

 Analyze and describe a new and

interesting threat model

 Protect against those threats while

preserving Frisbee’s essential strengths

slide-8
SLIDE 8

8

Outline

 Motivation  Frisbee Background  Threat Model  Protecting Frisbee  Evaluation

slide-9
SLIDE 9

9

Frisbee & Emulab

slide-10
SLIDE 10

10

Emulab

slide-11
SLIDE 11

11

Control Plane

slide-12
SLIDE 12

12

Frisbee’s Strengths

slide-13
SLIDE 13

13

Frisbee’s Strengths

 Disk Imaging System

 General and versatile  Robust

 Fast

 Loads a machine in 2 minutes

 Scalable

 Loads dozens of machines in 2 minutes

 Hibler et al. (USENIX 2003)

slide-14
SLIDE 14

14

How Does Frisbee Work?

slide-15
SLIDE 15

15

Creation

Source

Frisbee Life Cycle

Installation

Targets Fileserver

Distribution

Control Server

Storage

slide-16
SLIDE 16

16

Image Layout

 Image is divide into

chunks

 Each chunk is

independently installable

 Start receiving

chunks at any point

 Chunks are multicast

Allocated Blocks Free Blocks

Source Disk

Header Compressed Data Header Compressed Data

Stored Image

Chunk

slide-17
SLIDE 17

17

Outline

 Motivation  Frisbee Background  Threat Model  Protecting Frisbee  Evaluation

slide-18
SLIDE 18

18

Potential Attackers

slide-19
SLIDE 19

19

Potential Attackers

 Firewall

 Frisbee traffic can’t leave control network  Forged Frisbee traffic can’t enter control

network

 Any attackers are inside Emulab

 Compromised Emulab node  Infiltrated Emulab server  Emulab user

slide-20
SLIDE 20

20

Vectors for Attack in Emulab

 Space Shared

 Multiple users on the testbed at the same time

 Shared control network

 Frisbee runs on control network

 No software solution to limit users

 Users have full root access to their nodes

slide-21
SLIDE 21

21

What do attackers want?

slide-22
SLIDE 22

22

What do attackers want?

 Steal your data

 Malicious software (security research)  Unreleased software (trade secrets)

 Modify your image

 Denial of Service  Add a backdoor

 /etc/passwd  ssh daemon

 Tainting results

slide-23
SLIDE 23

23

Frisbee Weakpoints

slide-24
SLIDE 24

24

Frisbee Weakpoints

Targets Fileserver Steal & Modify Control Server Steal & Modify

Distribution Installation Storage

slide-25
SLIDE 25

25

How do the attacks work?

slide-26
SLIDE 26

26

Storage Attack

 Images are stored on a common fileserver  All users have shell access on this server  Images are protected by UNIX

permissions

 Any escalation of privilege attacks

compromise images

slide-27
SLIDE 27

27

Distribution Attack

 Emulab is space shared  A single control network is used to

communicate with all nodes

 Join multicast group

 No security protection in IP multicast

 Receive copies of packets  Inject packets into stream

slide-28
SLIDE 28

28

Multicast

Targets Frisbee Server

slide-29
SLIDE 29

29

Outline

 Motivation  Frisbee Background  Threat Model  Protecting Frisbee  Evaluation

slide-30
SLIDE 30

30

Storage and Distribution Attacks

 Two birds with one stone  End-to-end encryption & authentication

 Image creation: Encrypt & Sign  Image installation: Decrypt & Verify  Same techniques prevent both attacks

 Distribution protocol remains identical

slide-31
SLIDE 31

31

Confidentiality

 Encrypted at image creation

 Remains encrypted on fileserver

 Decrypted only at image installation  Details

 Encryption algorithm: Blowfish  Encrypt after compression

slide-32
SLIDE 32

32

Integrity Protection & Authentication

 Calculate cryptographic hash

 Breaks backwards compatibility

 Sign hash using public-key cryptography

(RSA)

slide-33
SLIDE 33

33

Chunk by Chunk

 Each chunk is self-

describing

 Hash & sign each

chunk independently

 CBC restarts at each

chunk

 Each header must have

 Digital Signature  Initialization Vector

Header Encrypted Data Header Encrypted Data

Chunk

Header Compressed Data Header Compressed Data

slide-34
SLIDE 34

34

Image Authentication

 Weakness

 Cut and paste attacks

 Give each image a unique UUID and put

that in chunk headers

 UUID is a 128 bit universal identifier  Can be selected randomly

slide-35
SLIDE 35

35

Key Distribution

 Through secure control channel

 Already part of Emulab  Encrypted using SSL with well-known certificate  TCP spoofing prevented by Utah Emulab’s network

setup

 No forged MAC addresses  No forged IP addresses

 Key can come from user

 Flexible policy for images

 Not yet integrated into Emulab

slide-36
SLIDE 36

36

Outline

 Motivation  Frisbee Background  Threat Model  Protecting Frisbee  Evaluation

slide-37
SLIDE 37

37

Experimental Procedure

 Machine Specs

 3 GHz Pentium IV Xeon  2 GB RAM

 Measurement

 CPU time

 Network and disk usage unaffected

 Per chunk

 Typical Image has 300 chunks (300 MB)

slide-38
SLIDE 38

38

Performance

53.8 208.8 44.5 198.5 34.3 187.9 50 100 150 200 250 Install Create Time per chunk (ms) Base Signed Hash Signed Hash + {En,De}cryption

slide-39
SLIDE 39

39

Conclusion

slide-40
SLIDE 40

40

Conclusion

 Frisbee faces an unusual set of attacks

 Cause: Space sharing of infrastructure

 Frisbee can be secured against these

attacks

 Cost: An extra 6 seconds for an average

image

slide-41
SLIDE 41

41

Emulab

http://www.emulab.net

slide-42
SLIDE 42

42

slide-43
SLIDE 43

43

Preventing Disk Leakage

slide-44
SLIDE 44

44

Disk Leakage

 Disks are time shared  Frisbee is aware of

filesystem  Does not write free blocks  Old image will not be

completely overwritten

 Another user could read

the unwritten parts

slide-45
SLIDE 45

45

Fixing Disk Leakage

 Zero out disks on

next disk load

 Implemented in

Frisbee

 Much slower

slide-46
SLIDE 46

46

Comparison to Symantec Ghost

slide-47
SLIDE 47

47

slide-48
SLIDE 48

48

Image Creation (CPU per chunk)

11.1% 20.9 208.8 Signed Hash + Encryption 5.6% 10.5 198.5 Signed Hash 187.9 Base Overhead (%) Overhead (ms) Time (ms)

slide-49
SLIDE 49

49

Image Installation (CPU per chunk)

56.8% 19.5 53.8 Signed Hash + Decryption 29.5% 10.2 44.5 Signed Hash 34.3 Base Overhead (%) Overhead (ms) Time (ms)

slide-50
SLIDE 50

50

Disk Imaging Matters

 Data on a disk or partition, rather than file,

granularity

 Uses

 OS installation  Catastrophe recovery

 Environments

 Enterprise  Clusters  Utility computing  Research/education environments

slide-51
SLIDE 51

51

Key Design Aspects

 Domain-specific data compression  Two-level data segmentation  LAN-optimized custom multicast protocol  High levels of concurrency in the client

slide-52
SLIDE 52

52

Image Creation

 Segments images into self-describing

“chunks”

 Compresses with zlib  Can create “raw” images with opaque

contents

 Optimizes some common filesystems

 ext2, FFS, NTFS  Skips free blocks

slide-53
SLIDE 53

53

Image Distribution Environment

 LAN environment

 Low latency, high bandwidth  IP multicast  Low packet loss

 Dedicated clients

 Consuming all bandwidth and CPU OK

slide-54
SLIDE 54

54

Custom Multicast Protocol

 Receiver-driven

 Server is stateless  Server consumes no bandwidth when idle

 Reliable, unordered delivery  “Application-level framing”  Requests block ranges within 1MB chunk

slide-55
SLIDE 55

55

Client Operation

 Joins multicast channel

 One per image

 Asks server for image size  Starts requesting blocks

 Requests are multicast

 Client start not synchronized

slide-56
SLIDE 56

56

Client Requests

Request

slide-57
SLIDE 57

57

Client Requests

Block

slide-58
SLIDE 58

58

Tuning is Crucial

 Client side

 Timeouts  Read-ahead amount

 Server side

 Burst size  Inter-burst gap

slide-59
SLIDE 59

59

Image Installation

 Pipelined with distribution

 Can install chunks in any

  • rder

 Segmented data makes

this possible

 Three threads for overlapping

tasks

 Disk write speed the bottleneck  Can skip or zero free blocks

Decompression Disk Writer Blocks Chunk Distribution Decompressed Data

slide-60
SLIDE 60

60

Evaluation

slide-61
SLIDE 61

61

Performance

 Disk image

 FreeBSD installation used on Emulab  3 GB filesystem, 642 MB of data  80% free space  Compressed image size is 180 MB

 Client PCs

 850 MHz CPU, 100 MHz memory bus  UDMA 33 IDE disks, 21.4 MB/sec write speed  100 Mbps Ethernet, server has Gigabit

slide-62
SLIDE 62

62

Speed and Scaling

slide-63
SLIDE 63

63

FS-Aware Compression

slide-64
SLIDE 64

64

Packet Loss

slide-65
SLIDE 65

65

Related Work

 Disk imagers without multicast

 Partition Image [www.partimage.org]

 Disk imagers with multicast

 PowerQuest Drive Image Pro  Symantec Ghost

 Differential Update

 rsync 5x slower with secure checksums

 Reliable multicast

 SRM [Floyd ’97]  RMTP [Lin ’96]

slide-66
SLIDE 66

66

Ghost with Packet Loss

slide-67
SLIDE 67

67

How Frisbee Changed our Lives (on Emulab, at least)

 Made disk loading between experiments

practical

 Made large experiments possible

 Unicast loader maxed out at 12

 Made swapping possible

 Much more efficient resource usage

slide-68
SLIDE 68

68

The Real Bottom Line

“I used to be able to go to lunch while I loaded a disk, now I can’t even go to the bathroom!”

  • Mike Hibler (first author)
slide-69
SLIDE 69

69

Conclusion

 Frisbee is

 Fast  Scalable  Proven

 Careful domain-specific design from top to

bottom is key Source available at www.emulab.net

slide-70
SLIDE 70

70

slide-71
SLIDE 71

71

Comparison to rsync

 Timestamps not robust  Checksums slow  Conclusion: Bulk writes beat

data comparison

50 100 150 200

Frisbee: Write rsync: Checksum rsync: Timestamps Seconds

slide-72
SLIDE 72

72

How to Synchronize Disks

 Differential update - rsync

 Operates through filesystem  + Only transfers/writes changes  + Saves bandwidth

 Whole-disk imaging

 Operates below filesystem  + General  + Robust  + Versatile

 Whole-disk imaging essential for our task

slide-73
SLIDE 73

73

Image Distribution Performance: Skewed Starts

slide-74
SLIDE 74

74

Future

 Server pacing  Self tuning

slide-75
SLIDE 75

75

The Frisbee Protocol

Chunk Finished? More Chunks Left? Wait for BLOCKs Outstanding Requests? Send REQUEST Start Finished No BLOCK Received Yes Yes Yes Timeout No No

slide-76
SLIDE 76

76

The Evolution of Frisbee

 First disk imager: Feb, 1999  Started with NFS distribution  Added compression

 Naive  FS-aware

 Overlapping I/O  Multicast

30 minutes down to 34 seconds!

200 400 600 800 1000 1200 1400 1600 1800 2000

Generation Seconds