Così come i siti web contengono tentativi di phishing, malware, codici dannosi per l'utente, allo stesso modo le reti utilizzate nel peer to peer sono colme di rischi per l'utente. In questo ambiente non ci sono terze persone che possono garantirci l'autenticità dei dati, come per esempio succede nei siti che utilizzano connessioni cifrate e certificate tramite HTTPS, e non possiamo fidarci di un file perché proviene da una fonte attendibile, come se lo scaricassimo da un sito conosciuto.
Il mondo del peer to peer è dunque un terreno molto invitante per i malintenzionati, che spesso riescono nel loro intento semplicemente rinominando il loro file dannoso con una stringa corrispondente a quella cercata dall'ignaro utente. In questo articolo cercheremo di capire come difenderci da questi rischi: evitare di scaricare file indesiderati, controllare per quanto possibile le nostre fonti e cercare di ottenere un minimo di privacy durante l'utilizzo delle reti P2P.
Una precisazione è d'obbligo: il peer to peer è di solito collegato al fenomeno di download di file che violano il copyright, anche se il suo utilizzo non si limita a queste attività illegali. Questo articolo non è uno spunto per eludere le leggi vigenti, ma un suggerimento agli utenti che utilizzano il P2P in modo lecito.
Prima di parlare di come proteggersi utilizzando il P2P, è bene fare un veloce richiamo a quelle che sono le principali reti esistenti: eDonkey e Bittorrent. Chi ne sapesse già molto può voltare pagina e leggere subito i nostri consigli per proteggersi nelle reti P2P.
BitTorrent ed eMule
La rete eDonkey, creata da Jed McCaleb, è un network composto da server e client. I server sono preposti ad indicizzare i file presenti sui client, a indicargli dove possono trovare il file cercato e a coordinarne le connessioni per lo scambio di questi file. Il client, per la maggior parte dei casi rappresentato dal celebre Emule, si connette ad un server, gli trasmette la lista dei file che ha in condivisione e invia le ricerche effettuate dall'utente. Se il file è presente su uno degli altri client collegati alla rete (e non solo su quel server poiché gli stessi server comunicano tra di loro), l'utente mette il file nella lista dei suoi download. Il file richiesto viene frammentato e ogni frammento viene scaricato da un client diverso, in questo modo è possibile scaricare contemporaneamente da più fonti. Dal punto di vista del client che possiede il file, la richiesta di un certo frammento viene messa in una "coda di upload" regolata dai cosiddetti "crediti": un valore calcolato in base ai dati inviati. In questo modo vengono premiati (con un download più rapido) gli utenti che hanno un traffico più alto in upload, garantendo allo stesso tempo la sopravvivenza della rete. Degna di citazione è la rete Kademilia, un network parallelo a eDonkey che permette la comunicazione diretta tra client alleggerendo il carico sui server.
Scritto da Bram Cohen, BitTorrent è un network molto differente da eDonkey, fin dal principio su cui si basa: coordinare una moltitudine di client (i più conosciuti sono uTorren e Azareus) per ottimizzare la diffusione dei dati. Ogni file presente sulla rete è suddiviso in frammenti di dimensione fissa ed associato a un file *.torrent. Di piccole dimensioni, questo file contiene l'elenco di tutti i frammenti, le chiavi hash che permettono di verificarne la correttezza e uno o più indirizzi dei server traccia (in inglese "tracker"). Il tracker localizza gli utenti che posseggono il file o frammenti di esso e informa i client che ne fanno richiesta. Quando un client ha trovato sorgenti per tutti i frammenti del file cercato, comincia il download che avviene, appunto, peer to peer. Per garantire la sopravvivenza della rete, ogni client comincia a trasmettere i frammenti appena ricevuti, incrementandone la diffusione. A differenza della rete eDonkey, i server tracker non svolgono funzioni di ricerca dei file, che va fatta cercando il file *.torrent appropriato.
Server e file fake ('falsi')
Dal veloce riepilogo delle principali reti P2P appena fatto, si nota come eDonkey dipenda in tutto e per tutto dai server, il nodo critico della sicurezza dell'intero network. Purtroppo ciò lo sanno bene anche i malintenzionati che provvedono costantemente creare i cosiddetti "Fake Server", ossia server che hanno nomi analoghi a quelli dei server "puliti" ma finalità opposte. Essi infatti provvedono a rispondere a qualsiasi ricerca del client con un elenco di file disponibili, "casualmente" aventi esattamente il nome coincidente con la stringa cercata, ma con contenuto inevitabilmente dannoso.
Analogamente per la rete BitTorrent esistono i Fake Tracker che, associati a file *.torrent altrettanto "fake", fanno scaricare all'utente file indesiderati.
Per difendersi da questa minaccia, per quanto riguarda la rete eDonkey, è bene disabilitare l'aggiornamento automatico delle liste dei server presenti sul nostro client. Prendendo come esempio eMule quindi, disabiliteremo l'opzione Opzioni/Server/Aggiorna la lista server quando ti connetti ad un server e Opzioni/Server/Aggiorna la lista server quando contatti un client. Successivamente sarà sufficiente cercare su qualche sito attendibile gli indirizzi IP dei server fidati e aggiungerli manualmente al client.
Per quanto riguarda BitTorrent, la contromisura più efficace è assicurarsi dell'attendibilità del sito dal quale scaricheremo il file *.torrent. Se comunque sorgesse qualche dubbio, sul sito http://fenopy.com/fakefinder/ potremmo inserire l'URL del tracker o l'hash del file sospetto per convalidarne la sicurezza.
Tornando alla rete eDonkey, molto spesso anche collegandosi a server sicuri, vengono scaricati file che, anche se non dannosi, non corrispondono a quelli cercati. I client che diffondono questi file sperano di essere contattati più spesso per ottenere maggiori "crediti" (citati in precedenza per il funzionamento delle code di upload). Prima di scaricare un file quindi è bene controllare se la dimensione dello stesso corrisponde a quanto ci aspettiamo che sia, se i commenti scritti da altri utenti su quel file sono positivi e ove possibile, visualizzare un'anteprima del file in questione per accettarne la correttezza.
Un ultimo e fondamentale accorgimento, necessario per tutti i download e non solo per quelli ottenuti P2P, è l'utilizzo di un antivirus affidabile e aggiornato che controlli i file non appena vengono scaricati. Ne esistono innumerevoli e nella sezione Antivirus del sito Download di HTML.it sono presenti diverse soluzioni sia freeware che a pagamento.
P2P Anonimo
Analizzando il funzionamento delle due reti P2P trattate, è chiaro che il traffico può essere suddiviso in due contesti: quello tra cliente e server (o tracker) e quello tra client e client. Ponendo l'attenzione sul primo dei due è inevitabile pensare che il server veda ogni nostra richiesta di file, quindi nulla gli vieta di memorizzarla, violando la nostra privacy analogamente ai siti che raccolgono dati sulla navigazione. Gli scopi sono i più disparati: dalle ricerche di mercato, alla pubblicità mirata fino al controllo dell'attività degli utenti in rete. Purtroppo anonimizzare queste attività non è immediato come per la navigazione tradizionale. In questo caso infatti basta usare software tipo Tor che rimbalza le nostre richieste di pagine web attraverso più proxy rendendo (semi)impossibile risalire a ritroso alla fonte. Ma questi sistemi si basano su utenti volontari che mettono a disposizione una porzione della propria banda per ritrasmettere le nostre richieste http. Lo scambio dei dati su reti P2P però è ben più gravoso in termini di banda della semplice navigazione, quindi è impensabile l'utilizzo di strategie del genere.
Se si è disposti a sborsare qualche centinaio di euro le cose cambiano. Una soluzione infatti è creare un tunnel VPN verso un server ad-hoc. In questo modo il traffico tra noi e il server sarà cifrato e autenticato, ma tutte le richieste appariranno generate dall'IP del server terminatore del tunnel. Svantaggi? Non è gratuito e anche in questo caso il server potrebbe loggare il nostro traffico e rivelare il nostro indirizzo IP a terze parti.
Una soluzione, anche se non ottimale, esiste per la rete BitTorrent: i tracker privati. Questi server non sono aperti a chiunque voglia connettersi, ma sono una sorta di comunità parallela al network in cui ci si può inserire dietro invito. Chiaramente questi server non sono "riforniti" come quelli pubblici, ma ci danno sicuramente un po' di sicurezza aggiuntiva rispetto ai tracker pubblici. Ci sono dei momenti in cui questi tracker vengono aperti a chiunque (per brevi periodi), e per "cogliere l'attimo" ci viene incontro tracker checker, che vediamo nella pagina successiva.
Questo programmino, disponibile sia per Windows che per MacOS, controlla periodicamente i Tracker privati mostrandoci tempestivamente quali sono "aperti a tutti" e quali no.
Per quanto riguarda eDonkey? Ciò che possiamo fare è evitare connessioni "indesiderate" verso il nostro client. Per indesiderate si intendono le connessioni provenienti da organizzazioni governative, pubblicitarie e così via, tutte catalogate in blacklist costantemente aggiornate. Queste blacklist sono alla base del funzionamento di PeerGuardian, un programma open source dal funzionamento semplicissimo: bloccare in entrata e in uscita connessioni provenienti e dirette verso gli indirizzi presenti nella blacklist (o più correttamente blocklist).
PeerGuardian, arrivato alla versione 2, è capace di bloccare qualsiasi tipo di protocollo se installato su Windows XP/2003/Vista mentre è limitato al solo TCP per i sistemi operativi più attempati come Windows 98/ME. È un programma estremamente leggero che occupa una piccola percentuale della capacità di elaborazione della CPU, non ha bisogno di driver aggiuntivi e si integra con i principali firewall esistenti.
Dopo l'installazione, l'unica operazione da fare è selezionale le Blocklist desiderate, suddivise per "tipologie" (Advertising, Governative, AntiP2P e così via) dalla sezione List Manager/Add.
Da questo momento in poi PeerGuardian2 intercetterà qualsiasi connessione, la confronterà con le blocklist selezionate, e agirà di conseguenza.
Conclusioni
I network P2P sono una grande risorsa gratuita, ma purtroppo in quanto tali non offrono alcuna garanzia né di sicurezza nei dati, né tantomeno di privacy. Ci sono diversi gruppi di lavoro, come http://gnunet.org/ che si basa su un sistema simile al citato Tor, o SecureP2P che punta a introdurre sistemi di cifratura e autenticazione a livello 3 dello stack ISO/OSI in modo da essere trasparenti ai livelli sovrastanti. Ma sono tutti allo stato embrionale, senza applicazioni pratiche di rilievo. Finché non diventeranno realtà dovremo, quindi, utilizzare i network P2P con un'attenzione e una diffidenza decuplicata rispetto a quella posta durante la normale navigazione.