Skip to content

Bubble2009/TOR-vs-VPN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Breve panoramica su casi d'uso di TOR e VPN

TOR VPN

Sento spesso nominare a sproposito questi due sistemi di "anonimizzazione", pertanto ho pensato di scrivere due righe sui vari casi d'uso di questi due sistemi, in modo da chiarire se e quando usarli, ma soprattutto se e quale utilizzare.

TOR, the Onion routing.

TOR non è TOR Browser
Questo è il primissimo errore che in molti fanno.
TOR è un protocollo, TOR Browser è, appunto, un browser che utilizza il protocollo TOR.

Dopo questa prima e sostanziale premessa, vi faccio un piccolissimo accenno al protocollo Onion Routing per cercare, in seguito, di spiegarvi come e perché utilizzarlo.

Onion Routing 1 Questa qui sopra è un'immagine molto esplicativa, ma solo per chi già conosce questo protocollo.
Iniziamo però a vedere le tre componenti del routing, ovvero: il nodo di entrata, il nodo mediano ed il nodo di uscita.

Il protocollo Onion Routing si basa proprio su questi tre layer di separazione.
Vediamo però meglio come funzionano.

Tor Circuit Diagram

Ipotizziamo che Alice voglia collegarsi ad un sito internet utilizzando il protocollo Onion Routing.
Il computer (o telefono) di Alice si collegherà ad un primo relay chiamato guard (guardia). Questo primo relay, conoscerà l'indirizzo IP di Alice e riceverà un pacchetto di dati crittografati di cui conoscerà una chiave.
Una volta aperto questo pacchetto, troverà al suo interno un secondo pacchetto crittografato ed un indirizzo di un secondo nodo a cui invierà questo pacchetto di dati. Abbiamo tolto il primo strato.

Il pacchetto ora arriverà al secondo relay chiamato middle (mediano). Questo secondo relay, conoscerà solo l'indirizzo del precedente nodo, e quindi, non quello di Alice.
Il middle relay, tramite una chiave, toglierà un secondo stato di crittografia del pacchetto di dati, trovando un ulteriore pacchetto di dati crittografato e l'indirizzo di un ulteriore nodo.

Il pacchetto dati di Alice è ora arrivato al relay chiamato Exit (uscita) che con un'ultima chiave, aprirà il pacchetto di dati. Questo relay conoscerà l'indirizzo dei server (sito) che Alice vuole visitare in quanto sarà lui stesso a doverlo contattare, ma non conoscerà il mittente.

Il pacchetto di dati è finalmente giunto a destinazione.
Vediamo ora cosa è successo al nostro pacchetto di dati:

  1. Primo relay: Guard
    • è a conoscenza dell'indirizzo IP di Alice, ma non conosce il sito a cui Alice vuole collegarsi;
  2. Secondo relay: Middle
    • è il nodo che rimane più all'oscuro di tutti, non conosce nè l'indirizzo IP di Alice e nemmeno il sito che Alice vuole contattare;
  3. Terzo ed ultimo relay: Exit
    • il nodo di uscita, ha una informazione importante, conosce il sito a cui qualcuno vuole collegarsi, ma non sa che quel qualcuno è Alice.

Ecco il funzionamento dell'Onion Routing.
Il pacchetto di dati parte con un triplo strato che viene via via scoperto ad ogni passaggio che viene fatto nella rete TOR.

Ora che abbiamo visto grossolanamente come funziona la rete TOR, vediamo eventuali pro e contro nell'utilizzo di questo protocollo.

  • Partiamo con il dire che, dovendo passare attraverso tre relays, la comunicazione non potrà essere veloce dovendo essere reinstradata più volte;
  • Il vantaggio che questo protocollo ci dà, è di poter mascherare il nostro indirizzo IP al sito che stiamo contattando, facendo in modo che questo sito non riesca a carpire la nostra identità.
    Ovviamente, se poi ci stiamo collegando ad un servizio KYC, il sito saprà perfettamente chi siamo, ma vediamo il prossimo punto prima di commentare questa cosa;
  • Il vostro ISP (Internet Service Provider, ovvero colui il quale vi fornisce connettività) sarà a conoscenza che state utilizzando TOR.
    Lo saprà perché gli indirizzi IP dei nodi TOR sono pubblici.
    Quindi, il vostro ISP saprà che state utilizzando TOR, ma non saprà a che sito vi state collegando;
  • Il sito internet a cui vi state collegando, saprà che state utilizzando TOR e potrebbe bloccare l'accesso ai dati che provengono da un relay.
  • last but not least, molti relays TOR sono in mano ad agenzie governative. Nella malaugurata ipotesi che, per somma sventura, vi dovesse capitare di collegarvi a tre relays tutti di proprietà di una agenzia governativa, quest'ultima sarà a conoscenza della vostra identità e del sito che andrete a visitare.

