La Rete Gnutella e il P2P Parte seconda Mauro Franceschi.

Slides:



Advertisements
Presentazioni simili
Informazioni di base sul funzionamento
Advertisements

Indirizzamento LAN e ARP
VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
La sicurezza dei sistemi informatici
APRIRE PROGRAMMA DI POSTA OUTLOOK EXPRESS
Gestione della memoria centrale
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Microsoft Visual Basic MVP
Public Key Infrastructure
Realizzato da: Accurso Margherita VDp A.S. 2007/2008 GENNAIO
Corso di laurea in INFORMATICA
Comunicare con la posta elettronica (7.4)
INTERNET FIREWALL Bastion host Laura Ricci.
Responsabile: Ing. Daniele Bocci CORSO INTEGRATO DI INFORMATICA Master in Management Infermieristico.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Secure Shell Giulia Carboni
1: Introduction1 Condivisione file P2P r Allinizio del 2004 P2P era responsabile di un volume di traffico maggiore a qualunque altra applicazione Internet.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Internet Explorer Il browser.
LA RETE GNUTELLA e il P2P (Prima parte)
Reti di Calcolatori IL LIVELLO RETE.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
P2P (o quasi): Peer To Peer (o quasi) Gennaro Cordasco.
JXTA: Protocols JXTA definisce una formati per messaggi XML (aka protocolli) per la comunicazione fra peer: Peer Discovery Protocol (PDP) utilizzato dai.
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
PuntoPunto Reliable peer-to-peer overlay network con capacità di NAT traversal Vincenzo Pacella matr
Il Firewall Sistemi di elaborazione dellinformazione : Sicurezza Anno Accademico 2001/2002 Martini Eros.
Protocollo di autenticazione KERBEROS
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
> Remote Authentication Dial In User Service
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
Modulo 2 – U.D. 1 – Lez. 2 Ernesto Damiani – Sistemi di elaborazione dell'informazione.
CORSO DI CRITTOGRAFIA Quinto incontro PROGETTO LAUREE SCIENTIFICHE
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
File system distribuito transazionale con replicazione
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
TCP/IP.
Le reti di calcolatori ©Apogeo 2004.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
FairPeers Progettazione ed implementazione di un servizio di file management tramite Pastry.
L’architettura a strati
IPSec Fabrizio Grossi.
Di Luca Santucci e Riccardo Latorre LA CONDIVISIONE E L’ACCESSO ALLE RISORSE DI RETE.
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Dal click alla pagina web... Centro di Calcolo Corso Internet 22 Novembre 1996 Stefano Bistarelli Università di Chieti-Pescara “G. D’Annunzio” Dipartimento.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
IPSEC Studente Professore Michele Di Renzo Stefano Bistarelli.
INTRODUZIONE A INTERNET
Sicurezza delle comunicazioni1 Introduzione Consistente sviluppo delle applicazioni telematiche dovuto a: –Evoluzione tecnologica delle trasmissioni –potenze.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Servizi Internet Claudia Raibulet
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
Ernesto Damiani Lezione 5 – Gnutella Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
UNITA’ 02 Malware.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Livello 7: Applicazione. Protocolli più importanti HTTP = Hyper Text Transfer Protocol HTTPS = Hyper Text Transfer Protocol over Secure Socket Layer DNS.
Transcript della presentazione:

La Rete Gnutella e il P2P Parte seconda Mauro Franceschi

I 5 DESCRITTORI DEL G-NET(Gnutella-Network) 1)PING 1)PING: I messaggi Ping non hanno associato alcun carico e hanno lunghezza 0. E quindi rappresentato soltanto da un Descriptor Header il cui campo Payload Descriptore il cui campo Payload Length siano entrambi fissati al valore 0. Un servent usa i Ping per conoscere lo stato della rete: un servent che riceva un pacchetto di questo tipo e tenuto a rispondere con un pacchetto Pong,

I 5 DESCRITTORI DEL G-NET(Gnutella-Network) 2)PONG 2)PONG : utilizzato come risposta al PING; contiene lindirizzo del servent (porta e ip)e informazioni circa lammontare dei dati condivisi (numero file condivisi e numero kb condivisi).

