Comment pirater un portefeuille physique de crypto-monnaie ?

14 Jan 2019

Le portefeuille physique est considéré comme le portefeuille de crypto-monnaie le plus sécurisé. Cependant, rien n’est jamais sûr à 100 %, et vous pouvez tout de même être en danger. Lors du 35ème Chaos Communication Congress, les chercheurs en sécurité Thomas Roth, Dmitry Nedospasov et Josh Datko l’ont démontré de plusieurs façons. Avant de nous plonger dans le piratage informatique, nous allons brièvement revoir ce qu’est un portefeuille physique et comment il fonctionne.

Qu’est-ce qu’un portefeuille de crypto-monnaie ?

Nous allons d’abord parler de ce qu’est un portefeuille de crypto-monnaie en général. Pour le dire simplement, un portefeuille est un compte de crypto-monnaie. Le  » compte  » est composé d’une paire de clés cryptographiques, une publique et une autre privée. Ces deux clés ressemblent au couple formé par l’identifiant et le mot de passe. La clé publique est utilisée comme adresse du portefeuille, et la clé privée permet d’accéder à l’argent, c’est-à-dire de signer les opérations sortantes.

Un autre aspect qui mérite également d’être mentionné est : comment les paires de clés publique-privée sont générées par les systèmes de crypto-monnaie, lorsque plusieurs portefeuilles appartiennent à la même personne ? Il ne serait peut-être pas pratique de conserver plusieurs paires de clés générées de façon complètement indépendante. C’est pourquoi les systèmes de crypto-monnaie ne génèrent qu’un seul numéro important, appelé graine cryptographique, et en extraient plusieurs paires de clés publique-privée, de façon prévisible, et pour plusieurs portefeuilles.

Ce numéro important, c’est-à-dire la graine cryptographique, est ce que l’utilisateur du système de crypto-monnaie conserve.

Contrairement aux autres systèmes financiers traditionnels, les crypto-monnaies n’ont généralement pas d’autorité centralisée, de mécanisme d’enregistrement, d’assurance de remboursement, ni d’options permettant de récupérer le compte. Toute personne possédant la graine cryptographique, et donc les clés qui en ont été extraites, détient les portefeuilles de crypto-monnaie correspondants. Si la graine est volée ou perdue, les gains des portefeuilles le sont aussi.

À propos, un portefeuille est officiellement une paire de clés publique-privée. Cependant, la plupart du temps, les moyens de stockage de ces clés sont souvent appelés portefeuilles. Si vous le présentez de cette façon, un portefeuille physique est un appareil qui stocke les portefeuilles de crypto-monnaie. C’est assez simple, n’est-ce pas ?

Pourquoi quelqu’un aurait besoin d’un portefeuille physique de crypto-monnaie ?

Comme vous pouvez vous l’imaginer, il faut protéger autant que possible cette graine qui est très importante. Il existe plusieurs méthodes permettant de conserver la graine, chacune avec ses avantages et ses inconvénients. La méthode la plus pratique consiste à conserver la graine dans votre ordinateur, votre smartphone, ou encore mieux, en ligne. Cependant, il est assez courant d’avoir des malwares qui partent à la chasse de portefeuilles de crypto-monnaie. Quant aux services de portefeuille en ligne, ils peuvent être piratés, et même faire faillite avec la disparition de grandes sommes d’argent.

En plus de ça, d’autres problèmes touchent les portefeuilles, avec notamment l’hameçonnage, l’usurpation des informations de paiement, la perte de portefeuilles à cause d’une défaillance matérielle, et tellement d’autres, qu’à un certain moment les gens ont décidé d’y mettre un peu d’ordre, en créant des portefeuilles physiques de crypto-monnaie ; des dispositifs spécialement conçus pour stocker les graines cryptographiques de façon sûre et fiable.

Fonctionnement des portefeuilles physiques de crypto-monnaie

L’idée principale qui se cache derrière un portefeuille physique de crypto-monnaie est de conserver la graine cryptographique de façon qu’elle ne quitte jamais l’appareil. Toutes les choses ayant à voir avec la crypto-signature, sont faites à l’intérieur du portefeuille, et non sur un ordinateur auquel le dispositif serait connecté. Par conséquent, même si votre ordinateur est en danger, les intrus ne pourront pas voler vos clés.

Pourquoi quelqu’un aurait besoin d’un portefeuille physique de crypto-monnaie ?

 

Il serait agréable d’avoir certaines mesures de protection d’accès, comme le verrouillage de l’appareil avec un code PIN. Il serait évidemment utile que l’utilisateur d’un portefeuille physique puisse vérifier la transaction réelle sur son dispositif, et de pouvoir la confirmer ou la refuser.

