1
0
mirror of https://github.com/fazo96/tesina.git synced 2025-01-10 11:34:20 +01:00
tesina/tor.md
2015-05-05 11:21:03 +02:00

5.4 KiB

Tor

Tor Logo

Tor is free software and an open network that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security.

From https://www.torproject.org/

Tor è un protocollo e la sua implementazione open source in grado di collegare gli utenti tra loro in una rete virtuale allo scopo di rendere anonimo il loro traffico.

Come funziona

Step 1 Step 1 Step 1

Struttura

La rete di Tor usa una topologia a maglia: ogni utente connesso consiste in un nodo anche detto relay. Un nodo può anche fungere da nodo di uscita (exit node, exit relay), ovvero prende i pacchetti originati da altri nodi e li spedisce al reale destinatario fuori dalla rete Tor (ad esempio un sito web).

A partire dal momento dell'uscita di un pacchetto dalla rete Tor, esso non è più protetto dalla sicurezza della rete ma appare come originato dal nodo di uscita quindi l'identità del nodo mittente è sconosciuta.

Qualsiasi operazione di backtracking ovvero di analisi del percorso del pacchetto è inutile poichè il pacchetto si trovava incapsulato in pacchetti Tor e ogni nodo conosce solo l'indirizzo IP dei nodi a cui è direttamente collegato e del nodo di uscita.

La crittografia di Tor

Quando un nodo decide di spedire un pacchetto fuori dalla rete, calcola la strada necessaria per raggiungere un nodo di uscita, poi prende le chiavi pubbliche di tutti i nodi sulla strada in ordine e crea un layer (strato) di crittografia per ogni nodo sulla strada verso l'uscita, effettivamente incapsulando il pacchetto in numerosi strati. Da qui deriva il nome "Tor", che originariamente significava "The Onion Router" (l'instradatore a cipolla).

A ogni hop nella rete, ogni nodo rimuove il proprio strato di crittografia. In questo modo si è certi che il pacchetto originale possa essere letto solo dal nodo di uscita e che il percorso del pacchetto sia per forza quello stabilito in origine dal mittente.

Servizi Nascosti

In pratica

Il software Tor presenta una interfaccia a riga di comando (command line) che permette di specificare varie opzioni, anche se la maggior parte di esse vanno specificate nel file di configurazione denominato torrc.

Tor permette l'instradamento del traffico nella propria rete offrendo all'utente un proxy SOCKS: istruendo le applicazioni di dirigere i propri socket attraverso il proxy, il loro traffico passerà per la rete di Tor.

Vidalia

Tor Browser

Gestire il proprio servizio nascosto

Bloccare l'accesso a Tor

Un ente potrebbe voler bloccare l'accesso alla rete Tor all'interno della propria infrastruttura per ovvie ragioni di sicurezza. Il miglior metodo è bloccare completamente il traffico destinato agli indirizzi IP che corrispondo ai nodi Tor pubblici, bloccando effettivamente l'accesso poichè il software ha bisogno di connettersi ad almeno un nodo direttamente per avere l'accesso alla rete.

Un limite di questo tipo è però facilmente aggirabile tramite l'utilizzo di bridge node (bridge relay), ovvero dei nodi Tor non pubblici. Tor è software libero, di conseguenza chiunque può aprire un proprio (bridge) relay e accedere alla rete da luoghi che bloccano i nodi pubblici attraverso di esso.

Purtroppo non è possibile bloccare completamente l'accesso a Tor senza applicare enormi, irrealistiche restrizioni all'accesso a internet.

Punti deboli

Tor presenta una serie di punti deboli che vanno considerati da ogni utilizzatore del programma:

  • Gli exit node possono leggere tutto il traffico di tutti gli utenti tor che li usano agendo effettivamente da man in the middle per la natura stessa del protocollo
  • Tor viene convenzionalmente usato per mascherare l'origine del traffico HTTP, però un utente inesperto potrebbe abilitare vari plugin del browser che sono in grado di comunicare in rete liberamente (ad esempio Adobe Flash) e dunque finirebbero per contattare direttamente il destinatario senza passare per Tor rendendo potenzialmente vani i tentativi di preservare l'anonimato
  • Un sito web potrebbe includere tra i propri script delle subroutine in grado di ottenere informazioni sul sistema client compromettendo l'anonimato
  • Un utente potrebbe lasciare indizi sulla propria identità durante la normale navigazione sul web tramite Tor

Queste considerazione non comprendono la possibilità di attacchi mirati al controllo della rete Tor che rischierebbero di compromettere l'anonimato e la privacy di tutti gli utenti.

Inoltre, la rete di Tor è estremamente lenta perchè:

  • ogni nodo deve sottoporre ogni pacchetto a grande quantità di operazioni di crittografia
  • è impossibile stabilire il contenuto dei pacchetti e dunque è impossibile scartare quelli inutili o deleteri
  • i pacchetti sono incapsulati in numerosi strati crittografici, che aumentano di molto la dimensione dei dati da inviare
  • potrebbe essere necessario ricalcolare spesso il percorso di routing a causa dell'instabilità dei nodi

Per questi motivi è anche possibile saturare la rete con dati inutili allo scopo di deterrente per gli utenti di Tor.