Les portefeuilles matériels sont le moyen le plus sûr de stocker, d’envoyer et de recevoir du bitcoin. Mais ils n’ont pas toujours été aussi sûrs qu’aujourd’hui. Même si les premières conceptions amélioraient la sécurité des portefeuilles logiciels, elles dépendaient encore fortement de la sécurité de l’appareil hôte, par exemple votre ordinateur ou votre téléphone.

Au fil des années, les chercheurs en sécurité ont découvert plusieurs vulnérabilités qui peuvent sembler évidentes avec le recul. Mais comme le concept des portefeuilles matériels n’était pas encore aussi mature qu’aujourd’hui, ces failles n’ont parfois pas été découvertes pendant des années.

Examinons ces vulnérabilités, voyons comment elles fonctionnent et comment BitBox02 les corrige. Pour faciliter la compréhension, certains exemples sont simplifiés.

Sortie de change non validée

Les transactions Bitcoin ne contiennent pas seulement une adresse d’envoi et une adresse de réception. Comme Bitcoin utilise le modèle UTXO, les UTXO ne peuvent être dépensés qu’en totalité. Cela impose la présence d’une sortie de change, renvoyée vers une adresse appartenant à l’expéditeur. C’est similaire à un paiement en espèces, lorsque le commerçant vous rend la monnaie.

Transaction bitcoin ordinaire

Certains portefeuilles matériels ne vérifiaient pas correctement qu’ils étaient bien le destinataire de cette sortie de change. Comme l’écran du portefeuille matériel n’affiche que le montant de la transaction, sans la sortie de change (en vert dans le schéma), un attaquant ayant accès à l’appareil hôte pouvait simplement ajouter plusieurs UTXO en entrée et rediriger la sortie de change vers une adresse qu’il contrôle, volant ainsi bien plus que ce que le portefeuille matériel affichait comme montant de transaction.

Transaction Bitcoin irrégulière (mais valide) avec une sortie de change manipulée

BitBox02 corrige ce problème en vérifiant que la sortie de change est bien une adresse faisant partie du portefeuille. Si un attaquant tente d’injecter sa propre adresse comme sortie de change, BitBox02 rejettera simplement la transaction.

Saisie de la passphrase sur l’appareil hôte

Les portefeuilles matériels n’ont généralement pas beaucoup de boutons. Saisir une passphrase facultative BIP39 sur un appareil à deux boutons peut être assez fastidieux, car une passphrase peut (et devrait) contenir des chiffres, des lettres et des caractères spéciaux.

Pour faciliter la saisie de la passphrase, certains portefeuilles matériels permettent à l’utilisateur de la saisir sur l’appareil hôte, qui l’envoie ensuite au portefeuille matériel. Cela annule déjà une partie des bénéfices de sécurité liés à l’usage d’une passphrase, puisque l’appareil hôte apprend cette passphrase, qui fait partie de votre sauvegarde. Mais cela rend aussi possible une attaque bien plus grave :

Une passphrase manipulée est transmise au portefeuille matériel

Saisir votre passphrase sur un appareil hôte malveillant permet à un attaquant de transmettre en secret une passphrase différente à votre portefeuille. Tout fonctionnera comme prévu jusqu’au moment où vous essaierez d’envoyer une transaction. L’attaquant peut prendre vos coins en otage et ne vous communiquer la bonne passphrase qu’après que vous l’ayez payé.

BitBox02 empêche cette attaque grâce à un plus grand nombre de boutons, ce qui permet à l’utilisateur de saisir facilement sa passphrase directement sur le portefeuille matériel. L’appareil hôte ne l’apprend jamais.

Cosignataires multisig falsifiés

Les portefeuilles multisig servent généralement à renforcer la sécurité de la conservation de bitcoin. Au lieu d’utiliser un seul portefeuille matériel, un portefeuille multisig exige plusieurs portefeuilles (matériels) pour signer une transaction ou créer une adresse de réception.

Le portefeuille multisig falsifié est en réalité un portefeuille complètement différent contrôlé par l’attaquant

