tl;dr : Les Trezor One antérieurs à la v1.9.3 et les Trezor Model T antérieurs à la v2.3.3 étaient vulnérables à une attaque à distance par rançon lors de la saisie de la phrase de passe sur l’ordinateur/le téléphone. Le problème touchait toutes les cryptomonnaies présentes sur l’appareil. Il est conseillé aux utilisateurs de mettre à jour leur appareil avant de recevoir davantage de fonds.

Shift Crypto a signalé de manière responsable le problème décrit ci-dessous à SatoshiLabs (Trezor) le 15 avril 2020, puis à ShapeShift (KeepKey) le 7 mai 2020.

SatoshiLabs a versé une prime.

Trezor a publié un correctif dans Trezor One v1.9.3 et Model T v2.3.3 le 2 septembre 2020.

Je suis resté en contact régulier avec un représentant de KeepKey. Ils n’ont pas encore planifié le développement d’un correctif, indiquant qu’ils travaillent d’abord sur des sujets de plus haute priorité.

Mise à jour novembre 2021 : ShapeShift a corrigé le problème dans le KeepKey et a fait don de la prime à Brink à ma demande.

J’ai mené l’attaque avec succès en modifiant Electrum de manière interactive, exécuté sur Bitcoin Testnet.

Préface

Je suis l’un des principaux développeurs du portefeuille matériel BitBox02. Le BitBox02 prend en charge l’utilisation de phrases de passe optionnelles (également appelées phrase de passe mnémonique, ou 25e mot¹) pour les utilisateurs experts. La phrase de passe est saisie directement sur le BitBox02 pendant le processus de déverrouillage.

Les phrases de passe peuvent être utilisées pour créer des portefeuilles cachés. Elles ne sont stockées nulle part sur l’appareil et ne font pas partie de la sauvegarde habituelle ni de la seed de récupération. Chaque phrase de passe est valide et dérive un portefeuille unique. Perdre, oublier ou mal se souvenir d’une phrase de passe entraîne la perte définitive de l’accès au portefeuille.

Comme la saisie d’une longue phrase de passe sur le clavier du BitBox02 peut prendre un peu de temps, je réfléchissais à un moyen de permettre à la place la saisie de la phrase de passe depuis le portefeuille hôte (par ex. BitBoxApp ou Electrum), de manière sécurisée. Je pensais que la phrase de passe devrait être envoyée chiffrée à l’appareil une fois l’appairage sécurisé établi, et que l’utilisateur devrait la confirmer visuellement sur l’appareil.

En tant que propriétaire de Trezor depuis longtemps, je me suis souvenu avoir souvent utilisé cette fonctionnalité avec le Trezor, et j’ai réalisé que je n’avais jamais eu à confirmer la phrase de passe sur l’appareil lui-même après l’avoir saisie sur l’ordinateur.

Le KeepKey a été dérivé à l’origine de Trezor, et se comporte de la même manière à cet égard.

Vulnérabilité

En tant qu’utilisateur de portefeuille matériel, vous devez partir du principe que votre ordinateur et votre téléphone mobile sont compromis, y compris tout logiciel de portefeuille installé. C’est la raison même d’utiliser un portefeuille matériel.

Il est donc important que le portefeuille matériel valide toute entrée qu’il reçoit de l’ordinateur. Dans ce cas, la phrase de passe devrait être confirmée avec l’utilisateur sur l’appareil avant d’être utilisée pour dériver la seed. Trezor et KeepKey ne le faisaient pas lorsque la phrase de passe était saisie sur l’ordinateur.

Par conséquent, un portefeuille malveillant ou une attaque de l’homme du milieu modifiant les données transférées via USB pourrait envoyer une fausse phrase de passe arbitraire au Trezor / KeepKey et prendre en otage tous les fonds reçus dans ce portefeuille. La phrase de passe saisie par l’utilisateur pourrait simplement être ignorée, et la véritable phrase de passe utilisée ne serait connue que de l’attaquant.

Si cela se produit, le Trezor et le portefeuille sur l’ordinateur se chargent normalement, et l’utilisateur n’a aucun moyen de remarquer qu’une attaque est en cours, même s’il utilise parfaitement le portefeuille matériel et vérifie toutes les adresses de réception conformément aux bonnes pratiques. Les adresses de réception affichées dans le portefeuille sur l’ordinateur correspondent comme d’habitude à l’adresse montrée sur l’appareil, mais ces adresses n’appartiennent pas à l’utilisateur : l’attaquant peut en bloquer l’accès en retenant la phrase de passe nécessaire pour dépenser depuis celles-ci.

