Comment un coup de chance empêche une cyberattaque mondiale
Vous ne connaissez pas le nom d’Andres Freund. Vous devriez, c’est devenu un héros. Cet ingénieur a empêché la semaine dernière une cyberattaque d’envergure mondiale.
C’est une histoire incroyable que raconte le New York Times. Un ingénieur de Microsoft, Andres Freund, a un peu par hasard, un peu par intuition, beaucoup par curiosité, arrêté une tentative de piratage mondial qui aurait pu conduire à une cyber catastrophe. Elle visait en effet les serveurs informatiques fonctionnant sous Linux, un système d’exploitation open source, largement répandu dans les banques, les hôpitaux, les entreprises, les administrations. Linux aurait une part de marché de 15%.
Un voyage en avion
Andres Freund est allemand d’origine, et voici quelques semaines, après être allé rendre visite à ses parents en Allemagne, il travaille dans le vol de retour qui le ramène en Californie. Cet ingénieur de 38 ans travaille sur PostgreSQL, un système de base de données « open source », accessible à tous. Il effectue une maintenance, un travail de routine dans l’avion, mais il reçoit quelques messages d’erreurs qui l’intriguent, sans plus. Il les met dans un coin de sa mémoire, et, rentré aux États-Unis, il est repris par ses tâches quotidiennes.
Cependant, quelques semaines plus tard, alors qu’il télétravaille, il observe que le protocole de communication sécurisé SSH qu’il utilise pour travailler à distance est un peu plus gourmand en puissance de calcul qu’il ne devrait et que certaines tentatives de «log in » échouent. Il est curieux, et il essaie de voir d’où cela vient. Il découvre la source du problème dans un autre logiciel, xzUtils, qui sert à comprimer des données. Il repense aux messages d’erreurs qu’il avait dans l’avion.
À force de curiosité et de persévérance, Andres Freund découvre la cause de ces anomalies. Ce ne sont pas de simples « bugs ». Quelqu’un a écrit intentionnellement des lignes de code dans xzUtils qui permettrait de pirater une connexion à distance utilisant SSH. En bref, quelqu’un a réussi à construire une backdoor, une porte dérobée donnant potentiellement accès aux ordinateurs utilisant Linux, car SSH xzUtils… sont des pièces qui font partie de ce système d’exploitation.
Mauvais rêve
Le premier jour de cette découverte, Andres Freund ne veut simplement pas y croire. « Cela me semblait surréaliste. J’avais dû passer une mauvaise nuit ». Mais il étudie plus en profondeur et il doit bien se rendre à l’évidence. Quelqu’un est en train d’essayer de pirater Linux.
Andres Freund a donc dévoilé la semaine dernière ses découvertes aux développeurs. En quelques heures, la nouvelle a fait le tour du monde, et un « patch » de correction a été réalisé en urgence pour colmater la fuite. Heureusement, le pirate n’avait pas encore ouvert la porte. Le code malveillant n’avait été introduit que lors d’une mise à jour le 23 février , semble-t-il. Mais si Andres Freund n’était pas intervenu, l’infection aurait été généralisée. Andres Freund l’avoue : «il a fallu beaucoup de coïncidences» pour qu’il mette le piège à jour. « Nous avons été incroyablement chanceux dans cette affaire».
Comme l’écrit Kevin Roose, le journaliste du New York Times qui relate l’histoire, « dans le monde de la cybersécurité, un ingénieur de base de données qui trouve par inadvertance une porte dérobée dans une fonction essentielle de Linux est un peu comme un employé de boulangerie qui sent une miche de pain fraîchement cuite, sent que quelque chose ne va pas et en déduit à juste titre que quelqu’un a trafiqué l’ensemble de l’approvisionnement mondial en levure. C’est le genre d’intuition qui exige des années d’expérience et une attention obsessionnelle aux détails, ainsi qu’une bonne dose de chance. »
Qui est JiaT75 ?
Aujourd’hui, on essaie de savoir qui est derrière cette tentative de cyber attaque mondiale. Une certitude, elle a été longuement préparée. Celui qui a réussi à construire cette porte dérobée a dû en effet gagner la confiance de la communauté d’informaticiens qui préside aux changements de ces logiciels : lorsqu’un développeur propose une amélioration, celle-ci doit être validée par des développeurs expérimentés, des responsables qui approuvent le changement. Le développeur pirate, qui utilisait un pseudo, JiaT75, avait mis des années pour gagner la confiance de la communauté des informaticiens et devenir un des développeurs responsables de xzUtils.
On ignore aujourd’hui qui se trouve derrière JiaT75. Cependant, il s’agit de quelqu’un, ou d’un groupe de personnes, qui avait la capacité de mener une stratégie très sophistiquée et du temps et des moyens pour la mettre en œuvre. “Il est clair qu’ils ont déployé beaucoup d’efforts pour essayer de cacher ce qu’ils faisaient », dit Andres Freund. Vu les moyens engagés et le potentiel dévastateur du piratage envisagé, certains regards se tournent vers la Chine ou la Russie…
Vous avez repéré une erreur ou disposez de plus d’infos? Signalez-le ici