Les portefeuilles Coldcard affectés par une vulnérabilité des graines, des millions de bitcoin volés

iconBitcoin.com
Partager
AI summary iconRésumé
Des nouvelles sur une vulnérabilité ont émergé après qu’il ait été découvert que les portefeuilles matériels Coldcard avaient généré des seeds faibles, entraînant le vol d’environ 70 millions de dollars en bitcoin à partir de centaines d’adresses le 30 juillet. Coinkite a confirmé que le firmware Mk3 affecté n’utilisait que 40 bits d’entropie au lieu de 128. Ce défaut provenait d’une mise à jour logicielle de 2021 qui avait introduit un générateur de nombres aléatoires plus faible. Les utilisateurs sont invités à installer le firmware corrigé et à générer de nouveaux seeds. Les modèles plus récents comme le Mk4, le Q et le Mk5 ont également été touchés, mais avec une entropie légèrement plus forte. Le PDG de Coinkite, Rodolfo Novak, s’est excusé et a accepté la pleine responsabilité. Les actualités sur le bitcoin continuent de souligner les risques de sécurité dans l’écosystème crypto.

Un attaquant a exploité des seeds faibles générés par certains portefeuilles matériels Coldcard pour voler des bitcoin d'une valeur d'environ plusieurs dizaines de millions provenant de centaines d'adresses le 30 juillet.

Points clés

  • Les vols liés à Coldcard ont vidé des centaines de wallets de bitcoin le 30 juillet.
  • Coinkite affirme que les semences Mk3 avaient environ 40 bits d'entropie au lieu de 128.
  • Les utilisateurs de Coldcard doivent installer une mise à jour du micrologiciel corrigée et créer de nouvelles seed avant de déplacer leurs fonds.

Selon une analyse approfondie de Galaxy Research, le vol principal s'est déroulé en une vague étroitement coordonnée durant environ 25 minutes, tandis qu'une analyse plus large a ultérieurement relié environ 1 196 adresses et jusqu'à 1 083 bitcoin, évalués à près de 70 millions de dollars, à des activités s'étendant sur environ 41 minutes. Les chiffres finaux pourraient changer alors que les enquêteurs continuent de suivre les transactions sur la blockchain publique de bitcoin.

Un bug de 5 ans atteint les wallets bitcoin dans le monde entier

Les portefeuilles affectés appartenaient principalement à des détenteurs à long terme qui ont généré leurs seeds de récupération à l’aide de Coldcard fonctionnant avec un firmware vulnérable publié à partir de mars 2021. Coldcard est un portefeuille matériel air-gapped fabriqué par le constructeur canadien Coinkite et conçu pour isoler les clés bitcoin (BTC) des appareils connectés à Internet.

Beaucoup des adresses vidées étaient restées inactives pendant des années. L'attaquant a agi rapidement, payé des frais de transaction fixes élevés et n'a laissé aucun output de change, ce qui signifie que chaque adresse a été complètement vidée. Ce schéma suggère une opération automatisée utilisant une liste préparée de clés privées plutôt que des clients déplaçant indépendamment leurs fonds.

Le vol n’a pas été causé par du phishing, un malware sur l’ordinateur d’un utilisateur, un vol physique d’appareil ou une violation à distance classique. Au lieu de cela, une erreur de firmware a affaibli la randomisation utilisée lors de la création des seeds de wallet par certains appareils Coldcard. Ces seeds avaient l’air normales, mais provenaient d’un intervalle beaucoup plus restreint de combinaisons possibles que ce qui avait été promis aux utilisateurs.

Le générateur de nombres aléatoires de Coldcard a échoué en silence

Une graine de wallet bitcoin est un secret, généralement affiché sous forme de 12 ou 24 mots, à partir de laquelle le wallet génère ses adresses et ses clés privées. Une graine de 12 mots correctement générée contient 128 bits d'entropie, une mesure technique décrivant un nombre énorme de combinaisons possibles qui rend la devinette de la graine effectivement impossible.

Les appareils Coldcard étaient censés obtenir cette aléatoire à partir d’un générateur de nombres aléatoires matériels intégré au microcontrôleur de l’appareil. Le composant tire parti du bruit électrique physique qu’un observateur extérieur ne devrait pas pouvoir prédire.

Lors d'une migration de bibliothèque logicielle en 2021, Coinkite a révélé que deux fonctions de nombres aléatoires avec des interfaces identiques ont été confondues. L'une accédait au générateur matériel approprié de l'appareil. L'autre était une solution de repli logicielle faible destinée aux cartes sans matériel adapté.

