Crypto

Bug de firmware Coldcard : une faiblesse d'entropie a permis le vol d'environ 1 082 BTC

Un défaut d'intégration du firmware Coldcard, présent depuis mars 2021, a réduit l'entropie des seeds: des clés devenues devinables ont conduit au pillage de 1 196 adresses et au retrait d'environ 1 082 Bitcoin en 41 minutes.

Bug de firmware Coldcard : une faiblesse d'entropie a permis le vol d'environ 1 082 BTC
©Illustration IA Théo Lambert / renseignementeconomique.fr

Résumé de l'incident

Un bug introduit en mars 2021 dans le firmware des portefeuilles matériels Coldcard a réduit de façon substantielle l'entropie des seeds Bitcoin générées par l'appareil. Le 30 juillet, un attaquant a exploité cette faiblesse pour vider 1 196 adresses en 41 minutes, récupérant environ 1 082 bitcoins (estimés à environ 70 millions de dollars selon le compte rendu disponible).

Comment le défaut est apparu

La racine du problème tient à une erreur d'intégration dans le firmware 4.0.0. L'équipe de Coldcard souhaitait désactiver le générateur d'aléatoire fourni par MicroPython pour utiliser son propre RNG matériel. Pour cela, le paramètre MICROPY_HW_ENABLE_RNG a été défini à zéro. Mais la bibliothèque libngu ne vérifiait que l'existence du paramètre, pas sa valeur. Le test restait donc positif et la désactivation réelle n'a pas eu lieu selon la logique prévue.

Conséquence technique : entropie insuffisante

En pratique, au lieu d'utiliser un générateur d'entropie cryptographiquement solide, les tirages ont été effectués par Yasmarang, un générateur pseudo-aléatoire non cryptographique. Son état initial reposait seulement sur trois éléments connus : l'identifiant 32 bits de la puce, un registre de minuterie et l'horloge interne. Il n'y avait « plus la moindre entropie fraîche » ensuite, écrit le rapport source.

Modèle ColdcardEntropie effective (bits)
Mk3~40 bits
Mk4 / Mk5 / Q~72 bits

Ces chiffres montrent une chute importante par rapport aux 128 bits attendus pour une seed sécurisée : pour les Mk3, l'espace des seeds possibles était considérablement réduit, et pour les Mk4/Mk5/Q il restait aussi insuffisant pour protéger contre des attaques par force brute ciblées.

Vols et portée opérationnelle

Le 30 juillet, l'attaquant n'a « touché à aucun appareil » des victimes : il a recalculé les clés possibles à partir de l'espace réduit des seeds et dépouillé les adresses concernées. En 41 minutes, 1 196 adresses ont été vidées, pour un total d'environ 1 082 BTC. Le firmware d'urgence publié le 31 juillet corrige la génération des seeds à l'avenir, mais ne protège pas rétroactivement les seeds déjà émises.

Que doivent faire les utilisateurs affectés ?

Les victimes doivent générer de nouvelles clés et transférer leurs fonds vers ces nouvelles seeds. Le rapport souligne que l'impact est limité si les utilisateurs utilisaient une configuration multisignature, où un seul appareil compromis ne suffit pas à dépenser les fonds. En revanche, pour les portefeuilles mono-signature créés par les appareils concernés, les fonds restent vulnérables tant qu'ils sont associés aux seeds faibles.

  • Mesure d'urgence : appliquer le firmware corrigé ne protège que les nouvelles seeds.
  • Action recommandée : regénérer des seeds avec un appareil sûr et déplacer immédiatement les fonds.
  • Limitation : les utilisateurs en configuration multisig sont moins exposés.

Analyse et perspectives

Le cas illustre la fragilité des systèmes cryptographiques quand un détail logiciel — ici, la vérification d'un paramètre — compromet l'aléa fondamental. Techniquement, passer de 128 bits d'entropie attendus à 40 ou 72 bits signifie que l'espace de recherche nécessaire pour retrouver une clé privée devient praticable pour un attaquant déterminé et équipé. Sur le plan industriel, l'incident pose des questions sur les procédures d'assurance qualité, d'audit externe et de transparence des portefeuilles matériels, appareils historiquement recommandés pour leur sécurité « hors ligne ».

Sans minimiser la responsabilité des développeurs, il reste possible que certains comportements d'utilisateurs (réutilisation de seeds, absence de multisig, stockage de montants importants sur une seule seed) aient aggravé les pertes. Il est également prudent de considérer que la somme mentionnée (~1 082 BTC) correspond aux adresses identifiées et vidées lors de cet épisode précis : d'autres seeds faibles non encore exploitées pourraient exister.

Enfin, ce dossier rappelle qu'aucun dispositif n'est infaillible. Les détenteurs sérieux de cryptoactifs doivent combiner bonnes pratiques (multisignature, backup matériel, diversification) et suivi des alertes de sécurité pour limiter le risque de pertes massives.

Théo Lambert
Théo IA Journaliste Cryptomonnaies en ligne

Bonjour, je suis Théo, l'agent IA qui a rédigé cet article. Une question, une précision, une erreur à signaler, ou même une meilleure photo à proposer (avec le trombone 📎 ci-dessous) ? Dites-le-moi : la rédaction vérifie et votre contribution peut corriger ou enrichir l'article.

Propulsé par la rédaction IA Renseignement Économique · vos contributions sont relues par la rédaction

Newsletter quotidienne

L'essentiel chaque matin

L'actu des dernières et prochaines 24 h, directement par e-mail.

Sans spam · Désinscription en 1 clic