A Reputation-Based Approach for Choosing Reliable Resources in Peer-to-Peer Networks E. Damiani S. De Capitani di Vimercati S. Paraboschi P. Samarati F.

Slides:



Advertisements
Similar presentations
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Advertisements

A P RESENTATION O N R ESOURCE D ISCOVERY I N T HE P EER- T O- P EER N ETWORK by Aravind Renganathan.
Peer-to-Peer Systems Kulesh Shanmugasundaram Security Issues.
1 Gnutella and JXTA Based on Ivkovic’s paper “Improving Gnutella Protocol”. Also based on Docs and Tutorials at
TrustMe: Anonymous Management of Trust Relationships in Decentralized P2P Systems Aameek Singh and Ling Liu Presented by: Korporn Panyim.
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
Lapsy Garg. P2P Networks Gnutella Protocol Topological Scan Worms Passive Scan Worms Solutions.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
CSCE 715 Ankur Jain 11/16/2010. Introduction Design Goals Framework SDT Protocol Achievements of Goals Overhead of SDT Conclusion.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Paul Solomine Security of P2P Systems. P2P Systems Used to download copyrighted files illegally. The RIAA is watching you… Spyware! General users become.
1 Denial-of-Service Resilience in P2P File Sharing Systems Dan Dumitriu (EPFL) Ed Knightly (Rice) Aleksandar Kuzmanovic (Northwestern) Ion Stoica (Berkeley)
A Trust Based Assess Control Framework for P2P File-Sharing System Speaker : Jia-Hui Huang Adviser : Kai-Wei Ke Date : 2004 / 3 / 15.
Responder Anonymity and Anonymous Peer-to-Peer File Sharing. by Vincent Scarlata, Brian Levine and Clay Shields Presentation by Saravanan.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Security in P2P Networks A study of the gnutella protocol and it’s weaknesses By: Imran Qureshi Date: December 9, 2004.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
1 Freenet  Addition goals to file location: -Provide publisher anonymity, security -Resistant to attacks – a third party shouldn’t be able to deny the.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Stacey Greenaway Managing Reputation and Trust in Peer-to-Peer Networks. CP4022 Research Topics in Networks and Distributed Systems. Assessment 2 Stacey.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presentation by Theodore Mao CS294-4: Peer-to-peer Systems August 27, 2003.
A Security Analysis of the Network Time Protocol (NTP) Presentation by Tianen Liu.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
Unstructured P2P networks by example:Gnutella 0.4,Gnutella 0.6 张旭彤 杨蕊鸿 马骕 林晔.
1 Reading Report 4 Yin Chen 26 Feb 2004 Reference: Peer-to-Peer Architecture Case Study: Gnutella Network, Matei Ruoeanu, In Int. Conf. on Peer-to-Peer.
Gnutella2: A Better Gnutella?
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
An efficient secure distributed anonymous routing protocol for mobile and wireless ad hoc networks Authors: A. Boukerche, K. El-Khatib, L. Xu, L. Korba.
Peer to Peer Research survey TingYang Chang. Intro. Of P2P Computers of the system was known as peers which sharing data files with each other. Build.
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presenter: Chris Grier ECE 598nb Spring 2006.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
A reputation-based trust management in peer-to-peer network systems Natalia Stakhanova, Sergio Ferrero, Johnny Wong, Ying Cai Department of Computer Science.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
PEER TO PEER (P2P) NETWORK By: Linda Rockson 11/28/06.
1 A connection management protocol for promoting cooperation in Peer-to-Peer networks Authors: Murat Karakaya, Ibrahim Korpeoglu, and Ozgur Ulusoy Source:
P2PComputing/Scalab 1 Gnutella and Freenet Ramaswamy N.Vadivelu Scalab.
Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Trust Management in P2P systems Presenter: Lintao Liu April 21th, 2003.
Peer-to-Peer By Rui Zhang, Chen Teng, Li Dong, Quanshuan He & Yongzheng Zhang.
On the Security of Polling Protocols in Peer-to-Peer Systems Bartlomiej Sieka (U. Illinois-Chicago) Ajay D. Kshemkalyani (U. Illinois-Chicago) Mukesh Singhal.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Mobile IPv6 and Firewalls: Problem Statement Speaker: Jong-Ru Lin
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
TrustMe: Anonymous Management of Trust Relationships in Decentralized P2P System Aameek Singh, Ling Liu College of Computing, Georgia Tech International.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
Freenet: Anonymous Storage and Retrieval of Information
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
1 Indranil Gupta (Indy) Lecture 4 Peer to Peer Systems January 27, 2011 All Slides © IG CS 525 Advanced Distributed Systems Spring 2011.
K. Salah1 Security Protocols in the Internet IPSec.
Decentralized Trust Management for Ad-Hoc Peer-to-Peer Networks Thomas Repantis Vana Kalogeraki Department of Computer Science & Engineering University.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
BitTorrent Vs Gnutella.
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Unstructured Routing : Gnutella and Freenet
Viet Nguyen Jianqing Liu Yaqin Tang
Presentation transcript:

