Grâce à une faille dans une version vieille de dix ans du gestionnaire de mots de passe RoboForm et un peu de chance, les chercheurs ont pu découvrir le mot de passe d'un portefeuille crypto contenant une Fortune.

Il y a deux ans, lorsque « Michael », propriétaire de Crypto-monnaie, a contacté Joe Grand pour l'aider à récupérer l'accès à environ 2 millions de dollars de bitcoins qu'il stockait au format crypté sur son ordinateur, Grand a refusé.

Michael, qui est basé en Europe et a demandé à rester anonyme, a stocké la crypto-monnaie dans un portefeuille numérique protégé par mot de passe. Il a généré un mot de passe à l'aide du gestionnaire de mots de passe RoboForm et a stocké ce mot de passe dans un fichier crypté avec un outil appelé TrueCrypt. À un moment donné, ce fichier a été corrompu et Michael a perdu l'accès au mot de passe de 20 caractères qu'il avait généré pour sécuriser ses 43,6 BTC (d'une valeur totale d'environ 4 000 €, ou 5 300 $, en 2013). Michael a utilisé le gestionnaire de mots de passe RoboForm pour générer le mot de passe mais ne l'a pas stocké dans son gestionnaire. Il craignait que quelqu'un pirate son ordinateur et obtienne le mot de passe.

« À cette époque, j’étais vraiment paranoïaque avec ma sécurité », rit-il.

Grand est un célèbre pirate informatique qui, en 2022, a aidé un autre propriétaire de portefeuille crypto à récupérer l'accès à 2 millions de dollars en crypto-monnaie qu'il pensait avoir perdu à jamais après avoir oublié le code PIN de son portefeuille Trezor. Depuis, des dizaines de personnes ont contacté Grand pour les aider à récupérer leur trésor. Mais Grand, connu sous le nom de hacker « Kingpin », refuse la plupart d’entre eux, pour diverses raisons.

Grand est un ingénieur électricien qui a commencé à pirater du matériel informatique à l’âge de 10 ans et qui a co-animé en 2008 l’émission Prototype This de Discovery Channel. Il consulte désormais des entreprises qui construisent des systèmes numériques complexes pour les aider à comprendre comment des pirates informatiques comme lui pourraient subvertir leurs systèmes. Il a piraté le portefeuille Trezor en 2022 à l'aide de techniques matérielles complexes qui ont forcé le portefeuille de type USB à révéler son mot de passe.

Mais Michael a stocké sa crypto-monnaie dans un portefeuille logiciel, ce qui signifie qu’aucune des compétences matérielles de Grand n’était pertinente cette fois-ci. Il a envisagé de forcer brutalement le mot de passe de Michael – en écrivant un script pour deviner automatiquement des millions de mots de passe possibles afin de trouver le bon – mais il a déterminé que cela n’était pas réalisable. Il a brièvement estimé que le gestionnaire de mots de passe RoboForm utilisé par Michael pour générer son mot de passe pourrait présenter un défaut dans la façon dont il générait les mots de passe, ce qui lui permettrait de deviner le mot de passe plus facilement. Grand doutait cependant qu’un tel défaut existe.

Michael a contacté plusieurs personnes spécialisées dans le piratage de la cryptographie ; ils lui ont tous dit « il n’y avait aucune chance » de récupérer son argent. Mais en juin dernier, il a de nouveau contacté Grand, dans l'espoir de le convaincre de l'aider, et cette fois, Grand a accepté d'essayer, en travaillant avec un ami nommé Bruno en Allemagne qui pirate également des portefeuilles numériques.

