34
Defeating Vanish with Low-Cost Sybil Attacks Against Large DHTs Written By: Scott Wolchok 1 Owen S. Hofmann 2 Nadia Heninger 3 Edward W. Felten 3 J. Alex Halderman 1 Christopher J. Rossbach 2 Brent Waters 2 Emmett Witchel 2 Presented By: Xinghuang Leon Xu 1 The University of Michigan 2 The University of Texas at Austin 3 Princeton University

“Defeating Vanish with low-cost sybil attacks against large dhts ”

Embed Size (px)

DESCRIPTION

“Defeating Vanish with low-cost sybil attacks against large dhts ”. Privacy Enhancing Technologies (CS898AB) Review by Jason Tomlinson. Scott Wolchok , Owen S. Hofmann, Nadia Heninger , Edward W. Felten , J. Alex Halderman , Christopher J. Rossbach , Brent Waters, and Emmet Witchel. - PowerPoint PPT Presentation

Citation preview

Page 1: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

Defeating Vanish with Low-Cost Sybil Attacks

Against Large DHTsWritten By:

Scott Wolchok1 Owen S. Hofmann2 Nadia Heninger3 Edward W. Felten3 J. Alex Halderman1 Christopher J. Rossbach2 Brent Waters2 Emmett Witchel2

Presented By: Xinghuang Leon Xu1 The University of Michigan

2 The University of Texas at Austin 3 Princeton University

Page 2: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

2

Outline

1. What is Vanish?

2. Attacking Vanish

3. Costs and performance

4. Countermeasures

5. What went wrong?

Page 3: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

3

Vanish

VDO Creation {C, L, N, Threshold}

VDO via Email

K : Random Enc Key

L : Locator Key

Secret Sharing

DHT

VDO {C, L, N, Threshold}

Reconstruction Encryption Key

L : Locator Key

Data = DK (C)

C= EK (Data)

Page 4: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

4

Vanish & Vuze

Vuze DHT

Vanish uses the Vuze DHT (Distributed Hash Table)Over 1 million nodes, mostly BitTorrentNodes delete values after 8 hours

Page 5: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

5

Vanish and Vuze (2)

Vuze DHT

Key shares placed at random locations in the DHTReplicated to 20 “closest” nodes

M

Page 6: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

6

Is Vanish Secure?• Vanish authors anticipated this attack and estimated would need

87,000 Sybils at a cost of $860,000/year……… • Can we do better?

Page 7: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

7

Outline

1. What is Vanish?

2. Attacking Vanish

3. Costs and performance

4. Countermeasures

5. What went wrong?

Page 8: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

8

DHT Crawling Threat• Threat: attacker might continuously archive all data in the DHT

• Later, query archive to decrypt messages

• Don’t need specific targets when recording

Page 9: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

9

Making the Attack PracticalInsight: have 8 hours to observe fragments

Vuze replicates to 20 nearest nodes1. Every 30 minutes2. On join!

Page 10: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

10

Page 11: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

11

“Hopping” StrategySybils “hop” to new IDs every 3 minutes

160x resource amplification over 8 hours

Practical attack needs only ~2000 concurrent Sybils with hopping

Page 12: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

12

Making the Attack PracticalInsight: Vuze client is a notorious resource hog

Only 50 instances fit in 2 GB of RAM!

Can we more efficiently support 2000 Sybils?

Page 13: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

13

Optimized Sybil Client• C, lightweight, event-based implementation

• Listen-only (no Vuze routing table!)

• Thousands of Sybils in one ec2 instance

Page 14: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

14

Outline

1. What is Vanish?

2. Attacking Vanish

3. Costs and performance

4. Countermeasures

5. What went wrong?

Page 15: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

15

Attack Costs?Vanish paper estimate (for 25% recovery at k=45, n=50):• 87,000 Sybils• $860,000/year

What does attacking Vanish really cost?

Page 16: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

16

Experiments1. Insert key shares into the DHT2. Run attack from 10 Amazon EC2 instances3. Measure:

DHT coverage = % key shares recoveredKey coverage = % messages decryptedAttack cost = EC2 charges (Sep. 2009)

Page 17: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

17

Experimental ResultsCost for >99% Vanish key recovery?

Attack Concurrent Sybils

Key Shares Recovered

Annual Attack Cost*

Hopping (Unvanish)

500 92% $23,500

Hopping + Optimized

Client (ClearView)

2000 99.5% $9,000

Page 18: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

18

P(recover VDO) vs P(recover share)

25% p=0.85

90% p=0.93

Page 19: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

19

DHT Coverage vs. Attack Size

0%

20%

40%

60%

80%

100%

0 30k 60k 90k 120k 150k 180k 210k 240k 270k

DH

T C

over

age

Effective Sybils

Experiment

Model

Page 20: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

Key Recovery vs. Attack Size

0%

20%

40%

60%

80%

100%

0 30k 60k 90k 120k 150k 180k 210k 240k 270k

Key

Rec

over

y

Effective Sybils

7/109/1045/50

25% @ 70k Sybils

99% @ 136k Sybils

Page 21: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

$0

$2,000

$4,000

$6,000

$8,000

$10,000

$12,000

$14,000

0% 20% 40% 60% 80% 100%

Ann

ual A

ttack

Cos

t

Key Recovery

7/10

9/10

45/50

Annual Cost vs. Key Recovery

25% @ $5000

90% @ $7000

99% @ $9000

Key-sharingparameters(k/n)

Page 22: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

22

Storage$1400/yr for all observed data

$80/yr for potential key shares

Page 23: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

23

Outline

1. What is Vanish?

2. Attacking Vanish

3. Costs and performance

4. Countermeasures

5. What went wrong?

Page 24: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

24

Increase Key Recovery Threshold?Required coverage increases in n and k/n

Why not raise them? (99/100?)

Reliability: some shares lost due to churnPerformance: pushing shares is slow!

Page 25: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

25

Limit Replication?Attack exploits aggressive replication

Less replication might make the attack harder, but how much?

More in a few slides…

Page 26: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

26

Sybil Defenses from the Literature?Client puzzles

Limit ports/IP, IPs/subnet, etc.

Social networking

Page 27: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

27

Detecting AttackersFind and target IPs with too many clients

Use node enumerator, Peruze

Can detect attack IPs hours after the attack

Detected the Vanish demo

Page 28: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

28

Outline

1. What is Vanish?

2. Attacking Vanish

3. Costs and performance

4. Countermeasures

5. What went wrong?

Page 29: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

29

Recall Vanish Authors’ AnalysisCost estimates for 25% recovery at 45/50:• 87,000 Sybils• $860,000/year

Extrapolated from 8000-node DHT

Actual cost:- 70,000 Sybils- $5000/year

Page 30: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

30

Cost Estimation Issues

Vanish paper extrapolated from 8000-node DHT

Assumed Sybils must run continuously

Assumed attacker uses inefficient Vuze client

Page 31: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

31

Cost Not Linear in Recovery

0.0 0.2 0.4 0.6 0.8 1.00.0

0.2

0.4

0.6

0.8

1.0

P recover share

Pre

co

ve

rV

DO

7/109/1045/50

Key

Reco

very

Fra

ction

Key-sharingparameters(k/n)

Coverage Fraction

Page 32: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

32

Response to Our WorkSecond report and prototype by Vanish team1

New defenses • Use both Vuze DHT and OpenDHT• Disable replicate-on-join in Vuze• Use less aggressive “threshold replication”

Will these defenses stop real attackers?

Page 33: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

33

ConclusionShowed attacks that defeat Vanish 0.1 in practice for $9000/yearVanish team has proposed new defensesFuture work: are new defenses effective?

Our take: building Vanish with DHTs seems risky.

Page 34: “Defeating Vanish with low-cost  sybil  attacks against large  dhts ”

34

Questions?