Avec un peu de sophistication, l’utilisateur ne remarquerait absolument rien d’anormal jusqu’au moment où l’attaquant bloquerait l’accès aux fonds et exigerait une rançon pour les rendre à la victime.

En pratique, l’attaquant pourrait exploiter un serveur depuis lequel le portefeuille malveillant récupérerait une fausse phrase de passe chaque fois que l’utilisateur déverrouille le portefeuille, puis cesser de fournir cette phrase de passe une fois qu’il y aurait suffisamment de fonds dans le portefeuille pour exiger une rançon. Sans cette phrase de passe, l’utilisateur n’a aucun moyen de reprendre le contrôle des fonds sans la coopération de l’attaquant.

Impact et gravité

Comme l’attaque peut être menée à distance, elle est considérée comme un problème critique selon le guide d’évaluation de sécurité de Shift.

L’attaque passe très bien à l’échelle : un attaquant ayant compromis de nombreux ordinateurs peut la mener en parallèle contre de nombreuses victimes, puis attendre le bon moment pour agir, lorsque suffisamment de fonds peuvent être collectivement verrouillés et pris en otage.

Comme les clés privées de toutes les cryptomonnaies (Bitcoin, Litecoin, etc.) sont dérivées de la même seed et de la même phrase de passe, les fonds de toutes les cryptomonnaies peuvent être verrouillés d’un seul coup.

L’attaque est particulièrement dangereuse pour les portefeuilles nouvellement créés, mais il est également possible d’attaquer des portefeuilles existants. Par exemple, le portefeuille malveillant pourrait conserver le xpub du compte de la session précédente et l’utiliser pour afficher le compte comme l’utilisateur s’y attendrait, avec quelques astuces supplémentaires.

Un frein à la réalisation de cette attaque à grande échelle est que l’utilisateur doit avoir activé sur l’appareil la fonctionnalité de phrase de passe optionnelle pour être vulnérable.

[1]: À mon avis, la phrase de passe ne devrait jamais être appelée « 25e mot », car cela est trompeur à deux égards :

  • Elle peut être une phrase de passe arbitraire avec des chiffres et des caractères spéciaux ; il n’est pas nécessaire qu’elle soit composée d’un seul mot.
  • Cela pourrait inciter les utilisateurs à employer un mot issu de la liste officielle de mots mnémoniques. Dans les deux cas, une attaque par force brute contre la phrase de passe deviendrait triviale.

*Publié à l’origine sur *https://benma.github.com

Sécurité suisse 🇨🇭

Nous sommes les créateurs du portefeuille matériel BitBox02. Son architecture sécurisée à double puce reflète nos valeurs d’entreprise suisse open source spécialisée en sécurité : elle permet l’utilisation d’une puce sécurisée pour renforcer l’appareil face aux attaques physiques, combinée à un firmware entièrement open source. Fabriqué en Suisse, il hérite de notre profonde exigence en matière de qualité et de confidentialité.

Découvrez plus en détail les menaces potentielles pour les portefeuilles matériels et comment nous les empêchons dans notre modèle de menace détaillé du BitBox02.

Le BitBox02 existe en deux éditions : la Multi edition, qui prend en charge plusieurs crypto-actifs et peut être utilisée comme authentificateur de second facteur. Et la Bitcoin-only edition, qui intègre un firmware résolument focalisé : moins de code signifie moins de surface d’attaque, ce qui améliore encore votre sécurité si vous ne stockez que du Bitcoin.

Découvrez le BitBox02 et procurez-vous-en un dès aujourd’hui, nous livrons dans le monde entier !

Shift Crypto est une société privée basée à Zurich, en Suisse. Notre équipe internationale de spécialistes en ingénierie, en cryptosécurité et en développement de Bitcoin Core conçoit les produits BitBox et fournit des services de conseil. Le BitBox02, portefeuille matériel de deuxième génération, permet aux particuliers de stocker, protéger et transférer facilement des cryptomonnaies. Son compagnon, le BitBoxApp, offre une solution tout-en-un pour gérer vos actifs numériques en toute sécurité et simplement.

This post was translated with the help of AI