Toutes ces considérations définissent la forme la plus souhaitable : un portefeuille physique de crypto-monnaie est généralement une clé USB connectée, relativement petite, avec un écran, et des boutons qui permettent de saisir le code PIN et de confirmer la transaction.

Cependant, le fonctionnement interne de ces appareils peut varier. Les deux principaux fabricants de portefeuilles physiques, Trezor et Ledger, ont deux approches différentes de la conception de cet appareil.

Approche de Ledger : la graine cryptographique est conservée dans la puce de l’élément sécurisé

Les dispositifs de Ledger, à savoir Ledger Nano S et Ledger Blue, ont deux puces principales. Une est l’élément sécurisé ; il s’agit d’un microcontrôleur conçu pour stocker des données cryptographiques extrêmement sensibles. Ces puces sont plus particulièrement utilisées dans les cartes SIM, les cartes bancaires à puce avec code PIN, et les smartphones compatibles avec Samsung Pay et Apple Pay.

La seconde puce est un microcontrôleur d’usage général qui gère les tâches périphériques : maintenir la connexion USB, contrôler l’écran et les boutons, etc. En effet, ce microcontrôleur agit comme un intermédiaire entre l’élément sécurisé et tout le reste, y compris l’utilisateur. Par exemple, chaque fois que l’utilisateur doit confirmer une transaction, tout passe en réalité par ce microcontrôleur d’usage général, et non par la puce de l’élément sécurisé.

Modèle de sécurité de Ledger Nano S

 

Toutefois, ce n’est pas parce que les graines cryptographiques sont conservées dans une puce protégée que l’appareil de Ledge est entièrement impénétrable. D’abord, même s’il est très difficile de pirater directement l’élément sécurisé et de voler la graine cryptographique, il est relativement facile de mettre en danger le microcontrôleur d’usage général, et par conséquent de tromper le portefeuille physique pour confirmer une transaction venant de l’extérieur.

Les chercheurs ont analysé le micrologiciel du Ledger Nano S, et ont découvert qu’il pouvait être écrasé grâce à une version compromise, si une certaine valeur est écrite sur une adresse mémoire en particulier. Cette adresse mémoire figure sur une liste noire pour qu’elle ne puisse pas être écrite. Cependant, le microcontrôleur utilisé dans le dispositif supporte la réorganisation de la mémoire, ce qui rend l’adresse accessible. Les chercheurs ont exploité cette fonction, et ont téléchargé la version modifiée du micrologiciel dans Nano S. Ce micrologiciel modifié contenait le jeu Snake. Ils s’en sont servis comme exemple. Pourtant, ce programme modifié pourrait contenir un module malveillant qui changerait les adresses du portefeuille de toutes les transactions sortantes.

Une autre méthode permettant de mettre en danger un portefeuille physique consiste à utiliser l’implant de hardware. Josh Datko a réussi à insérer un implant bon marché qui s’active par fréquence radio dans l’appareil Ledger Nano S ; il appuie sur le bouton de confirmation lorsqu’il reçoit une commande radio malveillante. Cette même méthode fonctionne probablement avec n’importe quel portefeuille physique. Les chercheurs ont choisi l’appareil Ledger Nano S parce que c’est un des plus petits, et par conséquent, le plus difficile pour commettre ce genre d’attaque physique.

Ce même fabricant produit un autre appareil, le Ledger Blue, et il s’est avéré qu’il est vulnérable aux attaques par canaux secondaires. Ledger Blue est un portefeuille physique équipé d’un grand écran, et d’une batterie qui a une longue durée de vie. Il a un défaut dans la conception du circuit imprimé qui divulgue des signaux de fréquence radio assez perceptibles lorsque l’utilisateur saisit un code PIN. Les chercheurs ont enregistré les signaux, et ont entraîné un algorithme d’apprentissage automatique qui permet de les reconnaître avec une précision de 90 %.

Pirater la blockchain d’un appareil de l’IdO grâce à l’IA basée sur le Cloud

 

Approche de Trezor : la graine cryptographique est conservée dans la mémoire flash du microcontrôleur d’usage général

Les appareils de Trezor fonctionnent un peu différemment. Ils n’utilisent pas un élément sécurisé, mais une seule puce qui contrôle tout ce qui se trouve dans l’appareil ; il s’agit d’un microcontrôleur d’usage général qui repose sur une architecture RAM. Cette puce est responsable du stockage et du traitement des données cryptographiques, mais elle gère également la connexion USB, l’écran, les boutons, et tout le reste.