Come vi spiegavo, gli indirizzi IP dei nodi TOR sono pubblici, vi lascio un esempio di un sito che li lista: 🔗relays.0x7c0.com.

TOR vs TOR Browser
Vediamo ora cosa cambia da utilizzare TOR rispetto a TOR Browser.
TOR Browser ci permette di navigare con un browser basato su Firefox che ci dà accesso all'Onion Routing.
Tutto quello che faremo con quel browser, passerà tramite la rete TOR.
ATTENZIONE !! la rete TOR ha dei limiti. Non è possibile fare tutto quello che vogliamo sotto rete TOR.
Ad esempio, viene raccomandato di non fare torrent sotto TOR.
TOR Browser bloccherà i plugin Flash, RealPlayer, QuickTime e simili perché potrebbero essere manipolati per inviare il vostro indirizzo IP. Proprio per questo motivo, si sconsiglia vivamente di NON installare estensioni al browser TOR.

Vediamo, invece, perché potrebbe essere utile installare TOR come servizio nel computer (o nel telefono).

Installando TOR come servizio, abbiamo modo di far transitare tutto (o quasi) sotto rete TOR.
Cosa ci può servire questo?
Vi faccio alcuni esempi:

  • ho una casella di posta "anonima", ma collegandomi in chiaro, fornirei il mio indirizzo IP, pertanto l'anonimato andrebbe a farsi benedire.
    con un servizio TOR, invece, potrei forzare il mio client di posta a collegarsi solo tramite l'Onion Routing;
  • ho installato un software wallet sul mio computer, ma non ho un mio nodo, per far transitare le richieste sotto TOR, mi servirà TOR installato come servizio.
  • ci possono essere mille altri casi d'uso che magari aggiungerò con il tempo, ma per il momento credo di aver già dato un'idea di alcuni casi d'uso.

Prima che qualcuno mi salti alla gola, devo dirvi che, una volta aperto TOR Browser, potete indirizzare il traffico di altri programmi tramite il browser stesso. Possiamo quindi affermare che non è INDISPENSABILE installare TOR come servizio, ma dobbiamo renderci conto che anche solo una apertura di un applicazione senza aver prima attivato TOR Browser, può far perdere l'anonimato.

Tenete sempre presente, però, che alcuni siti e servizi non funzionano se utilizzate TOR. Pertanto è necessario lasciare un qualche instradamento al di fuori di TOR per questi servizi.

Smartphone
Parlo unicamente per telefoni Android, meglio ancora se ungoogled (vedi questa 🔗mia altra guida):

  • InviZible pro
    • installato come servizio in avvio automatico, veicola tutto il traffico dell'userspace in cui è installato sotto TOR
  • ORBOT
    • permette di selezionare quali applicazioni far transitare sotto rete TOR.
    • Utilizza un sistema leggermente differente che si chiama snowflake, ma non ci sono differenze concettuali da analizzare in questa guida
  • TOR Browser
    • come detto sopra, è un browser che veicola tutto quello fatto in quel browser tramite rete TOR

VPN virtual private network

Vediamo ora brevemente cos'è una VPN.

VPN

Ci sono differenti tipologie di VPN, ma ora vedremo soltanto la versione che reinstrada il traffico dati tramite il server VPN.
Quando utilizziamo una VPN, il nostro device si collega ad un server centralizzato che che reinstraderà il nostro traffico verso li sito che vogliamo visionare.

Cosa vuol dire questo?
Esaminiamo la situazione equiparandola allo scenario precedente: Alice utilizza una VPN per visitare un sito internet.
A questo punto, l'ISP di Alice saprà che Alice si sta connettendo ad un server. In genere l'ISP saprà che questo server è di una VPN, ma non saprà che sito Alice starà visitando.
Il gestore della VPN, invece, conoscerà sia l'indirizzo IP di Alice che il sito che stiamo visitando.

Facciamo quindi un paragone:

Working VPN

Se Alice si connette ad un sito senza VPN, sarà il suo ISP a conoscere sia l'indirizzo IP che il sito che andrà a visitare.
Usando una VPN, sarà invece il gestore della VPN a conoscere sia l'indirizzo IP di ALice che il sito che andrà a visitare.