3)QUERY: utilizzato per inviare delle richieste; un servent che riceve un descrittore QUERY deve rispondere con un descrittore QUERYHIT se ha trovato corrispondenza con i dati richiesti. Minum speedSearch criteria Query(0x80) Minum Speed: indica la velocitaminima della connessione del peer da ricercare. Search Criteria: i criteri di ricerca del file richiesto. I 5 DESCRITTORI DEL G-NET(Gnutella-Network)

4)QUERYHIT : la risposta ad una QUERY; questo descrittore fornisce al destinatario abbastanza informazioni per acquisire i dati richiesti QueryHit(0x81)

Schema Query-QueryHit con download

5)PUSH 5)PUSH : un meccanismo utilizzato dai servent per effettuare connessioni dirette, qualora ci sia la presenza di un Firewall Un servent che riceve un messaggio Push si preoccupa di spedire la risorsa soltanto nel caso in cui l' identificatore di Servent corrisponda al proprio, negli altri casi si limita ad inoltrarlo come un comune messaggio Multicast. I 5 DESCRITTORI DEL G-NET(Gnutella-Network)

Qualora un servent ( ) volesse scaricare una risorsa (Stairway to Heaven.txt) da un servent protetto da un Firewall ( ) deve chiederne la spedizione tramite un messaggio Push. Messaggi Push permettono quindi di far comunicare servent quando uno solo dei due e protetto da un Firewall ma diventa inutile qualora lo siano entrambi. Una sessione tipica di utilizzo del protocollo di Push

GNUTELLA FASE 1 – CONNESSIONE Ogni SERVENT contiene già inglobato lindirizzo di un server di cache dove sono reperibili gli indirizzi di macchine attualmente connesse alla rete GNUTELLA Il SERVENT invia un PING ad una di queste macchine, che in BROADCAST lo passerà a tutte le macchine a cui è connessa Una volta inviati i PING le macchine disponibili cominceranno a mandare pacchetti PONG seguendo la strada fatta dai pacchetti PING Nei pacchetti PONG sono contenute info sul numero di files condivisi e il loro ammontare e anche sulla velocità di connessione dellhost che lo invia

GNUTELLA FASE 1 – CONNESSIONE

: peer inizio 2&7: risposte Query QueryHit Non descriptor 4 Match Un servent richiede un file facendo il broadcasts di una Query. I Servents inoltreranno tutti i Query descriptors in arrivo a tutti i servents direttamente collegati ad esso, eccetto quello che gli ha inviato la Query. Un servent se riceve un descriptor che ha gia ricevuto in precedenza non inoltrera il descriptor Un servent risponderacon un QueryHit se ha trovato un riscontro(Match) nel suo database locale. QueryHit descriptors possono essere spediti solo lungo lo stesso cammino dal quale proviene il Query descriptor in arrivo9 Se il campo TTL e a zero,il descrittore non e inoltrato a nessuna connesione. GNUTELLA FASE 2 – RICERCHE

Il desiderio di mantenere lanonimato dei partecipanti della rete rende la stessa rete vulnerabile e le risorse potrebbero: Subire attacchi Dos e DDoS Essere corrotte Contenere Virus, Worm, Trojan Horse: esempio Mandragore – un worm Gnutella --Agisce come un servent e risponde a tutte le Queries --Fa una copia di se stesso rinominata per essere scaricato SICUREZZA NEL P2P 1

SICUREZZA NEL P2P 2- AUTENTICAZIONE DEI CONTENUTI Ogni volta che un file e scaricato bisogna fidarsi che il contenuto del file sia quello che effettivamente ci si aspettava. Non ce nessuna informazione addizionale nel file che avvisi lutente del reale contenuto del file. Lutilizzo attuale del protocollo Gnutella e del protocollo p2p in generale si basa essenzialmente sulla fiducia tra lutente che cerca e lutente che fornisce il file. Unalterazione puo essere innocua, oppure puo essere capace di introdurre codice virus, messaggi o altro.

Una possibile soluzione: Reputation System:X-Rep Revisione del processo di Peer : lopinione degli altri peer e usata per stabilire una reputazione per peers e files. Ovvero viene introdotto un meccanismo chiamato X-Rep : possiamo stabilire se quello che andremo a prelevare da un altro servent e quello che vogliamo effettivamente.