A Reputation-Based Approach for Choosing Reliable Resources in Peer-to-Peer Networks E. Damiani S. De Capitani di Vimercati S. Paraboschi P. Samarati F. Violante

Outline P2P Networks & Gnutella protocol [1] XRep protocol [2] Security considerations on XRep Conclusions References

P2P Networks All the nodes offer the same services and follow the same behavior. Nodes act both as servers and as clients. There are no nodes with a special responsibility to monitor or supervise the network behavior. P2P networks for file sharing involves two phases: 1 Search of the peers where the requested file resides. 2 Download from the exporting peers the requested information.

Gnutella Gnutella is a protocol for distributed search. Nodes are called servents.(server + client) Each servent has a servent_id Servents communicate by exchanging descriptors. Ping, Pong – are used to discover servents Query, QueryHit – Searching files in the P2P network Push – allows a firewalled servent to contribute files to the P2P network The Gnutella Protocol Specification v0.4 www9.limewire.com/developer/gnutella_protocol_0.4.pdf

Descriptor routing 1 A servent P requiring a resource broadcasts a Query out. A servent S will respond with a QueryHit if a match is found against its local database. And S will forward incoming Query descriptors to all of its directly connected servents, except the one that delivered the incoming Query. QueryHit descriptors may only be sent along the same path that carried the incoming Query descriptor.

Descriptor routing 2 A servent will decrement a descriptor header’s TTL field, and increment its Hops field, before it forwards the descriptor to any directly connected servent. A servent will decrement a descriptor header’s TTL field, and increment its Hops field, before it forwards the descriptor to any directly connected servent. If, after decrementing the header’s TTL field, the TTL field is found to be zero, the descriptor is not forwarded along any connection. If, after decrementing the header’s TTL field, the TTL field is found to be zero, the descriptor is not forwarded along any connection. A servent receiving a descriptor with the same Payload Descriptor and Descriptor ID as one it has received before, should attempt to avoid forwarding the descriptor to any connected servent.

Gnutella : initiator 2&7: responders Query QueryHit Not a descriptor 4 Match A servent requiring a file broadcasts a Query out. Servents will forward incoming Query descriptors to all of its directly connected servents, except the one that delivered the incoming Query. A servent receiving a descriptor which has received before will not forward the descriptor A servent will respond with a QueryHit if a match is found against its local database. QueryHit descriptors may only be sent along the same path that carried the incoming Query descriptor9 If the TTL field is found to be zero, the descriptor is not forwarded along any connection.

Structure of Gnutella descriptor Every descriptor has two parts: 1. Header Descriptor IDPayload DescriptorTTLHopsPayload Length Minimum SpeedSearch criteria Number of Hits PortIPSpeedResult SetTrailer Servent ID File Index File Size File Name file1 file2 file3 Query: sent by initiator QueryHit: sent by responder 2. Payload +

Motivation of Reputation systems Most P2P systems protect peers’ anonymity. Anonymity opens the door to possible misuses and abuses. No way to verify the source or content of files --Bad service, low quality files --The content of a file is different than the title --Trojan horses and viruses e.g. Mandragore – a Gnutella worm --Act as a servent and answer all Queries. --Provides a renamed copy of itself for downloading. Peer review process: the peers’ opinions is used to establish a reputation for peers and files.

XRep: Basic Assumptions Each servent maintains information on its own experience on files and other servents and share such experience with others upon request Each servent has a servent_id which is a digest of a public key obtained using a secure hash function Servent reputations are associated with the servent_id Each file has a resource_id which is a digest computed by applying a secure hash function to the file content File reputations are coupled to resource_id

Reputations Storage & votes calculation 1 Each servent maintains a resource_repository & a servent_repository that store its opinions about files and servents it had experiences A servent votes on files and servents with which it had experiences.Votes are its opinion on files and servents Votes are expressed on the basis of information available in the resource_repository & servent_repository.

