Sommario

  • Come funziona un attacco di eclissi

  • Le conseguenze di un attacco di eclissi

    • "Spesa doppia" senza conferma

    • "Spesa doppia" che richiede N volte di conferma

    • Ridurre la concorrenza tra i minatori

  • Rallenta l'impatto dell'attacco dell'eclissi solare

  • Riassumere


Un attacco Eclipse è un attacco di base relativamente semplice attraverso il quale un utente malintenzionato può interferire con i nodi di una rete. Come suggerisce il nome, questo attacco può impedire al nodo attaccato della rete peer-to-peer di ottenere informazioni efficaci, provocando così l'interruzione della rete o preparandosi ad attacchi più complessi.

In superficie, l'Attacco Eclipse è simile all'Attacco Sybil. Sebbene condividano alcune somiglianze (un utente malintenzionato distrugge la rete attaccando i nodi), i loro obiettivi finali di attacco sono diversi. Gli attacchi Eclipse prendono di mira un singolo nodo (per i motivi spiegati di seguito), mentre gli attacchi Sybil prendono di mira l'intera rete e mirano a manomettere la reputazione dei protocolli di rete.

Il concetto è discusso a lungo nel documento del 2015 "Eclipse Attacks on the Bitcoin Peer-to-Peer Network", in cui i ricercatori della Boston University e della Hebrew University hanno riportato i loro esperimenti sui risultati degli attacchi Eclipse e le misure preventive per combatterli.


Come funziona un attacco di eclissi

I minatori di Bitcoin necessitano di attrezzature specializzate per generare e verificare nuovi blocchi, ma i nodi non minerari (o completi) richiedono pochissima potenza di calcolo per funzionare. In questo modo chiunque può gestire un nodo con attrezzature economiche, il che contribuisce anche alla decentralizzazione di Bitcoin. Il programma software mantiene un database delle transazioni sincronizzato con i peer per rimanere sincronizzato con la rete.

Il fattore limitante per la connessione di un numero elevato di nodi è la larghezza di banda. Pertanto, sebbene esista un gran numero di dispositivi che possono eseguire il programma, esiste un limite al numero di connessioni impostate nella rete Bitcoin (un massimo di 125 connessioni) e i normali dispositivi non possono interconnettersi direttamente con altri dispositivi.

In un attacco Eclipse, l'attaccante si assicura che tutte le connessioni al bersaglio vengano effettuate sui nodi controllati dall'attaccante. L'aggressore invierà innanzitutto un flusso dal proprio indirizzo IP all'indirizzo di destinazione e la vittima potrebbe connettersi all'indirizzo IP dell'aggressore al riavvio del programma. Puoi forzare un riavvio (ovvero eseguire un attacco DDoS sul bersaglio) o semplicemente attendere che il programma si riavvii automaticamente.​

Se ciò accade, le vittime ignare si ritrovano alla mercé dei nodi dannosi e l’aggressore fornisce loro dati falsi che non possono ottenere dalla rete reale.


Le conseguenze di un attacco di eclissi solare

Gli aggressori sono incentivati ​​a effettuare tali attacchi se riescono a staccare un nodo dalla rete consumandone le risorse. Se un nodo è isolato, un utente malintenzionato può effettuare più attacchi consecutivi.


"Spesa doppia" senza conferma

Se un nodo indipendente accetta una transazione non confermata, si verifica il rischio di "doppia spesa". Se la transazione avvenuta potrebbe essere stata trasmessa prima di entrare nel blocco (inviarla alla blockchain), il mittente può facilmente effettuare una nuova transazione altrove e spendere lo stesso importo della transazione precedente. Se la commissione di transazione appena generata è più alta, i minatori daranno priorità alla transazione e la considereranno la prima transazione, rendendo la prima transazione non valida.​

Alcuni commercianti e privati ​​accettano queste 0 transazioni di conferma. Consideriamo Bob, un uomo d'affari che vende auto di fascia alta. Non sapeva che Alice aveva lanciato un attacco di eclissi sul suo nodo e non aveva alcun sospetto dopo aver visto il suo ordine per un'auto sportiva di lusso. Alice crea la transazione e Bob la trasmette alla rete. Dopo aver visto che il messaggio di pagamento stava per essere confermato, si è sentito molto soddisfatto e ha consegnato le chiavi della macchina ad Alice, che si è allontanata a tutta velocità.

In effetti, la transazione non è stata trasmessa alla rete. Bob ha passato la transazione solo al nodo dannoso di Alice e il nodo dannoso controllato da Alice non ha passato la transazione al nodo reale. Pertanto, la transazione sarà considerata non valida. In questo momento Alice pagherà lo stesso importo sulla rete (reale), a se stessa o a qualcun altro. Anche se la transazione iniziale con Bob viene finalmente vista sulla rete reale, la transazione non può essere verificata perché i fondi sul conto di Alice sono esauriti.


