Environ 594 bitcoin, d'une valeur d'environ 38 millions de dollars, ont été transférés depuis environ 500 wallets distincts entre 01:31 et 01:56 UTC vendredi dans une attaque attribuée à une faille dans la génération des clés des wallets matériels Coldcard.
Le vol a transféré 1 324 morceaux de bitcoin via 500 transactions dans une fenêtre de trois blocs, puis 562 BTC ont été regroupés dans une seule adresse qui n'a plus bougé.
Chaque portefeuille vidé était à signature unique et contenait plus de 0,15 BTC. Beaucoup étaient inactifs depuis des années, et les pièces couvraient la période de 2021 à 2026, correspondant presque exactement à l'âge de la faille.
Coldcard est un wallet matériel développé par l'entreprise canadienne Coinkite, un petit appareil autonome qui stocke les clés bitcoin hors ligne, loin des ordinateurs connectés à Internet. Mk2, Mk3, Mk4, Q et Mk5 sont des générations successives de ce produit, publiées sur plusieurs années comme un fabricant de téléphones lance des modèles numérotés.
L'exposition dépend du firmware que l'appareil exécutait au moment où le wallet a été créé pour la première fois, et non à la date d'achat du matériel.
Le seed d'un wallet, la phrase secrète qui contrôle les fonds, doit être tiré au hasard parmi un ensemble si vaste que deviner est impossible.
Le micrologiciel de Coldcard ne faisait pas cela. Selon un rapport publié par les équipes d'ingénierie et de sécurité Bitcoin de Block, un paramètre de compilation demandait à l'appareil de sauter son propre générateur de hasard matériel, et une vérification dans une bibliothèque de support testait uniquement si ce paramètre existait, et non s'il était activé.
La génération de clés est passée discrètement à un substitut logiciel de base alimenté par le numéro de série du puce et les registres d'horloge.
Aucun de ceux-ci n'est un secret. Le numéro de série est des métadonnées d'usine fixes, et les valeurs d'horloge sont un état de temporisation qu'un attaquant peut réduire ou mesurer sur un appareil de son choix. Block a tracé le changement jusqu'à un commit daté du 1er mars 2021, livré dans le firmware 4.0.0 ce mois-là.
Ainsi, Coinkite a averti les utilisateurs qui ont généré une seed sur un Mk3 exécutant la version 4.0.1 ou ultérieure, et a déclaré : « Les Mk4, Q et Mk5 ne sont pas affectés selon notre analyse préliminaire. »
Block a déclaré avoir partagé ses découvertes avec Coinkite, dont l'équipe les a reconnues. Les deux entreprises décrivent leurs analyses comme préliminaires, et Block a indiqué avoir publié ses résultats sans tests complets pour confirmer l'exploitabilité, car l'exploitation était déjà en cours.
L'exposition dépasse les semences de wallet. Le même générateur a produit les clés privées des portefeuilles papier Coldcard, où la sortie devient directement la clé sans aucune dérivation ultérieure, ainsi que les masques de séparation de semence, les clés de clonage d'appareil et les transferts Key Teleport.
Le Bitcoin a été négocié au-dessus de 64 000 $ au début des heures asiatiques, avec une sortie généralisée qui semble avoir eu peu d'impact sur le marché.

