Onion tor

La rete Tor sta resistendo al più grande attacco DDoS dalla sua nascita. Qualcuno sta inviando sulla rete trilioni di pacchetti dati creati apposta per rallentarla, probabilmente nel tentativo di identificare o negare l’accesso a più Tor hidden services. Tor è uno degli ultimi posti rimasti che consentono comunicazioni veramente anonime. Grazie a Tor, molti siti che proteggono la libertà di parola continuano ad esistere. Non serve ripetere nuovamente quanto sia importante preservare la propria privacy come Bitcoiner e semplicemente come individui, ma una cosa è sicura: Tor costituisce il fondamento su cui poggiano le nostre libertà più importanti.

Gli amministratori di diversi importanti Tor hidden services hanno recentemente confermato che la portata di questi recenti attacchi DDoS è diversa da qualsiasi cosa mai vista prima. Il che li ha spinti a eseguire centinaia di processi Tor nel tentativo di distribuire il traffico su più server possibili utilizzando strumenti popolari come Onionbalance e Endgame. Queste soluzioni sono però contrarie alle raccomandazioni del progetto Tor e costituiscono una grande minaccia per la privacy degli utenti, a seconda della prudenza di ciascun amministratore durante la configurazione dei propri Tor hidden services.

Uno dei maggiori problemi che uno deve affrontare su una rete anonima come Tor è quella di gestire gli attori malintenzionati senza introdurre autorizzazioni o identità nella rete. Questi attori di solito cercano di attaccare la rete in due modi: o tramite un attacco “Sybil”, in cui l’attore malintenzionato fa girare molti relay Tor per tentare di de-anonimizzare o interrompere il traffico di rete, o attraverso un “Denial- of-Service” (DoS) che cerca di interrompere o arrestare completamente i servizi Onion sulla rete.

Mentre la rete Tor ha lavorato incessantemente per gestire e prevenire entrambi gli attacchi, gli attacchi DoS sono sempre stati un problema persistente, causando di recente interruzioni e tempi di inattività del servizio Onion dal 9 giugno, un attacco che è ancora in corso al momento della pubblicazione di questo articolo .

Ma combinando gli strumenti esistenti Tor per la gestione degli attacchi DoS con un algoritmo Proof-of-Work (PoW) come quello sfruttato da Bitcoin si potrebbe aprire una strada unica per mitigare gli attacchi DoS senza compromettere la privacy o ostacolare gravemente l’esperienza dell’utente.

Cos’è veramente la Proof of Work?

Sebbene la PoW sia diventata più noto grazie a Bitcoin che la sfrutta per la sicurezza del network, il sistema è stato inventato come misura anti-spam da Adam Back nel 1997 per quello che sarebbe diventato HashCash. HashCash è nato come metodo che utilizza la PoW per limitare o prevenire le e-mail di spam, facendo in modo che ogni e-mail richiedesse un lavoro di una certa difficoltà prima di poter essere inoltrata da un server di posta o da un re-mailer.

In altri termini, la PoW nasce come meccanismo di prevenzione DoS in quanto consente a un client (l’utente nel caso di Tor) di eseguire un lavoro dimostrabilmente difficile e di inviarlo in modo tale che il server possa confermare che questo non abbia imbrogliato. Questo processo utilizza la crittografia per garantire che il client esegua effettivamente il lavoro che dice di aver fatto, rendendo immensamente più difficile generare il PoW (il lavoro che i client devono fare) e per il server (cioè l’Onion service) convalidare il lavoro.

Questa asimmetria nel lavoro richiesto consente a PoW di essere un forte meccanismo per la prevenzione del DoS, in quanto un attore malintenzionato deve eseguire drasticamente più lavoro rispetto al servizio che sta tentando di attaccare, limitando la sua capacità di negare il servizio e amplificando i costi e la complessità di un DoS attacco.

Come può Tor può utilizzare PoW per mitigare questi attacchi DoS?

Di recente, una proposta iniziata nell’aprile 2020 per introdurre Proof-of-Work per mitigare gli attacchi DoS e avvantaggiare gli utenti legittimi è passata dalla teoria alla pratica e sta registrando progressi costanti con molti contributori su Gitlab . Questa proposta combina le idee originali di George Kadianakis del 2020 e un nuovo schema PoW progettato da tevador (Chief Architect e sviluppatore dell’algoritmo PoW di Monero, RandomX) chiaMato Equi-X, il quale andrebbe a limitare drasticamente la quantità di risorse che possono essere consumate da un utente malintenzionato di un servizio Onion.

Questa proposta ora sfrutta Equi-X quando un servizio Onion sta subendo un attacco DoS per costringere gli utenti a svolgere un lavoro molto duro per accedere alla risorsa data, impedendo a qualsiasi utente di creare un circuito rendezvous (una delle procedure più costose nella rete ) a meno che non abbiano svolto la giusta quantità di lavoro. Mentre l’utente medio vedrebbe solo un leggero ritardo nella visita di un sito, un utente malintenzionato dovrebbe spendere enormi quantità di risorse per poter sopraffare il servizio Onion.

Un altro aspetto importante di questa proposta è che gli utenti legittimi possono “superare” un utente malintenzionato per l’accesso a un determinato servizio o risorsa Onion eseguendo un lavoro più difficile, consentendo loro di “saltare la fila” della congestione della rete e garantire l’accesso a un servizio anche mentre viene attivamente attaccato. Questo processo di offerta aumenterebbe anche continuamente il costo di un attacco a un determinato servizio, disincentivando ulteriormente gli attacchi DoS gli utenti più legittimi desiderano accedere a un servizio e aumentando il costo degli attacchi a servizi popolari o importanti nella rete.

Come funziona in pratica il processo PoW?

Ogni volta che un servizio Onion subisce un attacco DoS (o quando viene attivato manualmente dall’amministratore del servizio), il daemon Tor inizierà a richiedere PoW dai client prima di creare circuiti rendezvous. Il processo di utilizzo di PoW per mitigare gli attacchi DoS avverrà in questo modo:

  1. Il servizio Onion rileva un attacco DoS e attiva PoW (oppure un amministratore può abilitare manualmente PoW per un servizio Onion)
  2. Il daemon Tor regola automaticamente la difficoltà di lavoro richiesta in base all’ambito dell’attacco e lo fornisce ai client di connessione
  3. Il cliente esegue un lavoro comprovabilmente difficile almeno quanto specificato dal servizio Onion e lo fornisce l’handshake con il servizio
  4. Il servizio Onion convalida la prova del lavoro, assicura che non sia mai stata utilizzata prima e quindi continua il normale funzionamento se tutte le verifiche vengono superate

Come sarà l’esperienza dell’utente con la PoW su Tor?

Sebbene ciò possa certamente avere un impatto sull’esperienza dell’utente, è importante che non influisca affatto sulla reattività o sulla velocità dei servizi Onion quando tali servizi non sono sottoposti ad attacchi. Con un carico normale, i servizi Onion non richiedono affatto PoW, garantendo la stessa esperienza utente a cui siamo tutti abituati all’interno della rete Tor.

In caso di attacco a un servizio Onion, tuttavia, il daemon Tor abilita automaticamente PoW e inizia a costringere gli utenti a svolgere un lavoro molto duro prima di poter accedere al servizio. Durante gli attacchi minori questa potrebbe essere una quantità di lavoro molto ridotta, ma durante gravi attacchi DoS ciò potrebbe richiedere molto più calcolo. I requisiti di temporizzazione esatti dipenderanno dalle scelte effettuate nell’ottimizzazione dell’approccio PoW adottato e dall’hardware in uso, poiché laptop o desktop più potenti saranno in grado di eseguire i calcoli proporzionalmente più velocemente.

Il più grande miglioramento complessivo è che anche in caso di attacchi DoS attivi, i servizi Onion disporranno di un potente strumento per garantire che gli utenti legittimi possano accedere al servizio, anche se questo dovesse richiedere un lavoro più duro da parte del computer dell’utente prima che possa accedere a un servizio. La capacità di garantire tempi di attività e resilienza molto più elevati per i servizi Onion con un impatto minimo sull’esperienza utente rappresenterà un grande balzo in avanti per l’utilità della rete Tor in generale e semplificherà notevolmente le difficoltà di esecuzione di un servizio Onion in un ambiente ostile.

La proposta iniziale include il browser Tor che notifica agli utenti il ​​motivo per cui il caricamento di un servizio è inizialmente più lento quando è richiesto PoW, consentendo agli utenti di regolare la difficoltà di PoW che sono disposti ad utilizzare per raggiungere un determinato servizio: più apprezzi il servizio Onion che stai cercando di raggiungere, più a lungo sarai disposto ad aspettare per calcolare il PoW e superare qualsiasi aggressore durante un attacco DoS.

Questo concetto esiste da parecchi anni e ci sono delle ottime informazioni sulla storia di questa idea, la proposta in sè e gli attuali sforzi in corso per implementare PoW in Tor: