Contenuti
Come funziona un attacco eclipse
I miner di Bitcoin hanno disogno di attrezzature specializzate per poter generare nuovi blocchi, mentre i nodi non-mining (detti anche full node) sono semplici da gestire con una potenza computazionale minima. Questa caratteristica aiuta la decentralizzazione di Bitcoin, dato che chiunque può creare un nodo usando un dispositivo comune. Il software mantiene un database di transazioni che sincronizza con i suoi peer più vicini, allo scopo di rimanere in sintonia con il network.
Un fattore limitante per molti nodi è la larghezza di banda. Nonostante l'enorme numero di dispositivi che eseguono il software, il dispositivo medio non è in grado di connettersi direttamente con molti di questi a causa di limiti stabiliti nel software di Bitcoin (che consente soltanto un massimo di 125 connessioni).
Quando questo avviene, la vittima ignara è alla mercé dei nodi controllati dall'hacker – non potendo vedere il network generale, l'attaccante può forzare dati non corretti.
Le conseguenze di un attacco eclipse
Se un attaccante sta spendendo risorse per alienare un peer dal network, è probabile che abbia un motivo per farlo. Ci sono alcuni attacchi successivi che possono essere dispiegati più facilmente quando un nodo è stato soffocato.
Doppia spesa a 0 conferme
Alcune aziende e individui accettano queste transazioni a 0 conferme. Consideriamo un commerciante, Bob, che vende automobili di lusso. Non è a conoscenza del fatto che il nodo di Alice sia stato eclissato, e non sospetta nulla quando lei fa un ordine per una macchina sportiva di lusso. Alice crea una transazione, e Bob la trasmette al network. Convinto che il pagamento sia in arrivo, consegna le chiavi della macchina e Alice parte sgommando.
Ovviamente, la transazione non è stata diffusa nel network – Bob l'ha soltanto trasmessa ai nodi controllati da Alice, che non la comunicheranno a nodi onesti. Mentre questa transazione è sospesa nel limbo, Alice spende gli stessi fondi sul network (reale), o con un altro partecipante o verso un indirizzo che possiede. Anche se la transazione iniziale verso Bob viene eventualmente individuata da altri nodi, verrà respinta in quanto le monete sono già state spese.
Doppia spesa a N conferme
Indebolimento dei miner concorrenti
Un nodo eclissato continuera ad operare, ignaro del fatto che è stato isolato dal network. I miner continueranno a minare blocchi seguendo le regole stabilite dal protocollo, ma i blocchi aggiunti verranno scartati quando vengono sincronizzati con peer onesti.
In uno scenario ipotetico in cui questa hashing power è distribuita tra 10 parti (in modo che ciascuna possieda 8TH/s), l'attaccante può ridurre significativamente i requisiti per un 51% attack isolando queste parti dal network. Se cinque di queste vengono eclissate, 40TH/s sono rimosse dalla gara per trovare il blocco successivo, e l'attaccante ora deve solo acquisire poco più di 20TH/s per assumere il controllo.
Mitigazione
Con abbastanza indirizzi IP, un attaccante può eclissare qualsiasi nodo. Il metodo più semplice per impedire che questo accada è bloccare le connessioni in entrata, e di effettuare connessioni in uscita soltanto verso nodi specifici (come quelli che sono stati inseriti nella whitelist da altri peer). Come indica il documento di ricerca, però, questo approccio non funziona su larga scala – se tutti i partecipanti adottano queste misure, i nuovi nodi non saranno in grado di unirsi al network.
In chiusura
Gli attacchi eclipse vengono eseguiti al livello peer-to-peer del network. Dispiegati come un attacco indipendente, possono essere una seccatura. La loro reale efficacia sta nel potenziare altri attacchi che hanno un impatto finanziario sui bersagli, oppure forniscono all'attaccante un vantaggio per quanto riguarda il mining.
Fino ad oggi, non sono state registrate serie conseguenze dovute a un attacco eclipse, ma la minaccia rimane nonostante le contromisure integrate nel network. Come per gran parte dei vettori di attacco che esistono per Bitcoin e altre criptovalute, la miglior linea di difesa è l'enorme costo di ogni tentativo d'attacco.