Condividi questo articolo

I ricercatori scoprono un difetto nei portafogli Bitcoin che potrebbe essere sfruttato per la doppia spesa

Una nuova ricerca ha scoperto che un metodo standard per effettuare transazioni in Bitcoin potrebbe essere utilizzato in modo improprio, consentendo una sorta di doppia spesa.

Un modo standard per effettuare transazioni Bitcoinpotrebbe essere utilizzato in modo improprio per favorire una sorta di doppia spesa, come ha scoperto una nuova ricerca.

La storia continua sotto
Non perderti un'altra storia.Iscriviti alla Newsletter The Protocol oggi. Vedi Tutte le Newsletter

Gli investigatori della blockchain di ZenGo, una startup di portafogli, hanno scoperto una vulnerabilità che ha interessato almeno tre importanti portafogli Cripto concorrenti: Ledger Live, Edge e Breadwallet (BRD) e potenzialmente anche di più.

Il bug, che l'azienda con sede a Tel Aviv chiama BigSpender, consente a un hacker di spendere due volte i fondi di un utente e, possibilmente, impedirgli di utilizzare di nuovo il suo portafoglio. Funziona sfruttando il modo in cui alcuni portafogli gestisconoBitcoin Funzione RBF (Replace-By-Fee), un sistema di sicurezza che consente agli utenti di sostituire una transazione non confermata con ONE con una commissione più alta.

“[BigSpender] può portare a perdite finanziarie sostanziali e in alcuni casi rendere il portafoglio della vittima totalmente inutilizzabile, senza alcuna possibilità per la vittima di proteggersi”,ZenGoIl CEO Ouriel Ohayon ha detto in una e-mail: "Quindi questo può essere visto come unattacco di elevata gravità.”

Come altre funzionalità opzionali Bitcoin con vulnerabilità associate, cometransazioni con blocco temporale, la funzione RBF è diventata un modo standard per gli utenti di inviare valore avanti e FORTH. È stata lanciata e accettata dalla comunità degli sviluppatori come un modo per i Bitcoiner di aggirare i lenti tempi di conferma pagando più commissioni.

Vedi anche: Raphael Auer -Il trilemma della sicurezza e il futuro di Bitcoin

Fin dall'inizio, si temeva che la funzione RBF fossenon ben supportato dai portafogli Bitcoin , nonostante siano integrati nel livello di protocollo del sistema Bitcoin , ha affermato il ricercatore Bitcoin pseudonimo 0xB10C. "ZenGo dimostra che un utente può essere ingannato nel pensare di ricevere Bitcoin quando non è così. Credo che questa sia una novità. Almeno non ne avevo mai sentito parlare prima", ha affermato.

L'azienda ha testato nove diversi wallet, tra cui Ledger Live, Trust wallet, Exodus, Edge, Bread, Coinbase, Blockstream Green, Blockchain e Atomic Wallet. Di quelli testati, tre sono risultati vulnerabili all'exploit teorico.

"Non abbiamo testato tutti i wallet, ma potrebbe essere che se tre dei più grandi sono implicati, ce ne siano anche altri", ha detto Ohayon. ZenGo ha avvisato le aziende delle sue scoperte e ha dato loro 90 giorni per riparare la vulnerabilità.

Ledger e BRD hanno rilasciato modifiche al codice per impedire che l'attacco si verificasse e hanno pagato premi per bug non divulgati a ZenGo, mentre Edge sta subendo un "importante refactoring" che risolverà il problema, ha affermato il CEO di Edge Paul Puey in un'e-mail.

L'hacking sfrutta una vulnerabilità nota nel modo in cui alcuni portafogli trattano le transazioni non confermate, comprese ma non limitate a quelle RBF, ha affermato Peter Todd, un ex sviluppatore Bitcoin eL'architetto di RBF.

Come funziona: gli aggressori inviano fondi alla vittima designata e stabiliscono commissioni sufficientemente basse da garantire quasi che la transazione non riceva una conferma. Per i wallet vulnerabili, questa transazione in sospeso si rifletterà come un aumento del saldo del conto del destinatario, portando forse alcune vittime a credere erroneamente che la transazione in sospeso sia già stata confermata. L'aggressore quindi "annulla" la transazione in sospeso, nella terminologia di ZenGo, utilizzando RBF per modificare il destinatario in un indirizzo che controlla. Quando la vittima si rende conto che la transazione è stata effettivamente annullata, avrà consegnato la merce.

Per essere chiari: attacchi simili erano possibili prima di RBF, ma in assenza di adeguate precauzioni da parte dei fornitori di wallet, l'opzione di pagamento ha evidenziato il rischio.

Questa discrepanza tra il saldo dichiarato e quello effettivo di una vittima potrebbe essere sfruttata da attori malintenzionati che ingannano le persone inducendole a fornire beni o servizi senza pagarli, fatta eccezione per la minima quantità di commissioni spese. In questo senso, il difetto è nella progettazione UX e UI di un portafoglio.

Doppio problema?

Se un hacker riesce a ingannare una persona facendole credere di aver ricevuto un pagamento, mantenendo allo stesso tempo il controllo del Bitcoin, si tratta di undoppia spesa, secondo i ricercatori di ZenGo. Altri contestano questo uso del termine.

"Devi decidere qual è la definizione di doppia spesa. La maggior parte delle persone che T sono troll direbbero che una doppia spesa è quando hai una transazione confermata che in qualche modo viene invalidata e spesa con una transazione confermata diversa", Jameson Lopp, CTO della startup di custodia Casa.

