Le cauchemar des bitcoiners : une faille corrigée pour éviter de perdre bêtement tous vos BTC !

Le fabricant de hardware wallets canadien Coinkite vient de corriger une faille de sécurité sur son modèle spécial Bitcoin, la Coldcard. L’attaque est identique à celle qui avait contrarié Leger il y a quelques mois. Mais à l’époque, Coinkite disait être intouchable !

Isolation bypass : leurrer l’utilisateur pour voler ses bitcoins

C’est un autre constructeur de hardware wallets qui a fait la découverte, avant d’alerter Coinkite : le suisse Shift Crypto, qui commercialise la BitBox. Le chercheur en sécurité Ben Ma l’a annoncé le 24 novembre.

L’attaque s’appelle isolation bypass. Elle est connue depuis août 2020. Un développeur appelé Monokh l’avait révélée pour les appareils de Ledger.

L’attaquant fait croire à sa cible qu’il transfère une certaine cryptomonnaie, mais signe à la place une transaction Bitcoin. Cela fonctionne pour toutes les cryptos qui sont des forks de Bitcoin – par exemple Litecoin ou Bitcoin Cash.

La faille vient du fait que l’appareil utilise les mêmes chemins de dérivation pour générer les adresses des cryptos concernées. Ainsi, cela expose la clé publique Bitcoin de l’utilisateur, et la fonctionnalité de signature, via l’application servant à transférer une autre cryptomonnaie.

L’attaquant va utiliser ces informations pour programmer une transaction Bitcoin. Elle sera soumise à l’utilisateur à la place de celle qu’il souhaite effectuer.

À l’époque, l’équipe de Coinkite avait déclaré que ses appareils n’étaient pas affectés. La Coldcard ne « prend en charge aucun shitcoin » :

Il ne fallait pas répondre trop vite…

Cependant, la Coldcard prend en charge les bitcoins du testnet ! Et il est tout à fait possible de leurrer l’utilisateur s’il effectue une transaction sur le testnet de Bitcoin.

Ainsi, cette transaction sur le testnet :

Bitcoin testnet XTN

Pourrait servir à exécuter cette transaction sur le mainnet :

Bitcoin mainnet BTC

Cela reste difficile à exécuter pour l’attaquant. Il faut inciter l’utilisateur à dépenser des BTC du testnet, et le prétexte n’est pas évident à trouver.

Les auteurs de l’article de Coinkite parlent par exemple d’ICO en bitcoins du testnet. Ou de proposer d’autres services basés sur un transfert de XTN.

La réponse de Coinkite

L’équipe de ShiftCrypto a immédiatement informé ses concurrents de la faille. Le lendemain, Coinkite a demandé 3 mois pour résoudre le problème. Coinkite a informé ses utilisateurs le 30 septembre et proposé un correctif sur GitHub.

Ne voyant aucune mise à jour du firmware de la Coldcard, ShiftCrypto a demandé le 14 octobre une date de sortie. Coinkite a répondu qu’il fallait attendre encore un peu.

Le 12 novembre, une semaine avant la fin de l’embargo, ShiftCrypto a recontacté Coinkite pour leur rappeler qu’il rendraient la faille publique le 24 novembre. Coinkite a finalement publié une version beta du nouveau firmware le 23 novembre.

Morgan Phuc

Cofounder @ 8Decimals & Partner @ Node Guardians - Making crypto great again - Journal du Coin / BitConseil