Pour générer une adresse de réception bitcoin, les clés publiques étendues (xpubs) de tous les portefeuilles sont nécessaires. Le portefeuille matériel demande donc à l’appareil hôte les xpubs des cosignataires.

Faire confiance à l’appareil hôte pour fournir les xpubs des cosignataires est dangereux. Si l’appareil hôte est compromis, un attaquant peut remplacer les xpubs des véritables cosignataires par d’autres qu’il contrôle. Comme le portefeuille matériel ne peut vérifier que son propre xpub, il ne peut pas détecter cette modification. L’adresse bitcoin affichée sur l’écran du portefeuille matériel est bien une adresse valide, mais elle n’est pas contrôlée par la victime, car l’attaquant contrôle la majorité des clés des cosignataires.

BitBox02 enregistre les métadonnées du portefeuille multisig directement sur l’appareil. Il peut ainsi valider complètement les paramètres du portefeuille multisig, détecter si les xpubs ont été modifiés et avertir l’utilisateur. Aujourd’hui, la plupart des portefeuilles matériels modernes empêchent ce type d’attaque.

Taux de frais excessif

Une autre façon pour un appareil hôte compromis d’attaquer un portefeuille matériel consiste à modifier le taux de frais que l’utilisateur définit pour une transaction. Lorsque l’appareil hôte envoie les données de la transaction au portefeuille matériel pour vérification et signature, au lieu d’utiliser un taux de frais raisonnable, il transmet un taux bien plus élevé. Celui-ci peut être fixé à un niveau suffisant pour vider entièrement le portefeuille (imaginez 1 bitcoin de frais de transaction).

La transaction falsifiée contient des frais de transaction bien plus élevés

Comme l’attaquant ne perçoit pas directement ces frais de transaction, il ne diffuse pas tout de suite cette transaction signée et fait plutôt chanter la victime. Si celle-ci ne lui verse pas une certaine somme, il diffusera la transaction et l’argent de la victime sera effectivement détruit. Les tentatives de dépenser ces fonds avant lui échoueront très probablement, car le taux de frais élevé rend beaucoup plus probable l’inclusion en priorité de la transaction malveillante. Autrement, l’attaquant pourrait aussi s’entendre avec un mineur et partager avec lui ces frais de transaction excessifs.

Pour contrer facilement cette attaque, BitBox02 affiche les frais de transaction sur son propre écran. L’utilisateur peut ainsi vérifier qu’ils n’ont pas été modifiés. Il avertit même l’utilisateur si les frais sont déraisonnablement élevés (plus de 10 % du montant de la transaction).

Contournement de l’isolation

Les portefeuilles matériels servent souvent à stocker plusieurs cryptomonnaies en même temps. C’est pratique, mais cela peut aussi poser problème. Comme certaines monnaies partagent un format d’adresse et un chemin de dérivation similaires, un portefeuille peut être amené à envoyer une transaction qui dépense la mauvaise monnaie.

Cela peut par exemple signifier qu’un utilisateur signe une transaction pour du Bitcoin mainnet au lieu de Bitcoin testnet, ou pour Ethereum au lieu d’un fork similaire, mais moins précieux. Un attaquant peut prendre cette transaction en otage et faire chanter l’utilisateur avec. Si l’utilisateur ne paie pas la rançon, l’attaquant diffuse la transaction et envoie les fonds de l’utilisateur.

Pour empêcher cette attaque, BitBox02 utilise des chemins de dérivation distincts selon les monnaies et affiche aussi la devise sur l’appareil lors de la signature d’une transaction.

Conclusion

Comme le montrent ces exemples, les portefeuilles matériels continuent d’évoluer et deviennent chaque année plus sûrs. C’est pourquoi le développement actif du firmware des portefeuilles matériels, les mises à jour régulières et un programme de bug bounty pour encourager les divulgations responsables sont si importants.

Heureusement, même si ces attaques ont été découvertes et signalées, il n’existe aucun cas public de personnes en ayant été victimes.

Tant que la plupart des gens conservent leur argent sur des plateformes d’échange et des portefeuilles logiciels vulnérables, s’en prendre à ces fournisseurs centralisés reste plus efficace que d’attaquer des individus.