Questo attacco, per sua natura, sfrutta il modo in cui i wallet mostrano le transazioni non confermate. In questo senso, l'attacco, sebbene fraudolento, T sta rompendo il modo in cui funziona il codice Bitcoin .

"L'intero scopo della blockchain è prevenire il problema della doppia spesa", ha detto Lopp. "Risale al Satoshi originalecarta bianca, che afferma che la soluzione alla doppia spesa è quella di avere un registro distribuito che molte persone controllano."

L'unica cosa su cui puoi contare sono le transazioni che sono state estratte

Una regola generale quando si effettuano transazioni con Bitcoin è di non fidarsi mai di una transazione con meno di sei conferme, ha affermato 0xB10C. Questo è stato un punto ripetuto da diversi sviluppatori, tra cui Todd, Lopp e il CTO di BRD Samuel Sutch. Se questo exploit va a buon fine, almeno una parte della responsabilità ricade sulla vittima.

"L'unica cosa su cui puoi fare affidamento sono le transazioni che sono state estratte", ha affermato Todd.

In questo senso, Sutch ha definito BigSpender un "bug minore" e "un po' forzato", ma anche qualcosa che vale la pena sistemare e per cui pagare una ricompensa per il bug. BRD ha recentemente superato i 5 milioni di utenti, ha detto Sutch.

"Un numero maggiore di sviluppatori di wallet deve sapere che i propri utenti T conoscono le distinzioni nascoste", ha affermato Lopp. Molti T conoscono nemmeno la differenza tra confermato e non confermato dal punto di vista della sicurezza. Quindi l'onere di creare una migliore esperienza utente è sugli sviluppatori, in modo che non possano essere confusi e truffati da cose come questa".

A tal fine, Ledger ha aggiornato il modo in cui il portafoglio visualizza le transazioni in sospeso. Se gli utenti non sono sicuri di "controllare lo stato di una transazione" utilizzando un block explorer. "Tale verifica non è possibile con la tua banca oggi", ha affermato Charles Guillemet, CTO di Ledger, via e-mail.

Visione doppia

Aggiornare i wallet per mostrare chiaramente cosa sta succedendo durante una transazione RBF è una cosa buona e giusta per tutti i soggetti coinvolti. Tuttavia, i ricercatori di ZenGo hanno scoperto che esiste un attacco di secondo ordine, che segue lo stesso schema delineato sopra, e potrebbe disabilitare in modo permanente un wallet con o senza la conoscenza della transazione da parte della vittima.

In questo caso, l'attaccante gonfia di nuovo artificialmente il saldo di una vittima inviando transazioni ripetute al suo portafoglio. Ciò può essere fatto senza il consenso della vittima. Reinstradando le transazioni prima che vengano confermate, il saldo del portafoglio dichiarato dalla vittima e i fondi effettivi vengono nuovamente disaccoppiati, rendendo il portafoglio inutilizzabile. Peggio ancora, l'attacco può colpire più portafogli contemporaneamente.

Vedi anche:Il bug DeFi Dapp che si è diffuso da tempo non è ancora stato risolto dal settore (aggiornato)

In sostanza, è unnegazione del servizio(DoS) attacco che impedisce alle persone di utilizzare i propri portafogli.

"Questo disabilita anche altri tipi di tentativi di invio se l'algoritmo di selezione delle monete del portafoglio sceglie fondi da questa transazione inesistente", ha detto Ohayon. Questi portafogli sono "bricked", per usare il gergo di Sutch. "È un enorme inconveniente".

Sutch ha detto che BRD ha reso la vulnerabilità una priorità assoluta per l'azienda dopo essere stata avvisata. Stranamente, è riuscita a risolvere il bug mentre lavorava a un problema non correlato, ha detto.

Il problema che ZenGo solleva con la sua ricerca sulla sicurezza non è sequestrato ai portafogli testati dal team.la stragrande maggioranza dei portafogli Bitcoin sono in grado di ricevere transazioni RBF e molte delle aziende che li gestiscono sono "limitate nelle risorse", ha affermato Sutch, e non sono in grado di fornire una soluzione immediatamente.

Quando ha abilitato la funzionalità RBF su Casa, Lopp ha detto di aver configurato il sistema in modo che non mostrasse questi tipi di transazioni fino alla conferma, il che non è standard nel settore. "I parametri predefiniti mostrerebbero queste transazioni", ha detto.

Aggiornamento (2 luglio, 20:15 UTC): Un passaggio che parafrasa Peter Todd è stato modificato per chiarire che si riferiva al problema di come alcuni portafogli Bitcoin mostrano le transazioni non confermate in senso lato, non solo le transazioni RBF. Anche altri passaggi sono stati rivisti per maggiore chiarezza.

Daniel Kuhn

Daniel Kuhn è stato vicedirettore editoriale di Consensus Magazine, dove ha contribuito a produrre pacchetti editoriali mensili e la sezione Opinioni . Ha anche scritto un resoconto quotidiano delle notizie e una rubrica bisettimanale per la newsletter The Node. È apparso per la prima volta in forma cartacea su Financial Planning, una rivista di settore. Prima del giornalismo, ha studiato filosofia durante gli studi universitari, letteratura inglese alla scuola di specializzazione e giornalismo economico e commerciale presso un programma professionale della NYU. Puoi contattarlo su Twitter e Telegram @danielgkuhn o trovarlo su Urbit come ~dorrys-lonreb.

Daniel Kuhn