Une erreur de firmware a désactivé la génération de nombres aléatoires sécurisés sur plusieurs générations de wallets matériels Coldcard, alimentant un vol en cours qui a déjà vidé 594,48 bitcoin (BTC), soit environ 38,3 millions de dollars.
L'équipe d'ingénierie Bitcoin de Coinkite, créatrice du Coldcard, et de Block a identifié le bug comme provenant d'une vérification défectueuse du générateur de nombres aléatoires (RNG). En conséquence, les attaquants peuvent reconstituer les clés privées d'un wallet en utilisant des détails prévisibles de l'appareil au lieu d'une véritable aléatoire.
Vol de bitcoin Coldcard : Comment cela s'est produit
Le micrologiciel de Coldcard désactive le générateur de randomisation intégré au processeur. À la place, un système de sauvegarde construit les clés du wallet à partir du numéro de série de l'appareil et de son horloge interne. Les deux suivent des schémas qu'un attaquant peut deviner, transformant une graine censée être aléatoire en un puzzle résolvable.
Les appareils fonctionnant avec certains micrologiciels publiés depuis 2021 obtiennent presque aucune vraie aléatoire. Les modèles plus récents ajoutent une correction partielle. Cela réduit néanmoins les résultats possibles à environ quatre milliards de combinaisons, un nombre que les ordinateurs modernes peuvent épuiser. Historiquement, Block a identifié cette faille comme provenant de cette mise à jour de 2021, et une correction ultérieure un an plus tard n'a toujours pas résolu le problème.
Par conséquent, la même faiblesse touche les portefeuilles papier, les sauvegardes de phrases secrètes et d'autres fonctionnalités partageant la même source aléatoire. Le rapport de Block a confirmé l'étendue plus large. La configuration ressemble à l'exploit Ill Bloom, qui a vidé des portefeuilles via des phrases secrètes faibles plus tôt cette année.
Ce que les utilisateurs doivent faire maintenant
Les attaquants n'ont pas besoin d'un accès physique pour voler des fonds. Une adresse visible ou une clé publique exportée leur fournit une cible pour tester des hypothèses. Dès qu'une hypothèse correspond, l'attaquant détient la clé privée et peut déplacer les pièces immédiatement.
Coinkite recommande à chaque utilisateur concerné de générer une nouvelle graine sur du matériel mis à jour et de déplacer ses fonds immédiatement. Les mises à jour du firmware ne peuvent pas annuler les dommages, car la graine faible reste toujours sur l'appareil.
Dans le même temps, les utilisateurs qui ont ajouté une phrase de passe supplémentaire à leur seed présentent un risque considérablement réduit lié à cette faille. C’est une approche que ZachXBT a récemment endossée pour les wallets mobiles également.
La génération faible de clés a déjà vidé les portefeuilles cryptos par le passé. De même, une exposition de clé maîtresse a touché l'agence fiscale de Corée du Sud plus tôt cette année. Une fuite de clé privée a fait chuter de 88 % le token de Humanity Protocol en juin.
Les vendeurs continuent d'étendre les portefeuilles matériels hors ligne aux magasins de détail. Pourtant, cet incident montre que des bogues de firmware peuvent compromettre cette promesse depuis l'intérieur de l'appareil.
Coinkite et Block affirment qu'ils évaluent encore l'étendue de la faille sur les anciens firmwares. Jusqu'à la fin de cette évaluation, les propriétaires de Coldcard doivent supposer que tout seed généré avant la correction d'aujourd'hui pourrait déjà être compromis.