A chi volgiamo dare la nostra fiducia?

Nei due esempi di prima, ci sarà sempre qualcuno che conoscerà sia il nostro indirizzo IP che il sito che andremo a visitare. Siamo noi a dover decidere a chi dare la nostra fiducia: al nostro ISP o al gestore della VPN?
Ho citato questo passaggio in un gruppo Telegram (di cui parlerò sotto) e vi mostro un importante commento:

Palinuro

Di seguito verrà spiegato il perché di questa frase.

Tipi di VPN

Dovendo dare fiducia ad un gestore, cadiamo nello stesso problema già menzionato in altre guide.
Non c'è nulla di gratuito, pertanto, utilizzando una VPN gratuita, saremo noi il prodotto.
Cosa ne farà dei dati raccolti, non possiamo saperlo, ma che raccoglierà i dati è sicuro, come è sicuro che, in qualche modo, ne trarrà profitto.

VPN commerciali.
In base a quanto detto sopra, c'è da chiedersi che dati raccolga una VPN commerciale, ma soprattutto cosa ne faccia di quei dati.
Se una autorità andrà a chiedere i tabulati del nostro traffico, che garanzia abbiamo che il gestore della VPN tuteli la nostra privacy?

Tra le VPN commerciali, in rete, viene molto gettonata la VPN di 🔗Mullvad. Come seconda VPN gettonata, invece, troviamo 🔗Proton VPN che offre anche una versione gratuita; bisognerebbe vedere se con questa rischiamo di rientrare nel campo precedente.

Pochi giorni dopo che ho scritto questa guida, Turtlecute ha pubblicato un post in cui parla proprio delle VPN che vi invito a leggere: 🔗Il Marketing delle VPN.
Oltre a rimarcare cose già affrontate in questa guida, Turtlecute mette sul piatto anche 🔗ObscuraVPN mentre ammette di non prendere in considerazione ProtonVPN perché non si fida dei servizi Freemium.

Potenziali pericoli delle VPN

E' arrivato il momento di argomentare la risposta postata prima.

Recentemente, sul gruppo Telegram 🔗Bitcoin Sicurezza e Privacy, è stato postato il link di un articolo che illustra potenziali perdite di anonimato accoppiando VPN e TOR.
Da quel link è nata una costruttiva chiacchierata con 🔗Lorenzo "Palinuro" che ha illustrato una vulnerabilità intrinseca alle VPN che ha generato la sua risposta che ho illustrato nella sezione A chi vogliamo dare la nostra fiducia?.

Lorenzo si occupa (tra le altre cose) di CyberSecurity e la sua osservazione punta proprio ad evidenziare una potenziale falla alla sicurezza facendo riferimento ad un tipo di attacco noto come MITM (Man in the Middle).
Per effettuare questo tipo di attacco a casa vostra, un attore malevolo, dovrebbe introdursi nella vostra abitazione e installare un dispositivo di ascolto tra il vostro computer ed il vostro modem.

MITM MITM - Man In The Middle - attacco in cui un entità malevole intercetta i vostri dati

In questo modo potrebbe raccogliere ed analizzare tutti i dati che transitano dal vostro computer.

Se, invece, un attore malevolo si introducesse in un datacenter che ospita un vpn, non avrebbe bisogno di installare alcun dispositivo per poter raccogliere i vostri dati. Anzi, non avrebbe nemmeno bisogno di introdursi nel datacenter, visto che, tramite intrusione informatica, gli basterebbe dirottare tutto il vostro traffico e analizzarlo comodamente con qualche semplice comando.

Pensate che il datacenter della vostra VPN sia blindato e sicuro?
Forse si! Ma siete pronti a scommettere che l'attore malevolo non possa essere direttamente il gestore o il SysAdmin del datacenter? 1

Io non do alcun tipo di consiglio su nessuna VPN
Questa non vuole essere una guida a scopo commerciale, e, viste le considerazioni di Palinuro e Tutlecute, lungi da me incentivarne l'utilizzo.
Voglio, però, rendervi noto che potreste crearne anche una vostra.
Richiede un po' di scaltrezza in quanto deve essere tutto hostato su vps pseudonime, ma se volete provarci vi lascio questa guida di 🔗 Turtlecute - 🔗turtlecute.org/VPN.
Una vostra VPN, dovendo reinstradare i vostri pacchetti dati, non la potete hostare in casa vostra su un Raspberry-Pi, altrimenti l'IP in uscita sarebbe proprio quello a vostro nome.
Per lo stesso motivo, la VPS deve essere cercata senza KYC e pagata in BTC in modo che non possa essere ricondotta voi.
ATTENZIONE !! Anche il collegamento dati che farete per noleggiare questa VPS, deve essere Anonimo e questa guida si ripropone appunto di farvi capire di quali strumenti avete bisogno per queste evenienze.