Grand et Bruno ont passé des mois à procéder à l'ingénierie inverse de la version du programme RoboForm qu'ils pensaient que Michael avait utilisée en 2013 et ont découvert que le générateur de nombres pseudo-aléatoires utilisé pour générer des mots de passe dans cette version (et les versions ultérieures jusqu'en 2015) présentait effectivement un défaut important. cela rendait le générateur de nombres aléatoires moins aléatoire. Le programme RoboForm a imprudemment lié les mots de passe aléatoires qu’il a générés à la date et à l’heure de l’ordinateur de l’utilisateur : il a déterminé la date et l’heure de l’ordinateur, puis a généré des mots de passe prévisibles. Si vous connaissiez la date, l'heure et d'autres paramètres, vous pourriez calculer n'importe quel mot de passe qui aurait été généré à une certaine date et heure dans le passé.

Si Michael connaissait le jour ou l'heure générale en 2013 où il l'a généré, ainsi que les paramètres qu'il a utilisés pour générer le mot de passe (par exemple, le nombre de caractères du mot de passe, y compris les lettres minuscules et majuscules, les chiffres, et caractères spéciaux), cela réduirait les possibilités de mots de passe à un nombre gérable. Ensuite, ils pourraient détourner la fonction RoboForm chargée de vérifier la date et l'heure sur un ordinateur et la faire voyager dans le temps, croyant que la date actuelle était un jour dans la période de 2013 au cours de laquelle Michael a généré son mot de passe. RoboForm crachait alors les mêmes mots de passe qu'il avait générés en 2013.

Il y avait un problème : Michael ne se souvenait pas du moment où il avait créé le mot de passe.

Selon le journal de son portefeuille logiciel, Michael a transféré Bitcoin dans son portefeuille pour la première fois le 14 avril 2013. Mais il ne se souvenait pas s'il avait généré le mot de passe le même jour ou quelque temps avant ou après. Ainsi, en examinant les paramètres d'autres mots de passe qu'il a générés à l'aide de RoboForm, Grand et Bruno ont configuré RoboForm pour générer des mots de passe de 20 caractères avec des lettres majuscules et minuscules, des chiffres et huit caractères spéciaux du 1er mars au 20 avril 2013.


Il n'a pas réussi à générer le bon mot de passe. Grand et Bruno ont donc allongé la période du 20 avril au 1er juin 2013, en utilisant les mêmes paramètres. Toujours pas de chance.

Michael dit qu’ils revenaient sans cesse vers lui pour lui demander s’il était sûr des paramètres qu’il avait utilisés. Il s'en tient à sa première réponse.

"Ils m'ont vraiment énervé, car qui sait ce que j'ai fait il y a 10 ans", se souvient-il. Il a trouvé d'autres mots de passe qu'il avait générés avec RoboForm en 2013, et deux d'entre eux n'utilisaient pas de caractères spéciaux, alors Grand et Bruno se sont adaptés. En novembre dernier, ils ont contacté Michael pour organiser une réunion en personne. "Je me suis dit : 'Oh mon Dieu, ils me redemanderont les réglages."

Au lieu de cela, ils ont révélé qu’ils avaient finalement trouvé le bon mot de passe, sans caractères spéciaux. Il a été généré le 15 mai 2013 à 16h10h40 GMT.

« En fin de compte, nous avons eu la chance que nos paramètres et notre plage horaire soient corrects. Si l’un ou l’autre de ces éléments s’était trompé, nous aurions… continué à faire des suppositions/photos dans le noir », a déclaré Grand dans un e-mail à WIRED. "Il aurait fallu beaucoup plus de temps pour précalculer tous les mots de passe possibles."

Grand et Bruno ont créé une vidéo pour expliquer plus en détail les détails techniques.

RoboForm, fabriqué par la société américaine Siber Systems, a été l'un des premiers gestionnaires de mots de passe sur le marché et compte actuellement plus de 6 millions d'utilisateurs dans le monde, selon un rapport de l'entreprise. En 2015, Siber a semblé corriger le gestionnaire de mots de passe RoboForm. En un coup d'œil rapide, Grand et Bruno n'ont trouvé aucun signe indiquant que le générateur de nombres pseudo-aléatoires de la version 2015 utilisait le temps de l'ordinateur, ce qui leur fait penser qu'ils l'ont supprimé pour corriger la faille, même si Grand dit qu'ils devraient l'examiner. plus en profondeur pour être certain.

Siber Systems a confirmé à WIRED avoir résolu le problème avec la version 7.9.14 de RoboForm, publiée le 10 juin 2015, mais un porte-parole n'a pas répondu aux questions sur la manière dont il a procédé. Dans un journal des modifications sur le site Web de l’entreprise, il est uniquement mentionné que les programmeurs de Siber ont apporté des modifications pour « augmenter le caractère aléatoire des mots de passe générés », mais il ne précise pas comment ils ont procédé. Le porte-parole de Siber, Simon Davis, a déclaré que « RoboForm 7 a été abandonné en 2017 ».

Grand affirme que, sans savoir comment Siber a résolu le problème, les attaquants peuvent toujours être en mesure de régénérer les mots de passe générés par les versions de RoboForm publiées avant le correctif de 2015. Il ne sait pas non plus si les versions actuelles contiennent le problème.

« Je ne suis toujours pas sûr de lui faire confiance sans savoir comment ils ont réellement amélioré la génération de mots de passe dans les versions plus récentes », dit-il. "Je ne suis pas sûr si RoboForm savait à quel point cette faiblesse particulière était grave."

Il se peut également que les clients utilisent encore des mots de passe générés avec les premières versions du programme avant le correctif. Il ne semble pas que Siber ait jamais informé ses clients lors de la publication de la version corrigée 7.9.14 en 2015 qu'ils devaient générer de nouveaux mots de passe pour les comptes ou les données critiques. L’entreprise n’a pas répondu à une question à ce sujet.

Si Siber n’informait pas ses clients, cela signifierait que toute personne comme Michael qui utilisait RoboForm pour générer des mots de passe avant 2015 – et qui utilise toujours ces mots de passe – pourrait disposer de mots de passe vulnérables que les pirates pourraient régénérer.

« Nous savons que la plupart des gens ne modifient pas leurs mots de passe à moins d'y être invités », explique Grand. "Sur 935 mots de passe dans mon gestionnaire de mots de passe (pas dans RoboForm), 220 d'entre eux datent de 2015 et d'avant, et la plupart d'entre eux sont [pour] des sites que j'utilise encore."

Selon ce que l'entreprise a fait pour résoudre le problème en 2015, les mots de passe plus récents peuvent également être vulnérables.

En novembre dernier, Grand et Bruno ont déduit un pourcentage de bitcoins du compte de Michael pour le travail qu'ils effectuaient, puis lui ont donné le mot de passe pour accéder au reste. Le bitcoin valait à l’époque 38 000 dollars par pièce. Michael a attendu que le prix atteigne 62 000 $ par pièce et en a vendu une partie. Il possède désormais 30 BTC, d’une valeur de 3 millions de dollars, et attend que la valeur atteigne 100 000 dollars par pièce.

Michael dit qu'il a eu de la chance d'avoir perdu le mot de passe il y a des années, car sinon, il aurait vendu le bitcoin alors qu'il valait 40 000 $ la pièce et aurait raté une plus grande fortune.

"Le fait que j'ai perdu le mot de passe était une bonne chose financièrement."