Une faille de sécurité dans le code utilisé pour créer des portefeuilles de bitcoin pourrait permettre à des pirates informatiques de voler plus d’un milliard de dollars en cryptomonnaie, selon une start-up spécialisée dans la récupération de fonds électroniques.La start-up, Unciphered, a découvert la faille en essayant d’aider un client qui avait perdu son mot de passe pour accéder à plus de 600 000 dollars en bitcoin. Les experts d’Unciphered n’ont pas réussi à ouvrir le portefeuille du client, mais ils ont réalisé que le code utilisé pour le créer était également utilisé par des millions d’autres portefeuilles, et qu’ils pouvaient être piratés en quelques secondes.
La faille, baptisée “Randstorm”, provient de programmes de portefeuilles qui ont créé des clés cryptographiques qui n’étaient pas assez aléatoires.
La société a travaillé pendant des mois pour alerter plus d’un million de personnes que leurs portefeuilles sont à risque. Des millions d’autres n’ont pas été informés, souvent parce que leurs portefeuilles ont été créés sur des sites web de cryptomonnaies qui ont fait faillite.
Des risques de sécurité
L’histoire des vulnérabilités de ces portefeuilles souligne le risque énorme que représentent les monnaies expérimentales, au-delà de leurs fortes fluctuations de valeur et de l’évolution rapide des réglementations. De nombreux portefeuilles ont été créés avec du code contenant de profondes failles, et les entreprises qui ont utilisé ce code peuvent disparaître. Au-delà de cela, cela nous rappelle que sous toutes sortes d’infrastructures logicielles, même celles explicitement dédiées à l’obtention de fonds, se trouvent des programmes open source que peu ou pas de personnes supervisent.
« L’Open Source vieillit comme le lait. Cela finira par se détériorer », a déclaré Chris Wysopal, co-fondateur de la société de sécurité Veracode, qui a conseillé Unciphered alors qu'il résolvait le problème.
Le risque d'un mauvais code open source a été mis à nu en 2021 lorsqu'il a été découvert que Log4j, un outil omniprésent utilisé par les éditeurs de logiciels dont peu de consommateurs étaient conscients, pouvait être utilisé pour exécuter du code malveillant. Cette révélation a paniqué les entreprises du monde entier et a fait de la sécurité open source une priorité absolue pour l’Agence de cybersécurité et de sécurité des infrastructures du ministère de la Sécurité intérieure, qui pousse désormais les entreprises à cartographier tous les programmes dont elles dépendent.
« Chaque technologie créée par l'homme contient des défauts qui proviennent de ses créateurs », a déclaré Eric Michaud, cofondateur d'Unciphered.
Stefan Thomas, le technologue qui a créé le logiciel utilisé pour créer les portefeuilles, a déclaré qu'il l'avait fait comme passe-temps et qu'il avait pris la partie clé du code d'un programme publié sur la page d'un étudiant de l'Université de Stanford, sans vérifier si c'était sain. « Au lieu de cela, j'étais obsédé par l'idée de m'assurer de ne commettre aucune erreur dans mon propre code », a déclaré Thomas. « Je suis désolé pour toute personne touchée par ce bogue ».
Une initiative enclenchée par un adepte précoce du bitcoin
La personne qui a déclenché le processus est l’investisseur Nick Sullivan, un adepte précoce du bitcoin qui a utilisé le site Blockchain.info, rebaptisé depuis Blockchain.com, pour créer un portefeuille en 2014. Peu après, il a effacé la mémoire de son ordinateur sans se rendre compte qu’il n’avait pas enregistré dans son gestionnaire de mots de passe le bloc de lettres et de chiffres qui lui donnerait accès à son compte crypto.
« C’était un ensemble de circonstances assez frustrant », a déclaré Sullivan. À l’époque, il avait perdu environ 18 000 dollars. Ce montant vaut maintenant plus de 600 000 dollars, un montant suffisamment important pour qu’il engage les hackers et les anciens de la NSA chez Unciphered pour essayer de le récupérer.
Unciphered, l’une des rares entreprises spécialisées dans la récupération des fonds électroniques piégés moyennant des frais, a commencé à rechercher l’argent de Sullivan en janvier 2022.
Il s’est avéré que les informations dont Sullivan disposait sur la façon dont il avait créé le compte n’étaient pas suffisantes pour permettre aux experts d’Unciphered d'entrer dans le portefeuille. Mais en étudiant le problème, l’équipe d’Unciphered a découvert un problème plus important : le code de Thomas, connu sous le nom de BitcoinJS, qui était censé créer des portefeuilles avec des clés aléatoires, ne les rendait pas toujours suffisamment aléatoires.
Comme...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.