Questions fréquentes (FAQ)

Les portefeuilles matériels sont-ils sécurisés ? Oui, les portefeuilles matériels sont le moyen le plus sûr de recevoir, stocker et envoyer du bitcoin. Il y a eu des vulnérabilités dans le passé, mais il existe très peu de preuves qu’elles aient été exploitées par des attaquants.

Comment m’assurer que mon portefeuille à froid ne soit pas piraté ? Pour rester en sécurité, vous devez garder votre portefeuille matériel à jour. Assurez-vous qu’il exécute le dernier firmware. Si votre appareil est ancien et n’est plus pris en charge, envisagez de passer à un modèle plus moderne.

Puis-je mal utiliser mon portefeuille matériel ? Un bon portefeuille matériel rendra une mauvaise utilisation très difficile. Mais sa sécurité dépend toujours du fait que l’utilisateur vérifie manuellement certaines informations, comme les adresses bitcoin ou les frais de transaction. Si vous n’êtes pas sûr de savoir l’utiliser correctement, consultez le manuel officiel.

Quelles sont les vulnérabilités des premiers portefeuilles matériels ? Les premiers portefeuilles matériels, bien que plus sûrs que les portefeuilles logiciels, présentaient des vulnérabilités. Celles-ci incluaient des sorties de change non validées, la saisie de la passphrase sur l’appareil hôte, des cosignataires multisig falsifiés, des taux de frais excessifs et le contournement de l’isolation.

Comment BitBox02 corrige-t-il la vulnérabilité liée à la sortie de change ? BitBox02 vérifie que la sortie de change est une adresse qui fait bien partie du portefeuille, ce qui empêche les attaquants de rediriger cette sortie vers leur propre adresse.

Pourquoi la saisie d’une passphrase sur l’appareil hôte est-elle risquée ? Saisir la passphrase sur l’appareil hôte l’expose à des attaquants potentiels. BitBox02 permet aux utilisateurs de saisir leur passphrase directement sur le portefeuille matériel, ce qui garantit que l’appareil hôte ne l’apprend jamais.

Comment BitBox02 garantit-il la sécurité d’un portefeuille multisig ? BitBox02 enregistre les métadonnées du portefeuille multisig sur l’appareil. Cela lui permet de valider les paramètres du portefeuille multisig et de détecter si les clés publiques étendues ont été modifiées.

Quelles mesures BitBox02 prend-il contre les frais de transaction excessifs ? BitBox02 affiche les frais de transaction sur son propre écran, ce qui permet aux utilisateurs de les vérifier. Il les avertit si les frais sont déraisonnablement élevés, par exemple au-delà de 10 % du montant de la transaction.

Comment BitBox02 évite-t-il toute confusion entre les monnaies dans les transactions ? BitBox02 utilise des chemins de dérivation distincts pour les différentes monnaies et affiche la devise sur l’appareil lors de la signature d’une transaction, ce qui évite d’envoyer la mauvaise monnaie par accident.

Vous n’avez pas encore de BitBox ?

Protéger vos cryptomonnaies n’a pas besoin d’être compliqué. Le portefeuille matériel BitBox02 stocke hors ligne les clés privées de vos cryptomonnaies. Vous pouvez ainsi gérer vos coins en toute sécurité.

BitBox02 existe aussi en version dédiée uniquement à Bitcoin, avec un firmware résolument 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 dans notre boutique !

Shift Crypto est une entreprise privée basée à Zurich, en Suisse. Notre équipe, composée de contributeurs Bitcoin, d’experts en cryptomonnaies et d’ingénieurs en sécurité, conçoit des produits qui permettent à nos clients d’évoluer sereinement, du niveau débutant jusqu’à une maîtrise avancée de la gestion des cryptomonnaies. BitBox02, notre portefeuille matériel de deuxième génération, permet aux utilisateurs de stocker, protéger et utiliser facilement Bitcoin et d’autres cryptomonnaies, avec l’aide de son compagnon logiciel, BitBoxApp.

This post was translated with the help of AI