TOR ≠ Proxy

Spesso si tende a parlare di TOR definendolo con il termine Proxy.
Ora facciamo un po' di chiarezza su Proxy SOCKS5 e Proxy HTTP(S).

Di seguito utilizzerò la parola Proxy come proxy Proxy HTTP.

I proxy nacquero con internet, prima dell'introduzione del protocollo SSL, prima della crittografia, prima di tutto.
Forse i proxy nacquero prima dei proxy stessi.
A quei tempi, parlare di anonimato era quasi eresia. Ci si collegava ad internet con un modem analogico, legato ad un numero di telefono e pertanto ad una bolletta telefonica.
La velocità di internet era a dir poco penosa ed i proxy ci vennero incontro su questo.
I proxy sono contenitori di dati, ogni dato che veniva scaricato da un utente, veniva memorizzato all'interno di questo contenitore, così, se un secondo utente richiedeva lo stesso dato, il proxy lo aveva già disponibile, pertanto poteva fornirglielo molto più velocemente.
Visto che il nostro browser puntava al proxy, era poi il proxy a collegarsi (se necessario) al sito di destinazione, questo generava anche una sorta di "anonimato", ma che anonimato non era.

Provo a spiegarmi meglio.

Abbiamo visto in precedenza, che utilizzando una VPN, il sito di destinazione non vede il nostro IP mentre la VPN lo conosce; utilizzando un proxy, invece, otteniamo la stessa cosa lato server (ovvero il server non vedrà il nostro IP), ma il proxy, oltre a vedere il nostro IP, vedrà anche il pacchetto a cui abbiamo avuto accesso.
Questo perché, per avere un bacino di dati per permettere di "accelerare" la navigazione a chi ne fa uso, il proxy cercherà di inviare tutte richieste in chiaro traducendo eventuali richieste HTTPS (ove possibile) in richieste HTTP.
Un proxy, infatti, non può archiviare dati richiesti con la crittografia SSL, per questo cerca, ove possibile, di inviare tutte richieste in chiaro per poter archiviare i contenuti.

Questi contenuti in chiaro, vengono archiviati su dei server.
Nessuno vieta ad un gestore di un proxy, di associare ogni contenuto salvato all'IP del (dei) richiedente (i).
Il gestore del proxy ha accesso a tutti i contenuti memorizzati nel suo server e potrebbe condividerli con eventuali entità esterne che ne faranno richiesta.

Per questo motivo, con gli strumenti che abbiamo a disposizione al giorno d'oggi, un proxy è il peggiore metodo di anonimizzazione che possiamo scegliere.

I proxy SOCKS, invece, lavorano a livello inferiore inoltrando i flussi di dati senza tentare di interpretarli.
Possiamo quindi affermare che un proxy SOCKS non altera i dati trasmessi e non aggiunge intestazioni o altro.

Vi suggerisco, pertanto, non di parlare di PROXY riferendovi a TOR

TOR + VPN

Vediamo ora se e come possiamo mischiare queste due tecnologie, ma soprattutto a cosa potrebbe servirci.

TOR + VPN oppure VPN + TOR ?

Come abbiamo visto in precedenza, se ci colleghiamo a TOR, la nostra ISP lo saprà. Collegarci ad una VPN prima di utilizzare l'Onion Routing, ci permetterebbe di nascondere alla nostra ISP che stiamo utilizzando TOR.
Un'altro vantaggio di utilizzare una VPN prima di connetterci alla rete TOR, ci permette di nascondere il nostro indirizzo IP ad nodo Tor compromesso.

Viceversa, se ci colleghiamo a TOR e dopo l'exit realy puntiamo ad una VPN, il sito finale vedrà l'indirizzo ip della VPN e non saprà che stiamo utilizzando TOR. Questo ci permetterebbe di visitare anche tutti quei siti che bloccano tutto ciò che proviene dalla rete TOR (ad esempio 🔗www.polito.it/).
Per poter utilizzare questa tipologia di collegamento, dovete verificare che la vostra VPN supporti il traffico TOR (purtroppo non tutte lo accettano).

Ricordiamoci, però che con ogni passaggio in più che faranno i nostri dati, la velocità di connessione diminuirà.

Visto quanto detto sopra, potrebbe sembrare che la migliore soluzione per la nostra privacy possa essere VPN + TOR, ma questo non ci permetterebbe di visitare tutti i siti.
Potrebbe essere quindi VPN + TOR + VPN la soluzione migliore?
Forse sì, ma sicuramente sarebbe assai lenta nonché onerosa dovendo pagare due VPN differenti, questo perchè le due VPN fossero la medesima, perderemmo la privacy che ci garantiva TOR.

Quindi, ammesso di poter pagare due VPN distinte, il best case per privacy e fruibilità della rete potrebbe essere VPN + TOR per la navigazione normale a cui aggiungere una ulteriore VPN in uscita, solo per quei siti che non accettano l'instradamento da un exit node.

Siti .onion (DarkWeb, ma non solo)

I siti .onion sono raggiungibili unicamente utilizzando l'Onion Routing, ma funzionano in maniera differente da quello che abbiamo visto prima.
Molti pensano che i siti onion siano unicamente quelli del DarkWeb, ma sono in errore.
Un nodo personale BTC, se ben configurato, sarà raggiungibile solo tramite un indirizzo onion e nessuno di noi considera un full node come DarkWeb, vero ?

Mettiamo che Alice voglia collegarsi alla mia istanza MemPool e, trattandosi di un indirizzo onion, risulta visitabile solo tramite protocollo TOR.
Ipotizziamo quindi che Alice apra il suo TOR Browser e digiti il mio indirizzo onion, vediamo cosa farà il suo pacchetto dati:

Onion Service

Il pacchetto lascerà il device di Alice dopo di che transiterà attraverso un guard relay e poi attraverso due middle realys. Questi primi tre nodi sono selezionati da Alice, il server, invece, selezionerà altrettanti nodi, pertanto il pacchettino di Alice transiterà in 3 ulteriori Relays e per la precisione, prima in due middle relay e poi un guard relay finale.
Questa modalità viene definita The high-level design of onion services. In questa modalità i dati non escono mai dalla rete TOR.
I dati transitano tramite 6 relays e nessuno di questi è un exit node.

Nodo TOR personale

Prima vi ho lasciato un link con una guida per creare una vostra VPN, ora farò lo stesso per creare un relay TOR, ma se prima vi ho invitato caldamente ad affrontare quella sfida, per il nodo TOR, mi sento di sconsigliarvelo, quantomeno vi sconsiglio di farlo con un vostro IP.
Essendo gli indirizzi dei nodi TOR pubblici, spessissimo (quasi sempre) gli IP che hostano realy TOR vengono bannati. Rischiereste quindi, che dall'IP a cui è collegato il nodo TOR, non riusciate più a collegarvi a tantissimi siti, oltre a rischiare che l'ISP vi disattivi il collegamento o che le forze dell'ordine vi bussino a casa.
Rimane sempre possibile noleggiare una VPS in maniera anonima e hostare su di essa una istanza TOR.
Prima di lasciarvi alla guida, vi informo che tirando su una istanza di un relay TOR, automaticamente verrete inseriti come middle relay a meno che non dichiariate espressamente di voler creare un exit node.
Questa tipologia di nodi, però, è sicuramente la più pericolosa perché è quella direttamente esposta in rete.

Ed ecco la guida, sempre redatta dall'infaticabile 🔗 Turtlecute - 🔗 turtlecute.org/TOR.



Disclaimer: questa guida è stata redatta solamente per fornire una blanda panoramica di come funzionano queste tecnologie; per utilizzarle al meglio è necessario uno studio approfondito della materia.

Come sempre invito chiunque voglia commentare a farlo liberamente, accetto volentieri C&C che possano arricchire e/o correggere questo scritto.
Ho buttato tutto giù di getto, pertanto segnalatemi anche qualsiasi tipo di errore.

Per parlare con me di questa guida, unitevi al gruppo Telegram 🔗ABC del Bitcoin.
QR

Footnotes

  1. nella discussione su Telegram, Lorenzo, fa notare che i grossi Datacenter sono generalmente gestiti tramite hardware Cisco o Huawei, due grandi aziende rispettivamente Americana e Cinese.
    Conoscendo le abitudini di questi stati, non ci sarebbe da stupirsi che abbiano delle backdoor "statali" che un eventuale agenzia governativa a 3 lettere possa sfruttare.

About

Brief analysis of the use cases of these two technologies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors