sei nella clearnet. gli indirizzi elencati qui si aprono solo all'interno della rete tor - scarica il browser tor qui »
AlphaBay.Market
IT
ultimo controllo: 1 min fa 260 onion monitorati
home / notizie / rete tor
29 ottobre 2026 rete tor 5 min di lettura

La difesa proof-of-work di Tor: rendere costosi i DDoS contro gli onion service

Un onion service sotto flood non può fare ciò che fa un sito normale: non ci sono indirizzi IP da limitare, perché né i visitatori né gli attacker ne rivelano uno. La risposta di Tor, consegnata con il Tor 0.4.8 e annunciata sul blog del progetto nell'agosto 2023, è mettere un prezzo in tempo di CPU alla fase di introduzione. Il design discende dalla proposal 327, redatta nell'aprile 2020 da George Kadianakis, Mike Perry, David Goulet e tevador, che metteva il problema a nudo: costruire circuiti di rendezvous costa caro al servizio e alla rete, e il solo rate limiting non ha mai cambiato questo.

Un puzzle che compare solo sotto carico

Lo schema è trasparente nel senso del protocollo: non c'è un round-trip di sfida extra. I parametri del puzzle vivono dentro il descrittore dell'onion service che i client scaricano comunque - un tag di versione, un seed di 32 byte, un livello di sforzo suggerito e una scadenza. Finché lo sforzo suggerito resta a zero, la difesa dorme e le introduzioni procedono esattamente come prima. Quando il servizio rileva sovraccarico, alza lo sforzo suggerito. I client risolvono allora Equi-X, la funzione di puzzle specificata nella proposal, su una sfida costruita da una stringa di personalizzazione, l'ID cieco del servizio, il seed, un nonce casuale di 16 byte e lo sforzo scelto. La soluzione, di circa 43 byte, viaggia dentro la cella INTRODUCE1 come estensione. Secondo il blog di Tor, una prima risoluzione costa circa 5 millisecondi su una macchina veloce e fino a 30 su hardware più lento; sotto attacco sostenuto il lavoro richiesto può salire verso un minuto di calcolo.

La coda paga a sforzo

Verificare una soluzione è volutamente economico; la parte costosa - costruire il circuito di rendezvous - è rimandata. Le richieste verificate entrano in una coda di priorità ordinata per sforzo dichiarato, le voci più vecchie vincono i pareggi, e uno scheduler la svuota a ritmo controllato. La difficoltà segue un ciclo add-increase e multiply-decrease su finestre di 300 secondi: finché la coda resta satura, il servizio porta lo sforzo al valore precedente più uno oppure allo sforzo medio delle introduzioni gestite, la cifra maggiore; quando la pressione cala, lo sforzo si riduce di circa un terzo. I client riprovano con sforzo crescente - raddoppio sotto 1.000, poi moltiplicazione per 1,5 - tra i limiti che la specifica fissa a 8 e 10.000. I seed ruotano circa ogni due ore, e il seed precedente resta accetto per un po' per evitare race condition.

Perché gli utenti comuni se ne accorgono poco

Siccome il puzzle esiste solo finché il servizio è sotto stress, il traffico ordinario a basso carico non paga nulla. Una persona che apre qualche pagina durante un attacco spende millisecondi, un'esperienza che il blog paragona a aspettare su una connessione lenta, mentre un attacker che spara milioni di introduzioni paga per ognuna. La sintesi del Tor Project:
"Blocks attackers while giving real users a chance to reach their destination" - blog del Tor Project, agosto 2023

Come i servizi aderiscono

Gli operatori comandano la difesa via torrc. Gli interruttori documentati nella guida DoS per onion service del progetto:
  • HiddenServicePoWDefensesEnabled - pubblica il puzzle nel descrittore e accende la coda ordinata per sforzo
  • HiddenServicePoWQueueRate e HiddenServicePoWQueueBurst - a che velocità le richieste verificate lasciano la coda
  • CompiledProofOfWorkHash - opzione globale che sceglie la funzione hash usata per i puzzle
Il modulo proof-of-work è compilato e attivo di default dal C tor 0.4.8.1-alpha in poi, salvo che la build abbia usato --disable-module-pow; si verifica con tor --list-modules, e serve una build GPL (--enable-gpl) perché le librerie Equi-X e HashX sono sotto licenza LGPL-3.0. La difesa si impila con gli strati più vecchi: rate limiting sui punti di introduzione, limiti di stream sui rendezvous e scaling orizzontale con Onionbalance.

Il problema degli attacker con risorse

La proposal è candida: lo schema dissuade script kiddie e piccoli botnet, non quelli grandi. Con circa mille macchine che risolvono un puzzle al secondo ciascuna, un attacker surclassa qualsiasi client desktop; floodare diventa una questione di budget più che di tecnica, e la proposal esclude esplicitamente dal perimetro i botnet di decine di migliaia di macchine. Sono documentate anche strategie ibride: poiché una richiesta valida ad alto sforzo costa circa 0,3 millisecondi da risolvere mentre una non valida costa circa 5,5 millisecondi da verificare, un attacker che mescoli circa 91 introduzioni valide e 1.520 false al secondo riesce a saturare il main loop di un servizio. Le soluzioni possono persino essere precalcolate lungo la vita di circa quattro ore di un seed. La valutazione indipendente è arrivata dopo. Un gruppo del KAIST alla USENIX Security 2025 ha presentato una famiglia di attacchi chiamata OnionFlation, che spinge un servizio a gonfiare la difficoltà del puzzle per tutti senza produrre congestione visibile - a un costo che gli autori stimano in qualche dollaro l'ora. La loro conclusione: il design attuale scambia resistenza all'inflazione con resistenza alla congestione e non può offrire entrambe in pieno; i risultati sono stati riportati al Tor Project e da esso riconosciuti. L'adozione non è più ipotesi: l'articolo nota che grandi onion service hanno adottato il meccanismo, che resta parte delle versioni attuali di tor. Il proof-of-work non chiude la negazione di servizio su Tor; riprezza un passaggio stretto di essa, così che i flood economici smettano di essere economici. Se regge contro un avversario ben finanziato è una questione di risorse, non di protocollo. Per l'arco più lungo - le guerre DDoS tra marketplace che hanno spinto queste difese a esistere - vedere la nostra storia del DDoS su Tor.
28 ott 2026 rete tor leggi ›

Meek e domain fronting: il bridge Tor che si nasconde dentro una CDN

Il bridge meek fa passare di contrabbando il traffico Tor dentro richieste HTTPS verso un grande CDN: un dominio nell'handshake TLS, un altro nell'header Host. Google e Amazon hanno chiuso il fronting nel 2018; meek-azure sopravvive sul CDN di Microsoft, più lento e costoso delle alternative, ma raggiungibile quando poco altro lo è.