Security Considerations for Structured p2p Peng Wang 6/04/2003.

Slides:



Advertisements
Similar presentations
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Advertisements

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 Stoica, Robert MorrisDavid, Liben-Nowell, David R. Karger, M. Frans Kaashoek,
Technische Universität Yimei Liao Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
Chord: A Scalable Peer-to- Peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
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
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up protocol.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Secure routing for structured peer-to-peer overlay networks M. Castro, P. Druschel, A. Ganesch, A. Rowstron, D.S. Wallach 5th Unix Symposium on Operating.
Presented by Elisavet Kozyri. A distributed application architecture that partitions tasks or work loads between peers Main actions: Find the owner of.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel Proc. of the 18th IFIP/ACM.
1 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Secure routing for structured peer-to-peer overlay networks Miguel Castro, Ayalvadi Ganesh, Antony Rowstron Microsoft Research Ltd. Peter Druschel, Dan.
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Peer-to-Peer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Secure routing for structured peer-to-peer overlay networks (by Castro et al.) Shariq Rizvi CS 294-4: Peer-to-Peer Systems.
Secure Overlay Services Adam Hathcock Information Assurance Lab Auburn University.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Wide-area cooperative storage with CFS
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
 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 PASTRY. 2 Pastry paper “ Pastry: Scalable, decentralized object location and routing for large- scale peer-to-peer systems ” by Antony Rowstron (Microsoft.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
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.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Security Michael Foukarakis – 13/12/2004 A Survey of Peer-to-Peer Security Issues Dan S. Wallach Rice University,
Hongil Kim E. Chan-Tin, P. Wang, J. Tyra, T. Malchow, D. Foo Kune, N. Hopper, Y. Kim, "Attacking the Kad Network - Real World Evaluation and High.
Vincent Matossian September 21st 2001 ECE 579 An Overview of Decentralized Discovery mechanisms.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
CIS 640-2, Presenter: Yun Mao1 Security for Structured Peer- to-peer Overlay Networks By Miguel Castro et al. OSDI ’ 02 Presented by Yun Mao in CIS640.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
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.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Lecture 2 Distributed Hash Table
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Secure Routing for Structured Peer-to-Peer Overlay Networks M. Castro, P. Druschel, A. Ganesh, A. Rowstron and D. S. Wallach Proc. Of the 5 th Usenix Symposium.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
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.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Md Tareq Adnan Centralized Approach : Server & Clients Slow content must traverse multiple backbones and long distances Unreliable.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
EE 122: Peer-to-Peer (P2P) Networks
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Presentation transcript:

Security Considerations for Structured p2p Peng Wang 6/04/2003

Outline 1. p2p Networks for file sharing, Napster & Gnutella 2. Chord, Pastry, Tapestry & CAN 3. Security considerations 4. References

P2P Networks for file sharing p2p networks for file sharing involve two phases: 1. find out the peer storing the requested file. 2. Download the requested file from the exporting peer. Architectures Centralized – Napster Unstructured decentralized – Gnutella Structured decentralized – Chord, etc

Napster A central server stores a “index table”. (file name, IP address) pairs The index table contains location info of all the files available within the Napster user community To retrieve a file, a initiator queries this central server using the name of the desired file, and obtains the IP address of the supplier storing that file. The file is downloaded directly from this supplier.

Napster con’t Napster BAX … Napster.com Join: upload a file list Query the centralized server. Download the file from a peer

Napster con’t Napster uses a p2p communication model for the actual file transfer. The process of locating a file is still centralized. To decentralize this process, Every node store its own list -- Unstructured break down the index table into small pieces. Each peer stores a piece of the table -- Structured

P P: a node looking for a file O: offerer of the file Query QueryHit Download O Match O Unstructured: Gnutella

retrieve (K 1 ) K V Structured p2p How to find the peer which stores the piece containing the location info of the desired file?

Chord, Pastry, Tapestry & CAN The lookup protocol maps a desired key (hash value of file name) to the IP address of the node responsible for that key. A storage protocol layered on top of the lookup protocol then takes care of storing, replicating, caching, retrieving, and authenticating the files.

Each node and each key have a m-bit ID. the ID space is 2 m. Chord arranges the ID space on a circle. Uses SHA-1 hash function to assign ID. Key ID = SHA-1(key) Node ID = SHA-1(IP address) successor(k): the node with ID equal to or follows a key’s ID k in the ID space. File -- (k, IP address) pair (k, IP address) pair of a file is stored at successor(k). Chord

2 0 An example of ID circle (space) Successor(2)=3 Successor(1)=1 Successor(6)=0 m=3 3 keys: 1,2,6 3 nodes: 0,1,3 2 6 a node a file whose ID is 2 2

finger tables To route messages, each node n maintains a finger table with m entries, which store nodeIDs & IPs i th entry in the table at node n contains the identity of the first node s, that succeeds n by at least 2 i-1 on ID circle. s = successor(n + 2 i-1 ), 1  i  m Distance increase exponentially startfingers 2=(1+2 0) 3 (=successor(2)) 3=(1+2 1 )3 (=successor(3)) 5=(1+2 2 )0 (=successor(5)) e.g. finger table of node 1

finger table example

routing Given k, to find the (k, IP address) pair of k. find immediate predecessor p of k, with help from other nodes. p’s successor is the successor of k. the successor of k has the (k, IP address) pair. e.g. node 1 wants to find a key 6 finds out node 3 is a predecessor Sends a message to node 3 Node 3 knows it’s the immediate predecessor of key 6 Node 3 sends a message to its successor 0. 0 sends (6, IP) back to node 1. Node 1 wants 6 (k, IP)

Join A new node N first finds the IP address of any node n’ currently in the system. external mechanisms Initialize fingers of node n asking n’ to look them up, n+2 i-1, 1  i  m. Update the fingers of existing nodes each node maintains a predecessor pointer n will become the i th finger of p, if p precedes n by at least 2 i-1 The i th finger of node p succeeds n. Transfer keys from n’s successor to n

Finger tables after node 6 joining

Leave is a reverse process of join Update the fingers of other nodes Transfer keys

Failures and replications Key step: maintaining correct successor pointers Each chord node maintains a successor-list There are r immediate successors on the list After failure, a node will know first live successor Correct successors guarantee correct lookups The (key, IP address) pair database of the Failed node is lost. Replications of (key, IP address) pair databases. Periodical refresh messages sent by supplier (file holder) to handle stale, lost pairs

Pastry Each node and each key have a m-bit ID. the ID space is 2 m. E.g. m=128, Uses md5 to assign ID. Pastry arranges the ID space on a circle. Routes messages to the node whose nodeID is numerically closest to the given key. Prefix routing: forward message to a node whose nodeID shares longer prefix with the given key comparing the present node. If no such node, forward to a numerically closer node.

Pastry node state IDs are thought of as a sequence of digits with base 2 b. E.g. b=2 Leaf set contains the numerically closest nodes. It is similar to successor list Routing table has m/b rows with 2 b entries each. The 2 b entries at row i each refer to a node whose nodeId shares the present node’s nodeId in the first i digits, but whose i+1th digit is the column number.

Routing When a message with key D arrives If D is in the range of leaf set, forward it to the nearest one. Or forward it to a node shares longer prefix with D according to the Routing table. Otherwise, forward it to any node who is numerically closer to D. e.g. route message with to node

Join & failure Join : Bootstrap Initialize its state tables Inform other nodes in its state tables Failure: Lazily repair  Leaf set  Routing table

Similarity Pastry: b=2 0 2 m-1

Tapestry & CAN P Tapestry is very similar to Pastry. CAN:

Design improvements Reduce the latency of routing, increase system robustness Increase per-node state and system complexity e.g. Multiple hash functions use k different hash functions a single file is mapped onto k points in the space and corresponding (hash value, IP) pairs are stored at k distinct nodes k replicas, parallel routing, but more query traffic

Security Considerations Assumption of attackers Node ID Message forwarding DoS Rapid Joins and Leaves Forged routing table update Inconsistent behavior

Assumption of Attackers Participants who do not follow the protocol correctly Provide false information, forge source IP address Modify, drop message passing them May conspire together Cannot overhear or modify direct communication between other nodes

Attacks related to NodeID Join attack Where a node is located on the ID circle depends on its nodeID. If an attacker can choose its nodeID, then she can Control victim node’s access to the p2p network Control other nodes accessing victim file. Partition the network?

Attackers may control victim node’s (e.g. V) access to the network. Attacker may control the access of a file. Pastry? V+2 m-1 V V+2 m-2 V+2 m-3 V+2 m-4 Illustration F F a victim node a victim file an attacker node

Secure NodeID generation Prevent attackers from choosing joining point as they want !!! Certified nodeID Uses a central, trusted authority (CA) CA chooses nodeID randomly from the ID space and signs nodeID certificate.  E.g. CA chooses a public key randomly for the joining node.  The nodeID is hash value of its public key PK. CA’s PK can be installed as part of the p2p software

Sybil attacks Attackers cannot choose nodeIDs or joining points But they can obtain a large number of legitimate nodeIDs easily. Attacker may control large amount of nodes crypto puzzles ? Uses a trusted Authorities (CA) to guarantee the uniqueness: bind nodeID to real word ID, etc to slow down attackers: Entrance fee, etc. Can a fully decentralized nodeID assignment scheme solve this problem ?

Attacks on message routing Assume secure nodeID assignment Attacker is the destination or on the path: E.g. on average, a Chord message is routed by (log 2 N )/2 nodes to reach destination. -- 1,000,000 nodes, (log 2 N )/2= % nodes are controlled by attackers -- P(meet a corrupted node)= =65% Drops, modifies or sends wrong answer back  Detect –check responder’s ID and signature ?  Non-deterministic routing – change route ?  Multi hash functions – replicas  Attacker cannot control all replicas

DoS Attacker generates huge amount of query messages. Victim node can not serve other nodes Incoming Allocation Strategy  Assumption: Secure nodeID assignment, each node has a list of incoming messages senders  Processor scheduling strategy  E.g. Round-Robin (RR) scheduling  Check senders’ Ids Rapid Joins and Leaves trivial to prevent with Secure nodeID assignment

Other attacks Forged routing table update ? Inconsistent behavior ? We have to have Secure NodeID generation & Multi hash functions !!!

1. Napster The Gnutella Protocol Specification v0.4, www9.limewire.com/developer/gnutella_protocol_0.4.pdf 3. Sit, E. and Morris R. Security Considerations for Peer-to-Peer Distributed Hash Tables March John R. Douceur. The Sybil attack. March Neil Daswani and Hector Garcia-Molina Query-flood DoS attacks in Gnutella November A. Rowstron and P. Druschel, "Pastry: Scalable, distributed object location and routing for large-scale peer- to-peer systems". IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, pages , November, M. Castro, P. Druschel, A. Ganesh, A. Rowstron, and D. S. Wallach, "Security for structured peer-to-peer overlay networks". In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI'02), Boston, MA, December Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, ACM SIGCOMM 2001, San Deigo, CA, August 2001, pp Dan S. Wallach, A Survey of Peer-to-Peer Security Issues, International Symposium on Software Security (Tokyo, Japan), November Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker A Scalable Content- Addressable Network, ACM SIGCOMM Ben Y. Zhao, John Kubiatowicz, Anthony D. Joseph Tapestry: An Infrastructure for Fault-tolerant Wide- area Location and Routing, UC Berkeley References