Bitcoin e resistenza agli attacchi
La tecnologia blockchain, proprio per la sua natura, offre nuovi metodi per rendere sicuri ed immutabili i dati degli utenti che la utilizzano, rispetto ai sistemi tradizionali. Ogni nuovo blocco di dati è matematicamente legato e dipendente dal blocco che lo precede. Si viene così a creare una struttura univocamente riconosciuta dai partecipanti alla rete, che non può essere soggetta a modifiche non desiderate senza che queste possano esser rilevate e rese invalide. Reti come Bitcoin ed Ethereum sono decentralizzate nel modo in cui vengono gestite, ma sono in un certo senso centralizzate per quanto riguarda i dati che i blocchi contengono: un’unica catena di blocchi viene univocamente riconosciuta come valida e funge da riferimento per tutti i nodi partecipanti alla rete, che ne detengono una copia (completa o soltanto parziale).
Per questi motivi, la tecnologia blockchain è per natura resistente ad attacchi di tipo DDoS (Distributed Denial of Service) e ad attacchi di “tampering”. Per quanto riguarda Bitcoin, che utilizza il Proof Of Work come metodo di consenso delle transazioni, il principale rischio di compromissione resta legato all’attacco del 51%.
Attacco 51%
La sicurezza di Bitcoin è garantita dalla distribuzione del grosso lavoro computazionale (“mining”) messo a disposizione della rete da alcuni dei nodi partecipanti: i miners. Essi sono chiamati a competere tra loro per risolvere in un determinato arco temporale dei complessi algoritmi matematici, a seguito dei quali gli è permesso aggiungere nuovi blocchi di transazioni al registro distribuito della rete di Bitcoin, in cambio di ricompense economiche, andando a definire lo storico delle transazioni effettuate sulla blockchain. Questi miners vengono selezionati per aggiungere nuovi blocchi in modo proporzionale alla potenza di calcolo (hash power) che riescono a mettere a disposizione della rete.
Possiamo affermare che più è alto e uniformemente distribuito il numero di partecipanti a queste operazioni di mining, più sicura la rete di Bitcoin può essere considerata. Proprio questo aspetto rappresenta uno dei principali rischi descritti nel White Paper originale di Bitcoin [2]. Nel caso in cui un individuo, o un gruppo di individui, dovesse essere in grado di ottenere il 51% del totale dell’hash power facente parte della rete bitcoin, sarebbe in grado di compromettere la sicurezza garantita dalla rete.
Per spiegare questo attacco, bisogna partire da uno dei concetti chiave su cui si basa il funzionamento di Bitcoin, ossia che la catena più lunga di blocchi è considerata la catena di Bitcoin valida.
Qualora uno o un gruppo di miners riesca a detenere il controllo del 51% dell’hash power totale, potrebbe essere in grado di selezionare un blocco della catena già pubblicato e di estendere una nuova catena di blocchi “parallela” che cresca più velocemente di quanto non riescano a fare il resto dei miners attivi con la catena di blocchi originale, creando di fatto uno storico di blocchi e transazioni diverso da quello precedente.
Questo fenomeno, chiamato “chain reorganization”, permetterebbe ad un attaccante di:
- Eseguire operazioni di “double-spending”: l’attaccante potrebbe inviare delle coin verso un exchange con una transazione T ed utilizzarle per acquistare delle altre tipologie di criptovalute e, contemporaneamente, minare blocchi “in segreto” più velocemente di quanto fatto dal resto del network, NON includendo questa transazione T nella sua catena. Nello stesso tempo potrebbe eseguire una seconda operazione T2, stavolta inserita nella sua catena di blocchi, dello stesso importo di coin, verso un altro destinatario X. Una volta effettuata la transazione, l’attaccante può rendere pubblica la sua catena di blocchi che, avendo uno storico più lungo della precedente (minata dai restanti partecipanti), non includerà la transazione T precedentemente effettuata, rendendola di fatto invalida (mai eseguita);
- Annullare o modificare le conferme per delle transazioni precedentemente occorse durante il tempo in cui è rimasto in controllo del network;
- Prevenire la conferma di nuove transazioni;
- Prevenire che altri miners riescano a creare nuovi blocchi.
In ogni caso l’attaccante, pur controllando il 51% dell’hash power del network, non potrebbe:
- Annullare o modificare le transazioni di altri, se non con la loro cooperazione;
- Prevenire l’invio di nuove transazioni (anche se potrebbero rimanere non confermate);
- Cambiare il numero di coin generate all’interno del blocco e/o creare dal nulla nuove coin;
- Effettuare transazioni con coin che non gli appartengono.
Ma quanto può risultare complicato portare a termine un attacco di questo tipo?
Al momento della stesura di questo articolo, l’hash power totale della rete Bitcoin è di circa 40.000.000 TH/s.
Volendo simulare lo scenario in cui un attaccante voglia ottenere il 51% dell’hash power totale della rete, partendo da zero e con disponibilità illimitata da parte dei costruttori di hardware, egli dovrebbe affrontare i costi di seguito descritti. Al momento uno degli hardware ad hoc (ASIC) considerato tra i più performanti sul mercato è chiamato “AntMiner S9”.
Il suo costo di mercato è di circa 2400$, produce 14 TH/s con un consumo medio di circa 1375W. Dovendo raggiungere un target di circa 41.000.000 TH/s e stimando una media di 0,05$ per KWh, dovrebbe affrontare una spesa di circa 7 BLN di $ per l’acquisto dell’hardware (circa 2,8MLN di dispositivi ASIC), più circa 5 MLN di $ al giorno per il consumo di elettricità. Il tutto per un ricavo di 918 BTC al giorno che, al cambio attuale, si aggirerebbe intorno ai 3,7 MLN di $.
Tutto ciò supponendo che, a fronte dell’evidenza di un tentativo di attacco del genere, la rete non adotti delle contromisure, andando a “rinforzare” la capacità di calcolo “onesta” del network.
Questo causerebbe, di fatto, ad una “hash war” che porterebbe alla perdita di svariati milioni di dollari, come peraltro già successo, nonostante i numeri di partenza decisamente meno rilevanti, nella recente vicenda relativa al fork di Bitcoin Cash [2].
In ogni caso, si tratta di cifre decisamente importanti e proibitive per – quasi – chiunque.
Ovviamente, questo non rappresenta l’intera fotografia della situazione attuale. Nel seguente grafico è riportata la attuale distribuzione dell’hash power delle principali pool già esistenti.
Come si può notare, nessuna delle pool riportate supera il 20% del totale dell’hash power impiegato per la rete BTC. Questo sembrerebbe garantire un importante fattore di decentralizzazione del mining.
In realtà, un recente studio [3] pubblicato da Princeton University of Florida, ha evidenziato come la Cina sia potenzialmente in grado di centralizzare molto di questo hash power all’interno di una singola entità, e quindi diventare capace di poter controllare per lunghi periodi di tempo, e quindi potenzialmente di distruggere, la rete BTC.
Lo studio ha evidenziato, infatti, come circa l’80% delle operazioni di mining (NB: Si tratta di una cifra stimata e non ufficialmente confermabile) sia effettuato da un totale di sole 6 pool principali, ben 5 delle quali sono gestite, più o meno direttamente, da aziende sul territorio cinese.
Questo potrebbe potenzialmente consentire al Governo cinese di prendere il controllo della rete, effettuare attacchi, oppure applicare azioni di censura o di de-anonimizzazione delle informazioni presenti sulla blockchain di Bitcoin.
Ma non è tutto: lo studio sottolinea anche come, per qualche motivo, queste pool cinesi abbiano causato nel corso del tempo, e stanno continuando a farlo, una diminuzione dell’efficienza della rete Bitcoin. Questo perché, per come è strutturata la rete, essa permette la creazione di blocchi vuoti (ossia non contenenti transazioni prese dalla mempool, in attesa di essere verificate) concedendo comunque la ricompensa dovuta per l’attivitià di mining eseguita.
Si è calcolato che storicamente circa il 7% dei blocchi minati da pool cinesi siano rimasti vuoti. La media per le restanti pool si attesta intorno al 2-3%. I ricercatori dell’Università di Princeton avrebbero individuato, come causa di questa percentuale elevata, la presenza di un collo di bottiglia per quanto riguarda l’utilizzo di banda di rete, causato dal “Great Firewall” cinese.
Altri presunti problemi di sicurezza
Oltre a quanto descritto, si riporta di seguito un elenco (non esaustivo) dei possibili problemi di sicurezza o delle debolezze di Bitcoin e più in generale delle criptovalute, ai diversi livelli “logici”. Verranno trattate in seguito in dettaglio anche altre possibili vulnerabilità ed attacchi conosciuti sulle principali blockchain esistenti, soprattutto in riferimento ad Ethereum e all’utilizzo degli smart contract.
- Vulnerabilità e bug di sicurezza nel software;
- Tracciamento dell’history e de-anonimizzazione delle transazioni;
- Sybil Attack;
- Packet Sniffing;
- Attacchi DoS;
- Presenza di contenuti illegali all’interno dei blocchi;
- Furto da Wallet vulnerabili;
- Attacchi di tipo social engineering verso gli utenti (detentori delle chiavi private del proprio wallet);
- Attacchi e data breach verso Exchange ed aziende che offrono servizi di conversione di criptovalute.
Gli scenari di attacco al network di Bitcoin descritti in precedenza, al momento, possono sembrare abbastanza remoti. Di fatto, nei primi 10 anni di vita, Bitcoin ha resistito a qualunque tipo di attacco su scala globale e, man mano che si evolverà, la speranza è che anche il suo livello di sicurezza risulterà sempre maggiore e comunque adeguato. Discorso a parte va fatto per quanto riguarda la sicurezza offerta dal software (talvolta contenente bug clamorosi) utilizzato, e, soprattutto, particolare attenzione va posta ai rischi ai quali gli utenti utilizzatori delle criptovalute vengono esposti, dovendo nella maggior parte dei casi detenere in prima persona le proprie chiavi private di accesso ai wallet.
BIBLIOGRAFIA
[1] “Bitcoin: A Peer-to-Peer Electronic Cash System” Satoshi Nakamoto – https://bitcoin.org/bitcoin.pdf.
[2] “The Bitcoin Cash Hash War is Over. It Also Ended the BTC/BCH War.” coinjournal.net – https://coinjournal.net/the-bitcoin-cash-hash-war-is-over-it-also-ended-the-btc-bch-war/.
[3] “The Looming Threat of China: An Analysis of Chinese Influence on Bitcoin” – Ben Kaiser 1 , Mireya Jurado 2 , and Alex Ledger 1 Princeton University, Princeton – Florida International University, Miami – https://arxiv.org/pdf/1810.02466.pdf.
Articolo a cura di Luca Dinardo
Luca Dinardo, si occupa di tematiche di Cyber Security in contesti SOC e CERT da più di 10 anni, con specifico focus su Cyber Threat Intelligence, Malware & Threat Analysis, Incident Response e Cyber Deception.
Svolge attività di ricerca e sviluppo mirate all'analisi ed al contrasto di fenomeni legati al Cyber Crime.
Grande appassionato di tecnologia ed, in specifici ambiti, convinto sostenitore del mondo blockchain e criptovalute.