Les ordinateurs Linux ont échappé de peu à une menace potentielle qui aurait compromis leur sécurité, mais ce n'est pas l'histoire habituelle d'une vulnérabilité corrigée. Non, il s'agit cette fois d'un hacker qui a fait semblant de se porter volontaire pendant 2 ans pour maintenir un composant du système d'exploitation, et d'un vrai bénévole qui a découvert le problème par hasard. Découvrons comment et ce que cela aurait entraîné, mais surtout les risques d'un système extrêmement vulnérable, qui n'investit pas dans le travail sur lequel reposent les serveurs des géants du Web .
Ce qui s'est passé
Le 29 mars, une attaque contre le système Linux a été découverte, injectant du code malveillant dans le package XZ . Ce code modifie les fonctions de liblzma, qui est une bibliothèque de compression de données qui fait partie du package XZ Utils et est un élément essentiel de plusieurs distributions Linux majeures. Le package XZ Utils est un petit projet open source maintenu gratuitement par un développeur depuis au moins 2009, mais il est extrêmement important. En injectant ce code malveillant, le pirate a ouvert une porte dérobée qui pouvait être utilisée par n'importe quel logiciel connecté à la bibliothèque XZ et permettre l'interception et la modification des données utilisées avec la bibliothèque. Dans certaines conditions, cette porte dérobée pourrait permettre à un acteur malveillant de rompre l'authentification sshd , permettant ainsi à un agent attaquant d'accéder au système affecté. Nous parlons potentiellement de tous les ordinateurs et serveurs exécutant Linux dans le monde. Microsoft a mis en garde contre la vulnérabilité des distributions Linux concernées, qui incluent les versions 5.6.0 et 5.6.1 du package XZ Utils, et le Python Package Index (PuPI) a restreint la création de nouveaux comptes et la soumission de packages sur son portail.
Marqué comme CVE-2024-3094 , l'exploit a reçu un score de vulnérabilité (CVSS) de 10,0, ce qui est le score de menace le plus élevé possible offert par le National Institute of Standards and Technology (NIST). Pour donner une idée de la gravité, comme l'écrit Ben Thompson dans Stratechery : « la plupart des ordinateurs du monde seraient vulnérables et personne ne le saurait ». Et encore une fois, Will Dormann, analyste principal des vulnérabilités chez la société de sécurité Analysgence, a déclaré à Ars Technica : « Si cela n'avait pas été découvert, cela aurait été catastrophique pour le monde . »
L’incroyable histoire de la vulnérabilité : comment elle a été découverte
La découverte de cette vulnérabilité donne une idée de la fragilité du monde Linux. Le 29 mars, Andres Freund , un développeur Microsoft également bénévole pour PostgreSQL, effectue un micro-benchmark de routine lorsqu'il remarque un petit retard de 600 ms avec les processus ssh . Ceux-ci utilisent une quantité surprenante de CPU même s’ils échouent immédiatement. Il devient immédiatement méfiant et se souvient que quelques semaines plus tôt, il avait remarqué une " étrange plainte " d'un utilisateur de Postgres à propos de Valgrind, le programme Linux qui vérifie les erreurs de mémoire. Après enquête, Freund découvre finalement le problème et publie sa découverte sur la liste de diffusion de sécurité Open Source avec le titre "Une porte dérobée a été ouverte dans le référentiel xz et l'archive tar xz". Freund publie alors un article sur Mastodon , dans lequel il révèle à quel point la découverte a été complètement accidentelle : "Il a vraiment fallu beaucoup de coïncidences."
Une attaque prévue depuis deux ans, et ce n'est peut-être pas fini
La communauté a alors tenté de comprendre ce qui s'était passé et il s'est avéré que le responsable était un développeur qui avait repris le projet XZ . Comme nous l'avons vu, XZ est maintenu par un seul développeur, Lasse Collin . En 2021 JiaT75 , Jia Tan, commence à envoyer des contributions au projet et par la suite deux développeurs, probablement fictifs, Kumar et Ens, commencent à se plaindre des faibles progrès du développement. Collins s'excuse en disant qu'il a des problèmes de santé mentale et, sur l'insistance de Kumar et Ens, confie à JiaT75 d'abord un rôle plus important et en 2022 la maintenance du projet. Jia Tan travaille depuis deux ans sur le package XZ, puis injecte le code malveillant pour ouvrir la porte dérobée. Mais étant donné les efforts et les ressources nécessaires, nombreux sont ceux qui, sur le Web, pensent que l'auteur du code malveillant est un attaquant sophistiqué, peut-être affilié à une agence d'État . La situation continue d'évoluer et d'autres vulnérabilités pourraient être découvertes .
Le problème du mainteneur
L'incident et ses conséquences possibles sont un exemple de la beauté de l'open source et de sa vulnérabilité. Dans la pratique, de nombreux systèmes qui alimentent les serveurs d’organisations multimilliardaires sont entretenus gratuitement par des bénévoles. Un développeur derrière FFmpeg, un package multimédia open source populaire, a souligné le problème sur X , expliquant qu'il avait demandé à Microsoft de l'aider à maintenir le projet, mais qu'on lui avait proposé quelques milliers de dollars. Ces investissements ne sont pas considérés comme attractifs, même s’ils seraient probablement rentabilisés des milliers de fois au fil du temps. Les détails de cette attaque ont été découverts sans le soutien financier direct de nombreuses entreprises et organisations bénéficiant de ces bibliothèques.
Mon ordinateur est-il compromis ?
Quelles distributions sont concernées ? Disons tout de suite que les versions stables de Debian Linux (comme Ubuntu) sont sûres, mais les versions de test, instables et expérimentales nécessitent des mises à jour de xz-utils en raison de packages compromis. Red Hat a identifié les packages vulnérables dans Fedora 41 et Fedora Rawhide , mais pas dans Red Hat Enterprise Linux (RHEL), et a déconseillé de les utiliser jusqu'à ce qu'une mise à jour soit disponible. SUSE a publié des mises à jour pour openSUSE (Tumbleweed ou MicroOS). Les utilisateurs de Kali Linux qui ont mis à jour leur système entre le 26 et le 29 mars doivent à nouveau mettre à jour pour obtenir un correctif, tandis que ceux qui ont mis à jour avant le 26 mars ne sont pas affectés par cette vulnérabilité. On se souvient que le package à risque est XZ Utils, versions 5.6.0 et 5.6.1, mais comment savoir si notre ordinateur est concerné ? Simple, vous pouvez connaître la version de XZ Utils en exécutant la commande en SSH : xz --version . Compte tenu de la complexité du système mis en œuvre, l’accent est principalement mis sur les entreprises ou les organisations. La Cybersecurity and Infrastructure Security Agency (CISA) a recommandé aux organisations de passer aux versions précédentes de XZ Utils .
Ce qui s'est passé
Le 29 mars, une attaque contre le système Linux a été découverte, injectant du code malveillant dans le package XZ . Ce code modifie les fonctions de liblzma, qui est une bibliothèque de compression de données qui fait partie du package XZ Utils et est un élément essentiel de plusieurs distributions Linux majeures. Le package XZ Utils est un petit projet open source maintenu gratuitement par un développeur depuis au moins 2009, mais il est extrêmement important. En injectant ce code malveillant, le pirate a ouvert une porte dérobée qui pouvait être utilisée par n'importe quel logiciel connecté à la bibliothèque XZ et permettre l'interception et la modification des données utilisées avec la bibliothèque. Dans certaines conditions, cette porte dérobée pourrait permettre à un acteur malveillant de rompre l'authentification sshd , permettant ainsi à un agent attaquant d'accéder au système affecté. Nous parlons potentiellement de tous les ordinateurs et serveurs exécutant Linux dans le monde. Microsoft a mis en garde contre la vulnérabilité des distributions Linux concernées, qui incluent les versions 5.6.0 et 5.6.1 du package XZ Utils, et le Python Package Index (PuPI) a restreint la création de nouveaux comptes et la soumission de packages sur son portail.
Marqué comme CVE-2024-3094 , l'exploit a reçu un score de vulnérabilité (CVSS) de 10,0, ce qui est le score de menace le plus élevé possible offert par le National Institute of Standards and Technology (NIST). Pour donner une idée de la gravité, comme l'écrit Ben Thompson dans Stratechery : « la plupart des ordinateurs du monde seraient vulnérables et personne ne le saurait ». Et encore une fois, Will Dormann, analyste principal des vulnérabilités chez la société de sécurité Analysgence, a déclaré à Ars Technica : « Si cela n'avait pas été découvert, cela aurait été catastrophique pour le monde . »
L’incroyable histoire de la vulnérabilité : comment elle a été découverte
La découverte de cette vulnérabilité donne une idée de la fragilité du monde Linux. Le 29 mars, Andres Freund , un développeur Microsoft également bénévole pour PostgreSQL, effectue un micro-benchmark de routine lorsqu'il remarque un petit retard de 600 ms avec les processus ssh . Ceux-ci utilisent une quantité surprenante de CPU même s’ils échouent immédiatement. Il devient immédiatement méfiant et se souvient que quelques semaines plus tôt, il avait remarqué une " étrange plainte " d'un utilisateur de Postgres à propos de Valgrind, le programme Linux qui vérifie les erreurs de mémoire. Après enquête, Freund découvre finalement le problème et publie sa découverte sur la liste de diffusion de sécurité Open Source avec le titre "Une porte dérobée a été ouverte dans le référentiel xz et l'archive tar xz". Freund publie alors un article sur Mastodon , dans lequel il révèle à quel point la découverte a été complètement accidentelle : "Il a vraiment fallu beaucoup de coïncidences."
Une attaque prévue depuis deux ans, et ce n'est peut-être pas fini
La communauté a alors tenté de comprendre ce qui s'était passé et il s'est avéré que le responsable était un développeur qui avait repris le projet XZ . Comme nous l'avons vu, XZ est maintenu par un seul développeur, Lasse Collin . En 2021 JiaT75 , Jia Tan, commence à envoyer des contributions au projet et par la suite deux développeurs, probablement fictifs, Kumar et Ens, commencent à se plaindre des faibles progrès du développement. Collins s'excuse en disant qu'il a des problèmes de santé mentale et, sur l'insistance de Kumar et Ens, confie à JiaT75 d'abord un rôle plus important et en 2022 la maintenance du projet. Jia Tan travaille depuis deux ans sur le package XZ, puis injecte le code malveillant pour ouvrir la porte dérobée. Mais étant donné les efforts et les ressources nécessaires, nombreux sont ceux qui, sur le Web, pensent que l'auteur du code malveillant est un attaquant sophistiqué, peut-être affilié à une agence d'État . La situation continue d'évoluer et d'autres vulnérabilités pourraient être découvertes .
Le problème du mainteneur
L'incident et ses conséquences possibles sont un exemple de la beauté de l'open source et de sa vulnérabilité. Dans la pratique, de nombreux systèmes qui alimentent les serveurs d’organisations multimilliardaires sont entretenus gratuitement par des bénévoles. Un développeur derrière FFmpeg, un package multimédia open source populaire, a souligné le problème sur X , expliquant qu'il avait demandé à Microsoft de l'aider à maintenir le projet, mais qu'on lui avait proposé quelques milliers de dollars. Ces investissements ne sont pas considérés comme attractifs, même s’ils seraient probablement rentabilisés des milliers de fois au fil du temps. Les détails de cette attaque ont été découverts sans le soutien financier direct de nombreuses entreprises et organisations bénéficiant de ces bibliothèques.
Mon ordinateur est-il compromis ?
Quelles distributions sont concernées ? Disons tout de suite que les versions stables de Debian Linux (comme Ubuntu) sont sûres, mais les versions de test, instables et expérimentales nécessitent des mises à jour de xz-utils en raison de packages compromis. Red Hat a identifié les packages vulnérables dans Fedora 41 et Fedora Rawhide , mais pas dans Red Hat Enterprise Linux (RHEL), et a déconseillé de les utiliser jusqu'à ce qu'une mise à jour soit disponible. SUSE a publié des mises à jour pour openSUSE (Tumbleweed ou MicroOS). Les utilisateurs de Kali Linux qui ont mis à jour leur système entre le 26 et le 29 mars doivent à nouveau mettre à jour pour obtenir un correctif, tandis que ceux qui ont mis à jour avant le 26 mars ne sont pas affectés par cette vulnérabilité. On se souvient que le package à risque est XZ Utils, versions 5.6.0 et 5.6.1, mais comment savoir si notre ordinateur est concerné ? Simple, vous pouvez connaître la version de XZ Utils en exécutant la commande en SSH : xz --version . Compte tenu de la complexité du système mis en œuvre, l’accent est principalement mis sur les entreprises ou les organisations. La Cybersecurity and Infrastructure Security Agency (CISA) a recommandé aux organisations de passer aux versions précédentes de XZ Utils .
Liens
Lien (243 Clics)
Plus d'actualités dans cette catégorie