jump to navigation

Anonymous File Sharing con ANTs P2P January 17, 2006

Posted by laspinanelfianco in Internet.
add a comment

Se siete utenti dei sistemi di File Sharing (reti P2P, cioè Peer-To-Peer), dovreste sapere che scambiare file che contengono materiali protetti dal diritto d’autore (copyrighted) è un reato molto serio in Italia. Più precisamente, il fatto di scaricare file è considerato un reato simile alla ricettazione e comporta una pesante multa (fino a qualche migliaio di euro). Il fatto di mettere a disposizione di altri dei file coperti da copyright è un reato penale che comporta le seguenti possibili conseguenze:

  • Una multa dell’ordine di grandezza di decine di migliaia di euro
  • Fino ad alcuni anni di galera (più di 2, per cui senza libertà condizionale si finisce in galera subito)
  • Una possibile richiesta di risarcimento danni da parte del titolare dei diritti (fino a qualche centinaia di migliaia di euro,a seconda della situazione)

In altri termini, in questo momento in Italia, passare ad una amica un CD “piratato” (anche via Internet) è considerato un reato molto, ma molto più grave che violentarla in gruppo (pensateci la prossima volta che dovete organizzare un venerdì sera con quella bionda…). I curiosi possono approndire la conoscenza del problema a InterLex (http://www.interlex.it/). In USA, la RIAA ha già citato oltre 17.000 utenti di reti P2P per danni, tra cui la dodicenne Brianna Lahara e la 83enne (e defunta al momento del reato contestato) Gertrude Walton.

Queste brillanti azioni di una associazione di colossali multinazionali come la RIAA contro questi pericolosi cyberterroristi hanno naturalmente mosso una enorme ondata di simpatia nei confronti della RIAA stessa. Tutto questo ha portato allo sviluppo di nuovi sistemi P2P, noti come sistemi di “terza generazione”, in grado di sfuggire all’azione investigativa della Polizia e della RIAA. Tra questi sistemi, sono piuttosto famosi MUTE e ANTs P2P. Entrambi questi sistemi sono ampiamente descritti a P2PSicuro e su GNU/Linux Magazine di Novembre 2005 potete trovare un mio articolo su MUTE. In questo articolo descrivo brevemente ANTs P2P.

ANTs P2P è importante all’interno di questo panorama per diversi motivi:

  • è in assoluto il sistema di P2P più avanzato attualmente disponibile dal punto di vista della sicurezza e dell’anonimato per l’utente
  • è scritto in Java (che personalmente odio) e quindi gira dovunque sia disponibile una virtual machine Java (Windows, McIntosh e Linux)
  • permette sia di scambiare file (in tutta sicurezza) che di chattare e di pubblicare documenti (web sistes) in maniera del tutto anonima ed irrintracciabile

ANTs P2P è reperibile qui: http://antsp2p.sourceforge.net/ e qui: http://www.p2psicuro.it/ants/index.htm . L’installazione è piuttosto banale, soprattutto se avete già la Java Runtime Edition (JRE 1.5) installata ed usate l’apposito installer automatico Java. Anche l’uso è piuttosto semplice e comunque è ampiamente descritto qui: http://www.p2psicuro.it/ants/index.htm . Di conseguenza, non sto a ripetere cose già dette da altri. Piuttosto, mi preme farvi conoscere e farvi apprezzare alcune caratteristiche di base di ANTs. Il fatto di sapere cosa può fare e cosa significhino certe sue caratteristiche vi può aiutare ad apprezarlo ed a capire come lo si possa usare.

Mascheramento dell’IP

Quando siete connessi ad Internet, il vostro PC (e quindi voi) è identificato da un apposito indirizzo, chiamato “indirizzo IP”. Questo indirizzo è una roba simile a: 203.123.104.97 ed identifica il vostro PC in modo univoco. Non c’è nessun’altro al mondo in quel momento che abbia lo stesso indirizzo IP. Questo indirizzo può essere statico, cioè può durare tutta la vita, o può essere dinamico, e cioè può durare solo il tempo della connessione, ma è comunque un indirizzo noto che identifica il vostro PC. Il vostro ISP (“Internet Service Provider”, cioè Telecom, Infostrada, Elitel, Tele2. etc.) è sempre in grado di risalire a chi apparteneva un certo indirizzo IP in un certo momento, anche a mesi di distanza. Grazie a questo indirizzo IP, la RIAA e la Polizia sono sempre in grado di risalire a chi scambia file abusivamente su Internet (e non illudetevi che l’uso di Proxy sia una soluzione). Questo indirizzo IP è necessario per riuscire a stabilire una comunicazione tra due computer e non può quindi essere eliminato.

Nonostante questo, ANTs P2P (come MUTE) non fa uso di indirizzi IP tradizionali e quindi non permette di rintracciare il vostro PC. Per riuscire in questo difficile intento, ANTs P2P (come MUTE) fa uso di un suo protocollo di instradamento (routing) proprietario, completamente indipendente da quello di Internet e completamente protetto crittograficamente. Non c’è modo di risalire alla identità di un computer collegato alla rete ANTs.

Uso di Proxy e NAT

ANTs P2P è in grado di funzionare anche se il vostro PC si trova dietro un Proxy, un Firewall od un sistema NAT (in pratica: un router che vi collega ad Internet). In questo modo, si può usare ANTs P2P restando “nascosti” dietro un Proxy od un Firewall. Questo aggiunge ulteriore sicurezza alla connessione.

Cifratura end-to-end e cifratura endpoint-to-endpoint

Tutte le comunicazioni esistenti tra due PC che usano ANTs P2P sono protette crittograficamente con un algoritmo molto robusto, sia quelle che collegano due nodi adiacenti (end-to-end) sia quelli che collegano i due PC che si trovano in comunicazione alle due estremità della rete (endpoint-to-endpoint). Nessuno può intercettare queste comunicazioni e nessuno può stabilire cosa si stiano scambiando i due PC.

HTTP Tunneling

ANTs P2P è in grado di comunicare con l’esterno anche se vi trovate dietro ad un firewall aziendale che, teoricamente, dovrebbe “tagliare” le comunicazioni P2P. ANTs P2P riesce a fare questo cammuffando le sue comunicazioni da normali connessioni web (cioè connessioni HTTP). Questo rende impossibile riconoscere la connessione ANTs P2P da una normale connessione a, diciamo, Google o Repubblica.

Search by Hash

ANTs P2P può ricercare i file ed identificarli in base al loro hash. L’hash è una “impronta digitale” del file che permette di riconoscere facilmente il file “giusto” in mezzo a milioni di file “fasulli”. In questo modo la rete ANTs è invulnerabile all’avvelenamento che si può perpetrare nei confronti di altre reti riempiendole con file dal nome allettante ma contenenti solo spazzatura.

Embedded IRC system

ANTs P2P dispone di un sistema di “chat” interno. Questo sistema è protetto dagli stessi meccanismi che proteggono lo scambio file e permette di comunicare in modo anonimo e segreto senza nessuna altra aggiunta e nessun’altro accorgimento. Si tratta quindi di un canale di comunicazione sicuro disponibile “di serie” con ANTs P2P.

Anonymous HTTP server

ANTs P2P permette di usare un server HTTP (un server web) come Apache per pubblicare su Internet documenti ed interi siti web senza rivelare in alcun modo la propria identità e la propria posizione. La pubblicazione avviene sulla rete ANTs P2P (non sul normale web) e sfrutta gli stessi meccanismi di protezione del sistema di scambio file.

Distributed (Full-Text and Hash) search engine

ANTs P2P dispone di un motore di ricerca distribuito sui vari nodi della rete che è in grado di cercare file sia attraverso il loro hash che attraverso il loro nome che cercando una stringa di testo al loro interno. In altri termini, ANTs P2P dispone del suo Google interno, protetto e sicuro.

Open Source

ANTs P2P è disponibile in formato sorgente. Questo rende possibile verificare che non contenga spyware o programmi malvagi di altro tipo.

Se siete arrivati a leggere fino a questo punto, e siete le persone sveglie che credo, a questo punto avete già capito per quale motivo ANTs P2P è un programma importante sul panorama mondiale del software. Vi consiglio di installarlo, provarlo e leggervi l’abbondante documentazione esistente sia in italiano che in inglese. Se avete difficoltà, contattate gli utenti più esperti a www.p2pforum.it .

Se siete programmatori, provate a dare un’occhiata ai sorgenti e tenete presente che sono in molti ormai a chiedere una implementazione C o C++ di ANTs P2P per Linux e/o per altre piattaforme.