Fondamenti del Reputation System:X-Rep Ogni servent conserva delle informazioni sulla sua esperienza riguardo i files e gli altri servents e condivide questa esperienza con gli altri servents se essi ne fanno richiesta. Ogni servent ha un proprio servent_id che e una sorta di public key ottenuta tramite una funzione di hash sicura. La reputazione del Servent e associata al suo servent_id Ogni file ha associato un resource_id che e calcolato applicando una funzione di hash sicura al contenuto del file. Le reputazioni di un file sono accoppiate al suo resource_id.

Immagazzinamento della reputazione e calcolo dei voti 1 Ciascun servent mantiene un resource_repository che memorizza le sua opinioni riguardo i files e un servent_repository che riguarda i servents di cui ha esperienza. servent vota Un servent vota files e servents con cui ha avuto esperienza.I voti sono le sue opinioni su files e servents. I voti sono espressi sulla base delle informazioni disponibili nel suo resource_repository e servent_repository.

Immagazzinamento della reputazione e calcolo dei voti 2 resource_repository: insieme di coppie (resource_id,value) value= 0 o 1. servent_repository: insieme di triple (servent_id, num_plus, num_minus) num_plus rappresenta il numero di interazioni positive, num_minus le interazioni negative. Voto = 0 giudizio negativo o 1 giudizio positivo. Voto del servent =1, se num_plus>>num_minus. Voto del file = value.

Xrep:Polling Protocol Fase 1: Ricerca di una risorsa. P manda un Query message per cercare files, e i servents fanno il matching della richiesta con un QueryHit. Query ( Min_Speed, Search_criteria ) QueryHit (num_hit,IP,port,speed,Result_set,trailer,servent_id) Trailer: contiene i resource_ids dei files nel result set Initiator p Servent s

Xrep:Polling Protocol Fase 2: Scrutinio dei Voti P seleziona un file che sembra soddisfare al meglio la sua richiesta. P indice una votazione tra i peers circa la reputazione di un file e linsieme di servents che lo offrono. P invia un messaggio di votazione (Poll) dove vengono elencati gli identicativi di tutti questi servent, la chiave pubblica associata alla sessione di votazione. I servents che vogliono rispondere votano nel resource_id e servent_ids e mandano indietro una PollReply, crittografata con la pk inviatagli da P Initiator p Servent s Poll (resource_id, {servent_id 1… servent_id n }, PKpoll) PollReply ({(IP,port,Votes)} PKpoll )

Xrep:Polling Protocol Fase 3: Valutazione dei Voti e controllo di realizzabilita 1. p decripta i PollReply, eliminando quelli alterati. 2. p seleziona un insieme di votanti,li contatta direttamente, e aspetta il ritorno dei messaggi di conferma. Se non ci sono ancora risposte, allora p ripete il passo 2. Initiator p Servent s TrueVote ( Vote ) TrueVoteReply ( responses )

Fase 4: Controllo del migliore servent p non puo sempre scaricare file dal miglior servent S. p contatta il migliore servent S per controllare il fatto che esporti il file che p vuole scaricare. Initiator p Servent s AreYou (servent_id s, resource_id) AreYouReply({response} SKs, PK s )

Fase 5: Download della risorsa p seleziona un servent s, scarica il file r e lo controlla. Aggiorna il resource_repository & servent_repository Initiator pServent s download ( r ) resource ( r )

XRep: Security Considerations XRep permette di proteggere il P2P dai seguenti attacchi: – Self replication – Man in the middle

Self replication: Un servent potrebbe rispondere a tutte le Queries e provvedere a modificarne il contenuto. Persino i peers onesti, ignari del contenuto dannoso, potrebbero partecipare alla condivisione e.g. Mandragore – a Gnutella worm Cattiva reputazione del file. -- Worms modificano se stessi Non possono avere buone reputazioni. Controlla la reputazione del servent.

Man in the middle: A fa il broadcasts di una Query. B risponde con un QueryHit. E cambia IP e la Porta del QueryHit con IP e Porta di E, rimandandolo ad A. A puo scaricare da E. Il falso contenuto mandato da E non corrispondera al digest del file legittimo, cosi sara scartato. (Fase 5) A B E Query QueryHit QueryHit Modificato Download

Bibliografia Un sistema di sicurezza per ambienti peer-to-peer. Autore: Fabrizio Corneli. A Reputation-Based Approach for Choosing Reliable Resources in Peer-to-Peer Networks. Autori:E. Damiani S. De Capitani di Vimercati S. Paraboschi P. Samarati F. Violante; url: