Beaucoup de travail a été accompli pour faire en sorte que les hardware wallets restent le moyen le plus sûr de stocker votre Bitcoin. En ce qui concerne les menaces externes, comme les hackers et les voleurs, divers fabricants y sont parvenus. Mais que se passe-t-il si la menace vient en réalité « de l'intérieur » ?

Votre argent est-il en sécurité si le fabricant de votre hardware wallet est malveillant ou compromis ?

L'Open Source ne garantit pas automatiquement l'auditabilité

Le firmware et le bootloader de la plupart des hardware wallets sont open source, ce qui signifie que tout le monde peut les consulter, les compiler et les flasher sur son propre appareil. Les bootloaders du BitBox02 peuvent même afficher le hash du firmware, afin de vérifier qu'il correspond bien à ce que vous avez compilé et flashé ! Beaucoup de gens affirment que cela signifie que le code ne peut pas contenir de backdoors, et qu'un logiciel open source peut donc garantir l'intégrité de l'appareil.

Ce n'est vrai qu'en partie. En réalité, vérifier ce qui s'exécute réellement sur la puce est pratiquement impossible. Il n'existe aucun moyen de regarder à l'intérieur de la puce et d'enregistrer tout ce qu'elle fait. La puce peut se comporter de manière tout à fait normale et même afficher le bon hash du firmware au démarrage, tout en exécutant du code supplémentaire qui laisse une backdoor ouverte.

L'appareil hôte comme gardien

Là où l'open source compte vraiment en matière de sécurité, c'est dans les logiciels classiques. La BitBoxApp et pratiquement toutes les autres applications compagnon de hardware wallet sont open source. C'est important, car vous pouvez vérifier que le code que vous compilez est bien celui que vous exécutez.

L'application compagnon permet la communication entre le hardware wallet et Internet

L'application compagnon remplit ici une fonction importante qui n'est pas évidente au premier abord : elle agit comme un gardien des informations échangées entre le hardware wallet et Internet. Même si le hardware wallet exécute un code malveillant pour envoyer votre seed au fabricant, cela nécessiterait son propre code dans l'application compagnon et pourrait facilement être repéré par des chercheurs. En particulier si vous utilisez une application tierce comme Sparrow Wallet ou Electrum, il devrait être pratiquement impossible de partager des données non souhaitées avec un tiers.

L'application compagnon doit savoir quoi faire des informations

Mais que se passe-t-il si le wallet peut d'une manière ou d'une autre faire passer ces données en douce devant le gardien ?

Exfiltrer des secrets avec l'« attaque par canal caché du nonce »

Lorsque vous envoyez une transaction bitcoin, votre wallet doit créer une signature. Pour créer une signature, le wallet doit générer un nombre aléatoire, aussi appelé « nonce », qui doit être totalement aléatoire et n'être utilisé qu'une seule fois. Un wallet malveillant peut manipuler ces valeurs de nonce pour que les transactions contiennent des données arbitraires, comme des fragments de la seed. Cela signifie que la transaction qu'il crée contient un secret caché.

Des transactions manipulées peuvent contenir des données sensibles sans que l'application compagnon s'en rende compte

L'application compagnon n'a aucun moyen de vérifier que le nonce choisi est réellement aléatoire ou s'il contient des données cachées. Elle reçoit simplement une transaction valide du hardware wallet et la diffuse.

Comme les transactions et les signatures sont enregistrées sur la blockchain publique, un attaquant peut rechercher ces signatures et en extraire le secret qu'elles contiennent. Deux ou quatre signatures seulement suffisent à faire fuiter une phrase de récupération complète de 12 ou 24 mots. Par ce canal caché, un fabricant pourrait potentiellement collecter au fil du temps les seeds de tous ses utilisateurs sans que personne ne s'en aperçoive.

Protocole Anti-Klepto

Pour résoudre ce problème, BitBox et Blockstream ont développé Anti-Klepto (également appelé Anti-Exfil). Au lieu de s'appuyer uniquement sur l'aléa fourni par le hardware wallet pour le nonce, une source d'aléa supplémentaire est fournie par l'appareil hôte. Cela empêche le firmware du hardware wallet de manipuler le nonce de façon à y cacher des données.

Anti-Klepto ajoute une source d'aléa supplémentaire à la transaction

Avant de diffuser une transaction, l'application compagnon vérifie que cette source d'aléa a bien été utilisée pour créer la signature, ce qui élimine le risque de fuite de votre seed.

Nous développons actuellement la prise en charge d'Anti-Klepto pour les adresses Taproot, car leurs signatures diffèrent de celles des types d'adresses précédents. Pour en savoir plus sur le fonctionnement détaillé d'Anti-Klepto, veuillez lire notre précédent article de blog sur le sujet.

Conclusion

La menace d'un fabricant malveillant peut sembler faible, mais lorsqu'il s'agit d'entreprises qui pourraient disparaître au cours de la prochaine décennie, la possibilité d'un « exit scam » ne doit pas être écartée. Le fait que cette attaque soit pratiquement impossible à prouver pour une victime peut fournir une motivation supplémentaire à des acteurs malveillants.

Comme les hardware wallets sont principalement utilisés pour le stockage à long terme de Bitcoin, Anti-Klepto apporte à l'utilisateur une tranquillité d'esprit supplémentaire dans un environnement hostile. À ce jour, les seuls hardware wallets ayant implémenté le protocole Anti-Klepto sont le BitBox02 et le Blockstream Jade.

Nous encourageons vivement les autres fabricants à implémenter ce protocole open source afin de montrer leur volonté de sécuriser les fonds de leurs utilisateurs.

Un hacker peut-il voler mes bitcoins avec des nonces manipulés ? Cette attaque nécessite un fabricant de hardware wallet malveillant (ou compromis). Si quelqu'un s'introduit dans votre ordinateur, il n'a aucun moyen d'exploiter ce vecteur d'attaque.

Mes bitcoins sont-ils en sécurité ? Il est difficile de prouver que cette méthode a été utilisée par le passé. « Dark Skippy » a démontré avec succès l'attaque avec respectivement seulement deux signatures pour 12 mots et quatre signatures pour 24 mots.

Comment puis-je utiliser Anti-Klepto ? Les wallets qui ont implémenté Anti-Klepto l'utilisent automatiquement pour chaque transaction prise en charge. Comme il est intégré à HWI, Anti-Klepto est également utilisé lorsque vous interagissez avec un wallet tiers, comme Electrum ou Sparrow Wallet.

Quels wallets prennent en charge Anti-Klepto ? Le protocole Anti-Klepto est actuellement pris en charge uniquement par le BitBox02 et le Blockstream Jade.

Vous n'avez pas encore de BitBox ?

Assurer la sécurité de vos cryptomonnaies n'a pas besoin d'être compliqué. Le hardware wallet BitBox02 stocke hors ligne les clés privées de vos cryptomonnaies. Vous pouvez ainsi gérer vos actifs en toute sécurité.

Le BitBox02 existe aussi en version Bitcoin-only, avec un firmware radicalement ciblé : moins de code signifie moins de surface d'attaque, ce qui améliore encore votre sécurité si vous ne stockez que du Bitcoin.

Procurez-vous-en un sur notre boutique !

Shift Crypto est une entreprise privée basée à Zurich, en Suisse. Notre équipe de contributeurs Bitcoin, d'experts crypto et d'ingénieurs en sécurité construit des produits qui permettent à nos clients de passer sereinement du niveau débutant à la maîtrise de la gestion des cryptomonnaies. Le BitBox02, notre hardware wallet de deuxième génération, permet aux utilisateurs de stocker, protéger et utiliser facilement du Bitcoin et d'autres cryptomonnaies, avec son logiciel compagnon, la BitBoxApp.

This post was translated with the help of AI