
Coinkite, l'azienda dietro Coldcard, ha rilasciato un aggiornamento del firmware che non genererà un nuovo seed del wallet fino a quando il proprietario non fornisce casualità manualmente.
Ciò significa almeno 50 lanci di dadi, 128 lanci di monete o 65 pressioni di tasti temporizzate, tre settimane dopo che un difetto nel suo generatore di numeri casuali ha aperto i fondi dei clienti agli attaccanti.
Le due linee di dispositivi di Coldcard eseguono percorsi di firmware separati, quindi il rilascio porta due numeri, 5.6.1 per il Mk4 e Mk5, e 1.5.1Q per il Q, il modello più grande con tastiera e scansione QR.
Controllo di avvio mira al difetto
Coinkite ha dichiarato che l'input viene aggiunto sopra la casualità del dispositivo proveniente dal STM32 TRNG e da entrambi gli elementi sicuri.
Coldcard è stato progettato per estrarre l'entropia del seed solo dal suo generatore hardware, ma Coinkite ha rintracciato il guasto a un errore di build e link che ha lasciato l'impostazione destinata a disabilitare il percorso software senza effetto, inviando la chiamata al numero casuale al PRNG Yasmarang di MicroPython, che ha inserito il percorso del seed a marzo 2021.
I seed interessati portano circa 72 bit di entropia invece dei 128 bit attesi dopo che 594,5 BTC sono stati prelevati da 500 indirizzi il 30 luglio.
Il firmware 5.6.1 ora verifica all'avvio che la chiamata al numero casuale raggiunga il percorso hardware previsto, bloccando il dispositivo se fallisce. Coinkite ha sostituito Yasmarang con un SHA-256 Hash_DRBG, specificato nel NIST SP 800-90A, e lo semina all'avvio con un digest completo a 256 bit proveniente da entrambi gli elementi sicuri, che il firmware precedente ha troncato a 32 bit.
La pressione casuale dei tasti segue il design RNG a pulsante di Peter Todd, hashando il tempo di pressione della tastiera con risoluzione al ciclo della CPU. La prima pressione imposta un riferimento, e ciascuno dei 64 intervalli che seguono è accreditato di due bit di entropia.
I vecchi seed devono ancora essere migrati
“Installare questo aggiornamento non rende un seed vulnerabile esistente sicuro,” ha scritto Coinkite, indirizzando chiunque il cui seed possa essere stato generato su firmware interessati tra il 2021 e luglio 2026 a creare un sostituto e spostare il proprio Bitcoin (BTC). Mk2 e Mk3 rientrano al di fuori di questo rilascio, e la loro versione fissa minima rimane a 4.2.0.
Un host USB compromesso potrebbe riscrivere una transazione in attesa dopo che il proprietario l'ha approvata, quindi la firma copriva output diversi. Il dispositivo ora ricontrolla quei byte prima di firmare e si ferma con un avviso “Transazione modificata”.
La nuova pagina di Stato di Sicurezza di Coinkite elenca quattro revisioni indipendenti, tra cui un test su dispositivo reale che ha osservato otto letture hardware RNG per una richiesta di seed di 32 byte e una ricostruzione che corrisponde a ogni byte del firmware firmato.
L'azienda ha notato che i controlli “non sono un audit completo di ogni binario del firmware.” Come riportato da CryptoPotato, le perdite confermate hanno superato i 100 milioni di dollari, con Galaxy Research che conta 1.596 BTC da circa 7.300 indirizzi, e una quarta ondata sospetta che ha spazzato via quasi 449 BTC il 3 agosto.
Fonte: CryptoPotato





