Transcript
Page 1: A Sybil-Proof  Distributed Hash Table

A Sybil-Proof Distributed Hash Table

Chris Lesniewski-Laas M. Frans KaashoekMIT

28 April 2010NSDI

http://pdos.csail.mit.edu/whanau/slides.pptx

Page 2: A Sybil-Proof  Distributed Hash Table

Distributed Hash Table

• Interface: PUT(key, value), GET(key)→value• Route to peer responsible for key

GET( sip://alice@foo )

PUT( sip://alice@foo, 18.26.4.9 )

Page 3: A Sybil-Proof  Distributed Hash Table

The Sybil attack on open DHTs

• Create many pseudonyms (Sybils), join DHT• Sybils join the DHT as usual, disrupt routing

Brute-force attack Clustering attack

Page 4: A Sybil-Proof  Distributed Hash Table

Sybil state of the art20

01

2002

2003

2004

2005

2006

2007

2008

2009

2010

P2P mania!

Chord, Pastry, Tapestry, CAN

The Sybil Attack [Douceur], Security Considerations [Sit, Morris]

Restricted tables [Castro et al]

BFT [Rodrigues, Liskov]

SPROUT, Turtle, Bootstrap graphs

Puzzles [Borisov]

CAPTCHA [Rowaihy et al]

SybilLimit [Yu et al]

SybilInfer, SumUp, DSybil

(This work)

P2P mania!

Page 5: A Sybil-Proof  Distributed Hash Table

Contribution

• Whānau: an efficient Sybil-proof DHT protocol– GET cost: O(1) messages, one RTT latency– Cost to build routing tables: O(√N log N)

storage/bandwidth per node (for N keys)– Oblivious to number of Sybils!

• Proof of correctness• PlanetLab implementation• Large-scale simulations vs. powerful attack

Page 6: A Sybil-Proof  Distributed Hash Table

Division of labor

• Application provides integrity• Whānau provides availability

• E.g., application signs values using private key• Proc GET(key):

Until valid value found:Try value = LOOKUP(key)Repeat

Page 7: A Sybil-Proof  Distributed Hash Table

Approach

• Use a social network to limit Sybils– Addresses brute-force attack

• New technique: layered identifiers– Addresses clustering attacks

Page 8: A Sybil-Proof  Distributed Hash Table

• SETUP: periodically build tables using social links• LOOKUP: use tables to route efficiently

Two main phases

SETUP LOOKUP

Social Network Routing Tables

key

value

key value

PUT(key, value)

PUT Queue

Page 9: A Sybil-Proof  Distributed Hash Table

Social links created

Page 10: A Sybil-Proof  Distributed Hash Table

Social links maintained over Internet

Page 11: A Sybil-Proof  Distributed Hash Table

Sybil region

Social networkHonest region

Attack edges

Page 12: A Sybil-Proof  Distributed Hash Table

Random walksc.f. SybilLimit [Yu et al 2008]

Page 13: A Sybil-Proof  Distributed Hash Table

Building tables using random walksc.f. SybilLimit [Yu et al 2008]

What have we accomplished?• Small fraction (e.g. < 50%) of

bad nodes in routing tables• Bad fraction is independent

of number of Sybil nodes

Page 14: A Sybil-Proof  Distributed Hash Table

SETUP LOOKUP

Social Network Routing Tables

key

value

key value

PUT(key, value)

PUT Queue

Page 15: A Sybil-Proof  Distributed Hash Table

Routing table structure

• O(√n) fingers and O(√n) keys stored per node• Fingers have random IDs, cover all keys WHP• Lookup: query closest finger to target key

Finger tables: (ID, address)

Key tables: (key,value)

Keynes

AardvarkZyzzyva

Kelvin

Page 16: A Sybil-Proof  Distributed Hash Table

From social network to routing tables

• Finger table: randomly sample O(√n) nodes• Most samples are honest

ID IP address

Page 17: A Sybil-Proof  Distributed Hash Table

Honest nodes pick IDs uniformly

Plenty of fingers near key

Page 18: A Sybil-Proof  Distributed Hash Table

Sybil ID clustering attack

[Hypothetical scenario: 50% Sybil IDs, 50% honest IDs]

Many bad fingers near key

Page 19: A Sybil-Proof  Distributed Hash Table

Honest layered IDs mimic Sybil IDsLayer 0 Layer 1

Page 20: A Sybil-Proof  Distributed Hash Table

Every range is balanced in some layerLayer 0 Layer 1

Page 21: A Sybil-Proof  Distributed Hash Table

Two layers is not quite enoughLayer 0 Layer 1

Ratio =1 honest :10 Sybils

Ratio =10 honest :100 Sybils

Page 22: A Sybil-Proof  Distributed Hash Table

Log n parallel layers is enough

• log n layered IDs for each node• Lookup steps:

1. Pick a random layer2. Pick a finger to query3. GOTO 1 until success or timeout

Layer 0 Layer 1 Layer 2 Layer L

Page 23: A Sybil-Proof  Distributed Hash Table

Main theorem: secure DHT routing

If we run Whānau’s SETUP using:1. A social network with walk length = O(log n)

and number of attack edges = O(n/log n)2. Routing tables of size Ω(√N log N) per node

Then, for any input key and all but εn nodes:

• Each lookup attempt (i.e., coin flip) succeeds with probability Ω(1)

• Thus GET(key) uses O(1) messages (expected)

Page 24: A Sybil-Proof  Distributed Hash Table

Evaluation: Hypotheses

1. Random walk technique yields good samples

2. Lookups succeed under clustering attacks

3. Layered identifiers are necessary for security

4. Performance scales the same as a one-hop DHT

5. Whānau handles network failures and churn

Page 25: A Sybil-Proof  Distributed Hash Table

Method

• Efficient message-based simulator– Social network data spidered from Flickr, Youtube,

DBLP, and LiveJournal (n=5.2M)– Clustering attack, varying number of attack edges

• PlanetLab implementation

Page 26: A Sybil-Proof  Distributed Hash Table

Escape probability

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 800

0.2

0.4

0.6

0.8

1

2M attack edges200K attack edges20K attack edges

Random walk length

[Flickr social network: n ≈ 1.6M, average degree ≈ 9.5]

Page 27: A Sybil-Proof  Distributed Hash Table

Walk length tradeoff

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 800

0.2

0.4

0.6

0.8

1

2M attack edges200K attack edges20K attack edgesClumpiness

Random walk length

[Flickr social network: n ≈ 1.6M, average degree ≈ 9.5]

Page 28: A Sybil-Proof  Distributed Hash Table

Whānau delivers high availability

100 1000 10000 100000 10000000

10

20

30

402M attack edges (>n)200K attack edges20K attack edgesNo attacker

Table size

Med

ian

look

up m

essa

ges

[Flickr social network: n ≈ 1.6M, 3√n ≈ 4000]

3√n

Page 29: A Sybil-Proof  Distributed Hash Table

Everything rests on the model…

Page 30: A Sybil-Proof  Distributed Hash Table

Contributions

• Whānau: an efficient Sybil-proof DHT– Use a social network to filter good nodes– Resist up to O(n/log n) attack edges– Table size per node: O(√N log N)– Messages to route: O(1)

• Introduced layers to combat clustering attacks


Top Related