En théorie, cette approche conceptuelle pourrait faciliter le piratage du micrologiciel du dispositif, et donc l’accès à la graine cryptographique conservée dans la mémoire flash du microcontrôleur. Cependant, comme les chercheurs l’ont expliqué, Trezor a fait un très bon travail en matière de renforcement du micrologiciel, et ils ont dû pirater le hardware pour arriver à leurs fins.

Modèle de sécurité de Trezor One

 

Grâce à une technique de piratage informatique appelée voltage glitching (l’utilisation d’un voltage inférieur sur le microcontrôleur a de drôles d’effets sur la puce), ils changent le statut de la puce de Trezor One, passant de  » aucun accès  » à  » accès partiel « , ce qui leur permet de lire la RAM de la puce, mais pas le stockage flash. Ensuite, ils ont découvert que lorsque le processus de mise à niveau du micrologiciel est lancé, la puce met la graine cryptographique dans la RAM pour la conserver pendant que le flash est écrasé. Ils ont ainsi pu obtenir tout le contenu de la mémoire. La découverte de cette graine cryptographique à cet endroit n’est pas un problème ; elle était conservée dans la RAM, sans chiffrage, sous la forme d’une phrase mnémotechnique (utilisation de mots au lieu de chiffres choisis au hasard), et il était facile de la détecter.

Le vidage de la mémoire contient la graine cryptographique sous la forme d’une phrase mnémotechnique et un code PIN (dans ce cas 1234), et est écrite au format texte

 

Conclusions

Je dois dire dans cette partie que la plupart des piratages informatiques décrits par Thomas Roth, Dmitry Nedospasov et Josh Datko sont assez sophistiqués, et exige un accès physique à l’appareil. Ne vous précipitez pas, et ne jetez pas votre appareil Ledger ou Trezor à la poubelle. Tant que personne n’y a accès, vos bitcoins ne devraient pas être en danger (même s’ils ont perdu un peu de valeur).

Néanmoins, il vaut mieux ne pas oublier l’existence d’attaques de la chaîne d’approvisionnement. Les portefeuilles physiques peuvent facilement être trafiqués et menacés avant même qu’ils soient achetés. Bien sûr, il en va de même pour les ordinateurs portables et smartphones habituels. Cependant, les pirates informatiques ne peuvent pas être certains que cet ordinateur sera utilisé pour stocker de la crypto-monnaie. Dans ce cas, les portefeuilles physiques sont une valeur sûre.

Les fabricants de portefeuilles physiques essaient de résoudre ce problème, en utilisant par exemple des autocollants de sécurité sur les emballages des appareils, et en créant des pages sur leurs sites Internet qui permettent aux clients de réaliser des contrôles de sécurité en ligne de leurs portefeuilles. Cependant, ces mesures peuvent ne pas être suffisamment utiles, et peuvent même mener à confusion.

Quoiqu’il en soit, et contrairement à d’autres portefeuilles physiques, les dispositifs de Ledger et Trezor ont été conçus en pensant à la sécurité. Ne prenez pas pour acquis qu’il est absolument impossible de les pirater. Prenez quelques mesures supplémentaires pour protéger votre fortune de crypto-monnaies :

  • N’achetez des portefeuilles physiques de crypto-monnaie qu’à des vendeurs fiables.
  • Lorsque vous faites cet achat, vérifiez minutieusement qu’il n’y ait aucun signe de dégradation.
  • Pour en être plus sûr, ouvrez l’appareil, et assurez-vous qu’aucun élément supplémentaire n’a été ajouté au circuit imprimé.
  • Conservez votre portefeuille dans un endroit sûr, et n’autorisez pas les personnes auxquelles vous ne faites pas confiance à y accéder.
  • Protégez l’ordinateur que vous utilisez pour votre crypto-monnaie avec un logiciel de sécurité fiable. Grande partie des piratages informatiques décrits ci-dessus ont besoin d’installer un malware sur l’ordinateur connecté au portefeuille physique.

Conseils supplémentaires pour Trezor :

  • Trezor est une plateforme open source, pour le logiciel et le hardware. Si vous avez assez de connaissances en électronique, vous pouvez créer votre propre portefeuille physique en utilisant des composants standards. Vous êtes ainsi certain que personne n’a touché à la partie matérielle de votre portefeuille.
  • Les appareils Trezor offre une protection supplémentaire, avec une phrase secrète pour vous protéger des pirates informatiques qui cherchent à extraire la graine. L’idée de ce mode est que le stockage de la graine est incomplet sans la phrase secrète. Pensez à utiliser ce mode.

Voici le discours original. Regardez cette vidéo, elle est distrayante et utile pour les utilisateurs de portefeuilles physiques.