In un recente rapporto, Gli esperti di sicurezza informatica di Unciphered hanno esposto un nuovo exploit chiamato Randstorm, che rappresenta una minaccia per i portafogli Bitcoin creati tra 2011 e 2015. Questo exploit consente il potenziale recupero delle password, portando all’accesso non autorizzato a un numero considerevole di portafogli su varie piattaforme blockchain.
Uno sguardo all'exploit Randstorm
Randstorm è descritto da Unciphered come un termine coniato per rappresentare una combinazione di bug, decisioni di progettazione, e l'API cambia la situazione, quando si interagisce, diminuire significativamente la qualità dei numeri casuali prodotti dai browser web durante l'era specificata (2011-2015). Si stima che la vulnerabilità abbia un impatto approssimativo 1.4 milioni di bitcoin conservati in portafogli generati con chiavi crittografiche potenzialmente deboli. Gli utenti interessati possono verificare la vulnerabilità dei propri portafogli su www.keybleed[.]con.
La genesi di questa vulnerabilità è stata riscoperta dalla società di recupero criptovalute a gennaio 2022 mentre assistevo un cliente senza nome bloccato fuori dal suo portafoglio Blockchain.com. Sebbene inizialmente segnalato dal ricercatore di sicurezza “ketamina” in 2018, la questione è riemersa, facendo luce sui rischi duraturi associati ai primi portafogli Bitcoin.
BitcoinJS al centro del problema
La vulnerabilità viene fatta risalire all'utilizzo di BitcoinJS, un pacchetto JavaScript open source utilizzato per sviluppare applicazioni di portafoglio di criptovaluta basate su browser. Randstorm sfrutta specificamente la dipendenza del pacchetto da SecureRandom() funzione nella libreria javascript JSBN, insieme a debolezze crittografiche nei browser web’ implementazione del metodo Math.random() funzione prevalente durante il 2011-2015 periodo. In particolare, I manutentori di BitcoinJS hanno interrotto l'uso di JSBN a marzo 2014.
La mancanza di entropia sufficiente derivante da queste vulnerabilità apre le porte al potenziale attacchi di forza bruta, consentendo ad attori malintenzionati di recuperare le chiavi private del portafoglio generate con la libreria BitcoinJS o i suoi progetti dipendenti. Portafogli creati prima di marzo 2012 sono particolarmente sensibili, evidenziando l’urgenza per gli utenti di valutare la sicurezza dei propri beni.
Questa scoperta sottolinea l’importanza fondamentale di esaminare attentamente le dipendenze open source che alimentano l’infrastruttura software. Vulnerabilità nelle biblioteche fondamentali, come dimostrato recentemente nel caso di Apache Log4j 2021, può avere conseguenze di vasta portata, comportando rischi significativi nella catena di approvvigionamento. Vale la pena notare che il difetto nei portafogli creati con questo software persiste a meno che i fondi non vengano trasferiti su un nuovo portafoglio creato con il software aggiornato, sottolineando la necessità che gli utenti rimangano vigili e adottino misure proattive per proteggere le proprie risorse digitali.