A Sybil-Proof Distributed Hash Table Chris Lesniewski-LaasM. Frans Kaashoek MIT 28 April 2010 NSDI

Slides:



Advertisements
Similar presentations
Distributed Hash Tables
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Chord: A Scalable Peer-to- Peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
1 1 Chord: A scalable Peer-to-peer Lookup Service for Internet Applications Dariotaki Roula
P2P Network Structured Networks: Distributed Hash Tables Pedro García López Universitat Rovira I Virgili
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Authors Haifeng Yu, Michael Kaminsky, Phillip B. Gibbons, Abraham Flaxman Presented by: Jonathan di Costanzo & Muhammad Atif Qureshi 1.
A Sybil-proof DHT using a social network Socialnets workshop April 1, 2008 Chris Lesniewski-Laas MIT CSAIL.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Haifeng Yu National University of Singapore
Small-world Overlay P2P Network
Positive Feedback Loops in DHTs or Be Careful How You Simulate January 13, 2004 Sean Rhea, Dennis Geels, Timothy Roscoe, and John Kubiatowicz From “Handling.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Data Structures Hash Table (aka Dictionary) i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, Andreas Veneris, Glenn Brookshear,
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications 吳俊興 國立高雄大學 資訊工程學系 Spring 2006 EEF582 – Internet Applications and Services 網路應用與服務.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
SybilGuard: Defending Against Sybil Attacks via Social Networks Haifeng Yu, Michael Kaminsky, Phillip B. Gibbons, and Abraham Flaxman Presented by Ryan.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
1 Koorde: A Simple Degree Optimal DHT Frans Kaashoek, David Karger MIT Brought to you by the IRIS project.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Distributed Hash Table Systems Hui Zhang University of Southern California.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Defending Sybil Attack in Peer2Peer Networks Md. Tanvir Al Amin Shah Md. Rifat Ahsan Adviser : Dr. Reaz Ahmed Distributed Search.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer-to-Peer Name Service (P2PNS) Ingmar Baumgart Institute of Telematics, Universität Karlsruhe IETF 70, Vancouver.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Md. Tanvir Al Amin Shah Md. Rifat Ahsan CSE 6809 – Distributed Search Techniques.
Presented by: Tianyu Li
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
National Institute of Advanced Industrial Science and Technology Query Processing for Distributed RDF Databases Using a Three-dimensional Hash Index Akiyoshi.
Eclipse Attacks on Overlay Networks: Threats and Defenses By Atul Singh, et. al Presented by Samuel Petreski March 31, 2009.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Chord Advanced issues. Analysis Theorem. Search takes O (log N) time (Note that in general, 2 m may be much larger than N) Proof. After log N forwarding.
Chord Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google,
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Chord Advanced issues. Analysis Search takes O(log(N)) time –Proof 1 (intuition): At each step, distance between query and peer hosting the object reduces.
1. Efficient Peer-to-Peer Lookup Based on a Distributed Trie 2. Complex Queries in DHT-based Peer-to-Peer Networks Lintao Liu 5/21/2002.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Click to edit Master title style Multi-Destination Routing and the Design of Peer-to-Peer Overlays Authors John Buford Panasonic Princeton Lab, USA. Alan.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Data Structure of Chord  For each peer -successor link on the ring -predecessor link on the ring -for all i ∈ {0,..,m-1} Finger[i] := the peer following.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
A Sybil-proof DHT using a social network
Chord Advanced issues.
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
Chord Advanced issues.
Distributed Hash Tables
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
P2P: Distributed Hash Tables
Presentation transcript:

A Sybil-Proof Distributed Hash Table Chris Lesniewski-LaasM. Frans Kaashoek MIT 28 April 2010 NSDI

Distributed Hash Table Interface: PUT(key, value), GET(key) → value Route to peer responsible for key GET( ) PUT( )

The Sybil attack on open DHTs Create many pseudonyms (Sybils), join DHT Sybils join the DHT as usual, disrupt routing Brute-force attackClustering attack

Sybil state of the art 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!

Contribution Whānau: an efficient Sybil-proof DHT protocol – G ET 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

Division of labor Application provides integrity Whānau provides availability E.g., application signs values using private key Proc G ET (key): Until valid value found: Try value = L OOKUP (key) Repeat

Approach Use a social network to limit Sybils – Addresses brute-force attack New technique: layered identifiers – Addresses clustering attacks

S ETUP : periodically build tables using social links L OOKUP : use tables to route efficiently Two main phases S ETUP L OOKUP Social Network Routing Tables key value P UT ( key, value ) P UT Queue

Social links created

Social links maintained over Internet

Sybil region Social network Honest region … Attack edges

Random walks c.f. SybilLimit [Yu et al 2008]

Building tables using random walks c.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

S ETUP L OOKUP Social Network Routing Tables key value P UT ( key, value ) P UT Queue

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

From social network to routing tables Finger table: randomly sample O(√n) nodes Most samples are honest

Honest nodes pick IDs uniformly Plenty of fingers near key

Sybil ID clustering attack [Hypothetical scenario: 50% Sybil IDs, 50% honest IDs] Many bad fingers near key

Honest layered IDs mimic Sybil IDs Layer 0Layer 1

Every range is balanced in some layer Layer 0Layer 1

Two layers is not quite enough Layer 0Layer 1 Ratio = 1 honest : 10 Sybils Ratio = 10 honest : 100 Sybils

Log n parallel layers is enough log n layered IDs for each node Lookup steps: 1.Pick a random layer 2.Pick a finger to query 3.GOTO 1 until success or timeout Layer 0 Layer 1Layer 2Layer L …

Main theorem: secure DHT routing If we run Whānau’s S ETUP 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 G ET (key) uses O(1) messages (expected)

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

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

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

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

Whānau delivers high availability [Flickr social network: n ≈ 1.6M, 3 √n ≈ 4000] 3√n

Everything rests on the model… …

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