Un ado de 15 ans pirate les portefeuilles Ledger et TREZOR, des correctifs mis en place

21 mars 2018 - 20:52

Temps de lecture : 4 minutes

Par Victor

Les deux firmes leaders du marché des portefeuilles physiques destinés aux détenteurs de cryptomonnaies ont fait face de manière quasi-simultané à la découverte de plusieurs failles de sécurité sur leurs appareils. Des correctifs ont été publiés. A l’origine de la majorité de ces découvertes: un adolescent de quinze ans.

Rien n’est inviolable, pas même un produit conçu pour l’être. En l’espace de quelques jours, SatoshiLab – à l’origine des TREZOR – et Ledger ont publié des correctifs visant à combler des failles dont la dangerosité fait débat.

Deux failles pour Ledger

« Il est absolument impossible qu’un attaquant puisse remplacer le firmware et le faire passer l’attestation sans connaître la clé privée du Ledger » déclarait la société française sur son blog en 2015 pour justifier l’absence de scellés, avec cette même typographie grasse. C’était sans compter sur l’intervention de Saleem Rashid, un adolescent anglais de quinze ans qui est parvenu à intégrer une porte dérobée à l’appareil en ayant un accès physique à celui-ci.

La preuve de concept développée par le jeune homme amène l’appareil à générer des adresses de portefeuille prédéterminées et des mots de récupérations (données vitales et ultra confidentielles) choisis par l’attaquant. Ce dernier pourrait alors entrer ces même mots dans un nouveau portefeuille matériel pour récupérer l’argent stocké depuis le produit compromis. Si cette dernière opération peut cette fois ci se faire à distance, il est nécessaire d’avoir préalablement accès à l’appareil (avant l’utilisateur final dans le cas d’une attaque «supply-chain » ou subtilisé quelques minutes dans le cas d’une attaque « evil-maid »). Un risque non négligeable quand l’appareil est acheté chez un revendeur même officiel.

L’adolescent explique:

« il est trivial d’effectuer une attaque supply-chain qui modifie les seeds de récupération générées. Puisque toutes les clés privées sont dérivées de la seed de récupération, l’attaquant pourrait voler tous les fonds chargés sur l’appareil. »

En utilisant la même approche, des attaquants pourraient effectuer une variété d’autres actions malfaisantes, comme changer la destination des envois et les montants des paiements.

Averti au mois de novembre 2017, Ledger a corrigé cette faille dans une nouvelle version publiée il y a quinze jours pour le Ledger Nano S. Tout aussi concerné par cette faille, le Ledger Blue – un portefeuille premium de la marque – ne bénéfice pour sa part pas du correctif. Charles Guillet, responsable sécurité chez Ledger, justifie cette absence par le fait que « comme le Blue a été distribué presque exclusivement par le biais de ventes directes, la probabilité de faire fonctionner « l’escroquerie des revendeurs véreux » est négligeable ».

Une faille incorrigible?

Saleem Rashid doute cependant de l’efficacité du correctif proposé. Il croit qu’une faiblesse clé dans la conception matériel de Ledger fait qu’il est probable que son approche puisse être modifiée pour qu’elle fonctionne à nouveau.

Matt Green, professeur d’université spécialisé dans la sécurité cryptographique a expliqué au site Arstechnica:

« Ledger essaie de résoudre un problème fondamentalement difficile », explique-t-il. « Ils doivent vérifier le firmware qui tourne sur un processeur. Mais leur puce sécurisée ne peut pas voir le code s’exécuter sur ce processeur. Ils doivent donc demander au processeur de fournir son propre code ! Ce qui est un catch-22, puisque ce processeur n’exécute peut-être pas un code honnête, et donc vous ne pouvez pas faire confiance à ce qu’il vous donne. C’est comme demander à quelqu’un qui peut être un criminel de vous fournir son dossier criminel complet – »