"Spesa doppia" che richiede N volte di conferma

La "doppia spesa" che richiede N conferme è simile alla "doppia spesa" che non richiede conferma, ma comporta un maggiore lavoro di preparazione. Molti commercianti preferiscono attendere un certo numero di conferme prima che un pagamento venga contrassegnato come valido. Per risolvere il problema, un utente malintenzionato dovrebbe sottoporre sia i nodi minatori che quelli mercantili a un attacco eclissi. Se un utente malintenzionato stabilisce un ordine con un commerciante, trasmette la transazione ai minatori. I commercianti possono vedere le transazioni confermate nella rete blockchain, ma poiché le reti in cui si trovano minatori e commercianti sono isolate, la blockchain non è testimoniata dalla maggior parte dei nodi reali.

L’aggressore ha inviato al commerciante le false informazioni sulla rete blockchain e, dopo che il commerciante ha visto che la transazione era stata confermata, ha consegnato la merce. Quando questi nodi che hanno subito un attacco di eclissi si ricongiungono alla rete reale, la vera rete blockchain considererà questi nodi non validi e li isolerà (questo è simile a un attacco del 51%).


Ridurre la concorrenza tra i minatori

I nodi colpiti da un attacco Eclipse continueranno a funzionare e non saranno interessati dall'isolamento dalla rete. I miner continueranno a verificare i blocchi entro le regole specificate dal protocollo, ma i blocchi aggiunti verranno scartati nel processo di passaggio attraverso i nodi della rete reale.

In teoria, un massiccio attacco Eclipse su un’ampia porzione di miner potrebbe essere utilizzato per facilitare un attacco del 51%. Allo stato attuale, il costo anche per l’aggressore più intraprendente per impossessarsi della maggior parte della potenza di calcolo di Bitcoin (circa 80TH/s) è troppo alto e l’aggressore dovrebbe almeno tentare con più di 40TH/s.​

Supponendo che questa potenza di calcolo sia distribuita tra 10 partecipanti (ogni partecipante ha circa 8TH/s), un utente malintenzionato può ridurre notevolmente i requisiti di un attacco del 51% isolando questi partecipanti dalla rete. Se 5 dei nodi subiscono un attacco eclissi, l'attaccante può ridurre la potenza di calcolo di 40TH/s per trovare il blocco successivo, e l'attaccante ora deve solo aumentare la potenza di calcolo di 20TH/s per raggiungere l'obiettivo di attaccare il nodo . controllo.

Altre attività distruttive che possono essere realizzate eseguendo un attacco Eclipse su un bersaglio includono la manipolazione dei nodi per condurre attività minerarie illegali o lo sfruttamento della competizione sulla potenza di calcolo tra i minatori per ottenere il blocco successivo.


Rallenta l'impatto degli attacchi di eclissi solare

Con un numero sufficiente di indirizzi IP, un utente malintenzionato può eseguire un attacco Eclipse su qualsiasi nodo. Il modo più diretto per evitare che ciò accada è bloccare l'accesso non autorizzato da parte dei nodi e stabilire solo connessioni in uscita verso nodi specifici (come gli IP che sono stati inseriti nella whitelist di altri nodi nella rete peer-to-peer). Tuttavia, come sottolinea il documento di ricerca, questa non è una soluzione che può essere implementata su larga scala e se tutti i partecipanti adottano queste misure, nuovi nodi non potranno unirsi alla rete.

L'autore ha proposto alcune modifiche al programma Bitcoin e alcune di esse sono state integrate nel programma Bitcoin dopo la pubblicazione del white paper. Apportando piccole modifiche al codice, come la selezione casuale di nuove connessioni e il potenziamento della memorizzazione degli indirizzi, queste misure rendono gli attacchi Eclipse sempre più costosi.


Riassumere

Gli attacchi Eclipse vengono condotti su una rete peer-to-peer. Essendo un attacco autonomo, possono essere fastidiosi. Il vero scopo di condurre un attacco Eclipse è in realtà implementare altri attacchi che possano avere un impatto maggiore o fornire all’aggressore un vantaggio nel mining.

In generale, gli attacchi Eclipse non hanno ancora avuto un impatto serio e, nonostante le misure di sicurezza implementate nelle reti blockchain, la minaccia esiste ancora. Attacchi Eclipse, come la maggior parte degli attacchi affrontati da Bitcoin e dalla maggior parte delle altre criptovalute, la migliore difesa è renderli non redditizi per gli aggressori malintenzionati.