Un attacco Eclipse è un tipo di attacco informatico che prende di mire le reti peer to peer (P2P) e mette in serio pericolo le nostre risorse conservate su reti blockchain come Bitcoin (BTC).
L’attacco Eclipse può essere effettuato solo su quei nodi della rete che sono in grado di ricevere connessioni in entrata da altri nodi. È in ogni caso da tenere presente che non tutti i nodi sono in grado di ricevere connessioni in entrata.
In una rete bitcoin (BTC) possono esserci al massimo 117 connessioni TCP in entrata e 8 connessioni TCP in uscita. Questi numeri sono determinati per impostazione predefinita. Questo rende anche la più importante rete decentralizzata al mondo passibile di questo tipo di attacco informatico. Vediamo quindi come funzionano gli attacchi Eclipse, come possono venire messi in atto e chi rischia di pagarne le conseguenze, qualora non si è protetto in modo adeguato da questa triste evenienza.
Per difenderti adeguatamente dagli attacchi normativi e dai disastri di mercato, se hai esposizioni in criptovalute e DeFi leggi subito il nostro approfondimento per navigare senza paura durante la tempesta:
Sta arrivando l’Apocalisse DeFi e non ho niente da mettermi
Table of Contents
Che cosa è un attacco Eclipse
Secondo la definizione data da Gemini, un importante exchange di criptovalute:
“In un attacco eclipse, l’aggressore cerca di isolare il bersaglio in un ambiente completamente separato dall’attività di rete effettiva, reindirizzando le connessioni in entrata e in uscita dell’utente bersaglio lontano dai nodi vicini legittimi e verso i nodi controllati dall’aggressore.
Ottenere il controllo sull’accesso alle informazioni da parte dei singoli nodi di una rete peer to peer (P2P) è un esempio di attacco Eclipse. L’attaccante si mette in condizione di assumere il controllo di tutte le connessioni in entrata e in uscita dell’obiettivo, trasformando i nodi in nodi attaccanti.
Come viene messo in atto un attacco Eclipse
Funzionamento dell’attacco Eclipse Gli attacchi Eclipse sono possibili perché i nodi all’interno della rete non sono in grado di comunicare con tutti gli altri nodi e possono connettersi solo con un certo numero di nodi nelle immediate vicinanze. A causa di questo vincolo, isolare un nodo dal resto della rete può sembrare un processo semplice per gli aggressori, ma in realtà non è così semplice. Vediamo rapidamente come funziona il processo che deve essere seguito immediatamente.
Come può un attaccante isolare un nodo?
Nella maggior parte dei casi, un attaccante dovrà ricorrere a una rete bot per portare a termine con successo il processo di isolamento completo di un nodo, e potrebbero essere necessari molti tentativi prima di raggiungere il successo. Una rete fantasma prodotta da nodi host può essere utilizzata per inondare il nodo bersaglio con un gran numero di indirizzi IP, con cui il nodo bersaglio può sincronizzarsi la volta successiva che si ricollega alla rete blockchain. Questo è uno dei metodi praticabili. Una volta raggiunto questo stadio, l’attaccante aspetterà che l’obiettivo si connetta a nodi maligni prima di continuare l’attacco.
Quali sono le ripercussioni di un attacco Eclipse
Una volta che un attacco Eclipse dovesse avere successo, le ripercussioni sono le seguenti:
Nel corso di un attacco Eclipse, l’avversario nasconde all’obiettivo lo stato reale e aggiornato del libro mastro della blockchain. Così facendo, l’avversario è in grado di compiere le seguenti azioni:
- Doppia spesa (Double Spending)
- Interruzione dell’alimentazione dei miner
Cosa si intende con Double Spending (Doppia spesa)
Quando uno stesso token digitale può essere utilizzato per effettuare diversi acquisti, un sistema di contanti digitali è detto vulnerabile al problema noto come doppia spesa. Ad esempio, supponiamo che abbiate donato 10 centesimi al commesso del negozio; dal momento che quei 10 centesimi non vi appartengono più, non potrete riutilizzare la stessa moneta da 10 centesimi.
Tuttavia, se spendete due volte, dovreste usare di nuovo la stessa moneta. Il che, come avrete capito, è qualcosa che non può essere fatto in modo lecito o regolare. Allo stesso modo, su una rete blockchain, se si acquista una casa con 10 bitcoin (che è una quantità significativa di criptovalute), quei 10 bitcoin saranno depositati in una mempool come transazione. Questa transazione sarà poi trasmessa sulla rete e i 10 bitcoin saranno sottratti dal vostro wallet.
Come si può fare una Double spending grazie all’attacco Eclipse
Si supponga di essere l’attaccante e che tutti i nodi dell’attaccante forniscano il 40% della potenza di hashing totale della rete, che il nodo bersaglio contribuisca al 30% della potenza di hashing totale e che la rete rimanente contribuisca al restante 30% della potenza di hashing totale.
Ora, si spendono 10 bitcoin sulla rete pubblica e si avvisano tutti gli altri nodi della rete, a eccezione del nodo target. Il commerciante riceve il pagamento e di conseguenza 10 bitcoin vengono prelevati dal vostro wallet. Il passo successivo consiste nell’informare il nodo target di una transazione fasulla che trasferirebbe 10 bitcoin dall’acquirente al vostro conto (in qualità di aggressore). Poiché la vostra potenza di hashing, combinata con quella dell’obiettivo, raggiunge il 70%, estrarrete i blocchi più velocemente, il che significa che la vostra blockchain sarà la più lunga.
Come già detto, la blcokchain sarà convalidata dalla rete e, di conseguenza, i 10 bitcoin saranno trasferiti dal conto del venditore al vostro conto e potrete utilizzarli di nuovo.
Se desideri una guida completa sul Margin Trading e l’importanza della comprensione profonda di leva finanziare ed esposizione sui mercati, non perdere il nostro approfondimento:
Cos’è il Margin Trading e come funziona nei mercati delle criptovalute
Cosa succede in caso di interruzione dell’alimentazione del miner
L’avversario può nascondere all’obiettivo il fatto che un blocco è stato estratto, inducendo la vittima a sprecare energia del computer per estrarre blocchi orfani. Ciò avviene nascondendo la consapevolezza che un blocco è stato estratto. Un blocco orfano è un blocco che è stato risolto all’interno della rete blockchain ma non è stato accettato dalla rete. Un blocco orfano può esistere solo se la rete blockchain non lo accetta.
In questo modo, l’avversario può aumentare il proprio tasso di hash relativo all’interno della rete e far pendere la bilancia del potere nella competizione per il mining dei blocchi a suo favore.
Un altro metodo consiste nel combinare la propria potenza di hashing con quella dell’obiettivo per estrarre blocchi più rapidamente. Questo è simile al concetto di doppia spesa, in cui si collabora con l’obiettivo per estrarre blocchi più rapidamente.
Censura delle transazioni:Un aggressore ha la possibilità di censurare le transazioni effettuate dall’obiettivo impedendo che vengano incluse nella blockchain. Ciò può comportare ritardi nelle transazioni o addirittura il fallimento delle stesse, entrambi fattori dannosi per l’utilizzo e la reputazione della rete.
Utilizzare un Sybil Attack come testa di ariete per preparare l’attacco Eclipse
Un aggressore che utilizza un attacco Eclipse può utilizzare un attacco Sybil per costruire identità e nodi fasulli al fine di controllare l’obiettivo.
L’attaccante può espandere la propria influenza nella rete e compromettere la capacità della vittima di verificare l’autenticità della rete se crea un numero significativo di nodi fasulli.
Il rischio di centralizzazione della blockchain in seguito a un attacco Eclipse
Un assalto Eclipse può potenzialmente portare a una centralizzazione della rete, nel qual caso un piccolo gruppo di nodi o una singola entità assumerà il controllo della rete.Questo può compromettere le caratteristiche di decentralizzazione e sicurezza della rete, che a sua volta può far perdere la fiducia degli utenti e delle parti interessate nella rete.
L’Eclipse Attack può causare instabilità della rete
Gli attacchi Eclipse possono causare instabilità nella rete, in quanto hanno il potenziale di sovraccaricare di traffico il nodo bersaglio o di disconnetterlo dal resto della rete.Per questo motivo, è possibile che la comunicazione tra i nodi si interrompa, rendendo più difficile il mantenimento del consenso e la convalida delle transazioni.
Le vittime di un assalto Eclipse rischiano di subire perdite finanziarie a causa della potenziale capacità dell’attaccante di compiere atti fraudolenti come doppie spese e transazioni fraudolente, oltre ad altri comportamenti potenzialmente dannosi.Questo potrebbe portare gli utenti a perdere fiducia nella rete, con conseguente diminuzione del valore della rete nel suo complesso.
Come ci si può proteggere da un attacco Eclipse
Protezione contro un attacco di tipo Eclipse:
- Miglioramento delle connessioni tra i nodi
Se ogni nodo della rete è collegato a un numero significativo di altri nodi, sarà difficile per l’attaccante isolare il bersaglio nella rete, il che ridurrà la probabilità che si verifichi un attacco Eclipse. La rete dovrebbe essere strutturata in modo tale che quando un nodo entra in sintonia con la rete, si collega a un insieme di altri nodi scelti a caso.
- Comunicazione sicura e criptata
Per criptare i dati inviati da un nodo all’altro della rete, i nodi della rete devono utilizzare protocolli di comunicazione sicuri come SSL/TLS. In questo modo si impedisce l’intercettazione della trasmissione e l’acquisizione di informazioni che possono essere utilizzate per lanciare un attacco Eclipse. - Aggiornamenti regolari
Il software in esecuzione su ogni nodo deve essere aggiornato frequentemente per garantire che non contenga vulnerabilità note che un aggressore potrebbe sfruttare. - Diversità di implementazione
La rete dovrebbe incoraggiare l’impiego di una varietà di implementazioni diverse del software in esecuzione su ogni singolo nodo.In questo modo, è più difficile per gli aggressori sfruttare una vulnerabilità condivisa da tutti i nodi della rete. - Utilizzo dei firewall
I firewall possono essere utilizzati per filtrare il traffico diretto e proveniente da ogni singolo nodo della rete. Questo aiuta a prevenire l’invio di traffico dannoso al nodo bersaglio da parte degli aggressori e a garantire che il nodo bersaglio non invii traffico dannoso ad altri nodi della rete. - Monitoraggio
È importante monitorare la rete per identificare qualsiasi strano schema di attività o traffico.Questo può aiutare a identificare un attacco Eclipse e a mitigarne gli effetti prima che l’assalto provochi danni gravi alla rete. - Ridondanza
Quando si progetta la rete, è necessario tenere sempre presente la ridondanza. Ciò significa che dovrebbero esserci più nodi che forniscono lo stesso servizio, in modo che anche se un nodo viene violato, la rete continui a funzionare normalmente. - Peer Review (Revisione da parte dei pari)
È importante che il codice sorgente del software in esecuzione su ciascun nodo sia esaminato dai suoi pari per garantire che non includa vulnerabilità che potrebbero essere utilizzate dagli aggressori. - Educazione e informazione
È importante che gli utenti della rete siano istruiti su come riconoscere ed evitare di essere attaccati da Eclipse.Il phishing e altre forme di ingegneria sociale possono essere difficili da realizzare per gli aggressori, ma questa misura può aiutare a evitare che ci riescano.
*NB: Le riflessioni e le analisi condivise sono da intendere ad esclusivo scopo divulgativo. Quanto esposto non vuole quindi essere un consiglio finanziario o di investimento e non va interpretato come tale. Ricorda sempre che le scelte riguardo i propri capitali di rischio devono essere frutto di ricerche e analisi personali. L’invito è pertanto quello di fare sempre le proprie ricerche in autonomia.