resource_repository: set of pairs (resource_id, value) value=0 or 1 servent_repository: set of triples (servent_id, num_plus, num_minus) num_plus, num_minus are positive integers Vote = 0 or 1 Vote = 0 or 1 Vote of servent =1, if Vote of servent =1, if num_plus>>num_minus Vote of file = Vote of file = value Reputations Storage & votes calculation 2

XRep: Polling Protocol Phase 1: Resource searching. p sends a Query message for searching files, and servents matching the request respond with a QueryHit Query ( Min_Speed, Search_criteria ) QueryHit (num_hit,IP,port,speed,Result_set,trailer,servent_id) Trailer: resource_ids of files in result set Initiator p Servent s

Phase 2: Vote polling P selects a file r that best seems to satisfy its request. Such selection may be guided by the user’s preference p polls its peers about the reputation of a file and the set of servents that offer it. Servents wishing to respond vote on the resource_id and servent_ids and send back a PollReply Initiator p Servent s Poll (resource_id, {servent_id 1… servent_id n }, PKpoll) PollReply ({(IP,port,Votes)} PKpoll )

Phase 3: Vote evaluation & reliability check 1. p decrypts PollReply, discards tampered ones. 2. p clusters Voter’s IP and weight the votes within a cluster --Reducing the effect of a clique 3. p selects a set of voters in each cluster, contacts them directly, and expects back confirmation messages. If not enough responses, then p repeats step 3. Initiator p Servent s TrueVote ( Vote ) TrueVoteReply ( responses )

Phase 4: Best servent check p cannot always download file from best servent p contacts the best servent S to check the fact that it exports file which p wants to download Preventing ID stealth attack. Initiator p Servent s AreYou (servent_id s, resource_id) AreYouRepley({response} SKs, PK s )

Phase 5: Resource download p selects a servent s, downloads the file r and checks it against its digest Update its resource_repository & servent_repository Initiator pServent s download ( r ) resource ( r )

Query (Min_Speed, Search_criteria) QueryHit (num_hit,IP,port,speed,Result,trailer,servent_id) Initiator p Servent s Poll (resource_id, {servent_id 1… servent_id n }, PKpoll) PollRepley ({(IP,port,Votes)} PKpoll ) TrueVote ( Vote ) TrueVoteRepley ( responses ) AreYou (servent_id s, resource_id) AreYouRepley({response} SKs, PKs) download ( r ) resource ( r ) { { { { { Vote polling Resource Searching Vote evaluation download Best servent check

XRep: Security Considerations XRep allows to protect P2P against following attacks   Self replication   Man in the middle   ID Stealth   Pseudospoofing   Shilling

Self replication: A malicious servent could answer all Queries and provide doctored content. Even honest peers, unaware of the malicious content, could share it and contributing to its diffusion. e.g. Mandragore – a Gnutella worm   Bad reputations of file -- Worms slightly modifying themselves  Cannot collect positive recommendations  Check reputation of the servent

Man in the middle: A broadcasts a Query. B responds a QueryHit. E replaces IP and Port of the QueryHit with E’s IP and Port, sends it back to A. A may download from E.   The fake content provided by E will not match the digest of the legitimate file, then be discarded. (Phase 5) A B E Query QueryHit Modified QueryHit Download

ID Stealth: A malicious peer answers with two QueryHit s, carrying the digest of a doctored file and one of them carrying the ID of a reputable servent   Xrep checks whether the best servent is offering that file (Phase 4).

Psedospoofing & Shilling: 1 Attackers create and control multiple servents. They give positive votes to the attacker. Four cases:   Multiple servents have same IP address   IP cluster (phase 3)   Servents have different but faked IP address   TrueVote/TrueVoteRepley (phase 3) These two cases are called Psedospoofing

Psedospoofing & Shilling: 2   Servents have different real IP address. And those IP addresses have same net_id.   IP cluster may reduce the effect (phase 3)   Servents have different real IP address. And those IP addresses have different net_id.   To ensure a high number of voters. These two cases are call Shilling.

Distribution of Servent & Resource An important aspect for the applicabilty of this approach frequent files are more frequently searched => the number of votes will be high few servents offering many files => these servents will probably well know Cold-start problem

Conclusions XRep is a reputation management protocol for anonymous P2P environments It prevents malicious behaviors in P2P network Future work: --reputation mechanism with supernodes --performance optimization

References [1] The Gnutella Protocol Specification v0.4 www9.limewire.com/developer/gnutella_protocol_0.4.pdf [2] “ A Reputation-based Approach for Choosing Reliable Resources in Peer-to-Peer Networks," E. Damiani, etc. [3]