Un deuxième couac pour Ledger dans ses rapports avec des chercheurs

L’adolescent semble avoir moyennent apprécié la réaction de Ledger face à ses découvertes.

Dans un message Reddit, le PDG de la marque avait affirmé à un client que la vulnérabilité nécessitait « l’accès physique à l’appareil AVANT la configuration du seed, l’installation d’une version personnalisée du micrologiciel MCU, l’installation d’un logiciel malveillant sur l’ordinateur de la cible et la confirmation d’une transaction très spécifique » et que son exploitation était par conséquent hautement improbable. Des affirmations fermement démenties par le chercheur, pour qui la faille doit être considérée comme « critique », ce que refuse Ledger.

Le jeune-homme explique par ailleurs:

« Lorsque vous corrigez un problème de sécurité critique, vous pouvez emprunter l’une des deux voies suivantes: Cacher complètement le correctif de sécurité [ou] alerter les utilisateurs d’un problème de sécurité critique et forcer une mise à jour.

Ledger a choisi une méthode boiteuse, qui prend les pires aspects de ces deux approches. En attirant l’attention sur les correctifs de sécurité dans leur mise à jour du firmware, tout en n’alertant pas les utilisateurs de la mise à jour, vous perdez l’avantage du  » premier arrivé « .

Cela donne suffisamment de temps aux black hats pour déterminer comment exploiter la vulnérabilité »

Saleem Rashid a expliqué ne pas avoir été payé (comme le voudrait le programme bug bounty), car «si [il] avait conclu une entente de divulgation responsable, [il] aurait été empêché de publier ce rapport technique. »

« J’ai choisi de publier ce rapport au lieu de recevoir une prime de Ledger, principalement parce qu’Eric Larchevêque, le PDG de Ledger, a fait des commentaires sur Reddit qui étaient truffés d’inexactitudes techniques. J’ai donc craint que cette vulnérabilité ne soit pas correctement expliquée aux clients. »

Le CEO de Ledger parle pour sa part d’une maladresse dans les termes du contrat, et envisagerait de changer ce point pour spécifier une durée avant publication, expliquant par ailleurs n’avoir jamais interdit explicitement au chercheur de rendre public ses recherches.

C’est la deuxième fois en un mois que Ledger est critiqué par des chercheurs entrant en contact avec eux pour signaler des failles. Pour une précédente « faille », Ledger avait refusé de mettre en place un correctif (car ils ne la considéraient pas comme telle), avant de finalement faire marche arrière après que cette dernière ait été rendue publique.

Un problème dans la communication qui n’a pas manqué de faire réagir nombre d’experts en sécurité comme , fondateur du très célèbre outil de pentest WPScan

Une autre faille cette fois-ci découverte par un autre chercheur a été corrigée dans la mise à jour. Cette dernière, exploitable uniquement avec un accès physique et en connaissant le PIN, permettait d’installer une application non signée capable de casser l’isolation entre les programmes et accéder à des données sensibles.

Une faille pour le TREZOR One

Le concurrent principal de Ledger a lui aussi été « victime » des talents de l’adolescent.

Cette dernière, découverte le mois dernier, concerne uniquement le modèle One de TREZOR. La puce STMicroelectronics STM32F205 utilisée dans le dispositif TREZOR One contient un défaut qui désactive la protection en écriture utilisée pour protéger le bootloader du dispositif.  Avec un accès physique, cette faille dans la puce permet à un attaquant de modifier et de remplacer le bootloader via une mise à jour malveillante du firmware.

Le PDG de SatoshiLabs n’a pas manqué de remercier le jeune chercheur:

«Je suis reconnaissant à Saleem pour sa contribution au projet Trezor. Sa pensée originale et son approche créative nous aident à créer un produit encore plus sûr. Cette expérience prouve que le développement orienté communauté et open-source est la bonne voie à prendre.»

Recevez le top 3 de l'actualité crypto chaque dimanche