Un paramètre de configuration a désactivé le chemin matériel MicroPython par défaut car Coinkite fournit son propre wrapper matériel. Le logiciel vérifiait uniquement si ce paramètre existait, pas s'il était activé. Étant donné que le paramètre était présent mais affecté à une valeur de zéro, la compilation s'est terminée avec succès, tandis que la génération de la graine a basculé silencieusement vers le générateur logiciel moins sécurisé.

Données et horaire d'usine remplacés par la vraie aléatoire

Ce mécanisme de secours reposait fortement sur des informations d'appareil prévisibles, notamment un identifiant de puce similaire à un numéro de série et des valeurs d'horloge interne associées au moment du démarrage. Un attaquant capable de réduire ces entrées devrait effectuer une recherche bien plus petite que l'intervalle de 128 bits attendu à partir d'une graine générée de manière sécurisée.

Coinkite a estimé que l'espace de recherche effectif pour les semences Mk3 vulnérables est d'environ 40 bits selon les hypothèses actuelles. C'est encore un grand nombre de possibilités, mais il peut être exploré avec du matériel informatique spécialisé, surtout lorsque un attaquant peut comparer les semences candidates contre les adresses bitcoin visibles sur la blockchain.

Capture d'écran du modèle Coldcard Mk3.
Capture du modèle Coldcard Mk3.

Les modèles plus récents de Coldcard, notamment le Mk4, le Q et le Mk5, ont ajouté une certaine randomisation provenant d'un élément sécurisé. Toutefois, seule une partie limitée a atteint le générateur concerné, laissant un entropy effectif estimé à 72 bits pour les seed créées avant l'installation du firmware corrigé. Cela était plus fort que la voie Mk3, mais encore en dessous de la norme prévue de 128 bits.

La différence est similaire à remplacer une combinaison de serrure véritablement aléatoire par une dérivée du numéro de série de la serrure et de l'heure à laquelle elle a été allumée pour la première fois. La combinaison résultante peut sembler aléatoire, mais quelqu'un qui connaît la formule et peut estimer les informations initiales peut la reproduire. De nombreux utilisateurs migrent, non seulement depuis les appareils Mk3, mais aussi depuis les Mk4, Q et Mk5.

Coinkite demande aux utilisateurs de créer de nouvelles seed complètes

Coinkite a publié des avis de sécurité et corrigé le firmware après avoir pris connaissance de la menace active. L'entreprise a déclaré que les utilisateurs ayant généré des seeds sur un firmware affecté devaient créer une toute nouvelle seed en utilisant une version corrigée et transférer leurs bitcoin vers des adresses contrôlées par cette seed.

Installer la mise à jour seule ne suffit pas. Une phrase de récupération créée sous le système défectueux reste faible de manière permanente, car la mise à jour du micrologiciel ne peut pas ajouter de aléatoire aux mots déjà existants.

Coinkite a conseillé aux utilisateurs de mettre à jour leur appareil, de créer une nouvelle graine, de vérifier la sauvegarde et l'empreinte du wallet, de confirmer l'adresse de réception, d'envoyer une petite transaction de test, puis de déplacer le solde restant. Les utilisateurs doivent conserver l'ancienne sauvegarde jusqu'à la confirmation du transfert, mais ne doivent plus considérer l'ancienne graine comme sécurisée.

L'entreprise a identifié les versions fixes incluant la version Mk3 4.2.0 ou ultérieure, les versions Mk4 et Mk5 5.6.0 ou ultérieures, ainsi que la version Q 1.5.0Q ou ultérieure, accompagnées des versions Edge correspondantes. Les produits Tapsigner, Opendime et Satscard utilisent un code différent et n'auraient pas été affectés.

Sécurité ajoutée protégé certains propriétaires de Coldcard

Les utilisateurs qui ont ajouté suffisamment de lancers de dés indépendants lors de la génération d'une graine étaient largement protégés, car leur propre aléatoire a submergé l'entrée logicielle défectueuse. Coinkite a déclaré qu'au moins 50 lancers privés d'un dé équilibré offraient une protection adéquate contre ce problème, bien que des lancers supplémentaires puissent fournir une marge de sécurité plus large.

Une passphrase BIP-39 robuste crée également un wallet distinct qui ne peut pas être reconstitué à partir des mots de la graine uniquement. Les wallets multi-signatures, qui nécessitent des clés provenant de plusieurs appareils ou emplacements avant que le bitcoin ne puisse être transféré, étaient largement ou entièrement protégés lorsque la graine vulnérable de Coldcard ne représentait qu'une seule partie de l'arrangement de signature.

Ces mesures de sécurité étaient facultatives, cependant. De nombreuses victimes ont semblé suivre les conseils de sécurité standards disponibles à l'époque : acheter un wallet matériel réputé, générer la graine hors ligne, protéger la sauvegarde et ne jamais la saisir sur un appareil connecté à Internet.

Coinkite assume la responsabilité alors que le débat se tourne vers l'IA

Le PDG de Coinkite, Rodolfo Novak, largement connu sous le nom de NVK, a présenté publiquement ses excuses le 31 juillet et a déclaré que l'entreprise assumait pleinement la responsabilité de la défaillance du firmware. « Je suis désolé et je suis dévasté. Notre équipe est brisée par les nouvelles d'hier », a écrit Novak. Il a reconnu que le correctif en ligne sécurise les nouvelles seed créées, mais ne peut pas réparer les seed générées sous le logiciel vulnérable.

Capture d'écran de l'article de Rodolfo Novak, PDG de Coinkite.
Article d'excuses de Rodolfo Novak, PDG de Coinkite. Source de l'image : X.

Novak a expliqué que Coinkite publierait un compte rendu technique complet après vérification des détails et aiderait les utilisateurs concernés à établir des rapports de police, des réclamations d'assurance ou des enquêtes indépendantes. Il a également averti les développeurs que les outils d'intelligence artificielle (IA) peuvent désormais analyser plus rapidement que les processus d'examen traditionnels les anciens codes publics à la recherche de faiblesses cachées.

Coinkite a souligné qu'il doit supposer qu'un attaquant a utilisé l'IA pour examiner son firmware open-source, bien qu'aucune preuve n'ait établi comment la faille a été découverte. L'entreprise a également reconnu qu'un récent examen effectué avec un modèle d'IA de premier plan n'a pas permis d'identifier le problème. Plusieurs fabricants concurrents de wallets matériels ont pris les réseaux sociaux pour indiquer que leurs produits ne sont pas concernés.

« Ledger n’est pas affecté par l’avis récemment publié concernant le Coldcard Mk3 », la société a déclaré aux utilisateurs de X après l’incident Coldcard. « Les appareils Ledger utilisent un générateur de nombres aléatoires certifié (TRNG) intégré directement dans notre puce Secure Element, générant 256 bits d’entropie pour chaque phrase de récupération secrète de 24 mots. »

Les utilisateurs de Trezor : vos fonds sont en sécurité, le fabricant de portefeuilles matériels Trezor a expliqué vendredi. « Le problème récent concernant Coldcard est limité à leur propre firmware personnalisé et à la manière dont certains de leurs appareils génèrent le hasard. Trezor ne partage pas ce code. »

Le compte Trezor X ajouté :

Nous avons toujours combiné plusieurs sources indépendantes de aléatoire (matériel de l'appareil + hôte + éléments sécurisés sur les modèles plus récents). Nous sommes sincèrement désolés pour tous ceux qui ont perdu du bitcoin.

Ce que les utilisateurs de Coldcard devraient regarder ensuite

L'identité de l'attaquant reste inconnue, et les bitcoin volés pourraient être déplacés de leurs adresses de consolidation à tout moment. Les enquêteurs continuent de déterminer combien de seeds vulnérables ont réellement été générés, combien de bitcoin restent exposés, et si des portefeuilles à haute valeur supplémentaires ont déjà été identifiés par l'attaquant. Toutefois, Coinkite peut ne pas disposer de beaucoup d'informations sur les propriétaires d'il y a longtemps.

« Un double tranchant amusant : Coinkite supprime tous ses enregistrements clients après 120 jours pour se protéger contre les fuites de données », a rapporté Jameson Lopp, cofondateur de Casa, sur X. « Ce qui signifie qu’ils ne peuvent pas contacter les clients ayant acheté des Coldcards vulnérables au cours des cinq dernières années pour les avertir de cette vulnérabilité. »

Capture d'écran de l' développeur bitcoin open-source pseudonyme calle.
Le développeur open-source pseudonyme de bitcoin, appelé calle, a partagé ses réflexions sur la question. « Je suis véritablement peiné pour tous les personnes touchées, en particulier celles qui ont peut-être perdu leur épargne. La pire partie est qu’elles ont tout fait correctement », a déclaré calle sur X.

L'incident testera également la capacité de Coinkite à rétablir la confiance dans Coldcard et si les fabricants de wallets matériels adoptent des revues indépendantes plus rigoureuses de la génération de seed. Pour les utilisateurs, la priorité immédiate est plus simple : toute personne ayant créé une seed sur un firmware affecté sans entropie indépendante forte via des dés, sans phrase de passe ou sans protection multisignature doit considérer celle-ci comme compromise et déplacer ses fonds avec précaution vers un nouveau wallet généré.

Au-delà du vol dévastateur, les bitcoiners de toute la communauté alertent et encouragent les autres à répandre l'information avant que d'autres wallets vulnérables ne soient vidés.

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.