La nouvelle selon laquelle XZ Utils, un utilitaire de compression présent dans la plupart des distributions Linux, a été détourné par un mainteneur soi-disant de confiance a ébranlé la communauté des logiciels open source vendredi, quelques heures seulement avant le début d’un long week-end pour beaucoup.
Près de deux jours se sont écoulés depuis. Que sait-on actuellement de toute cette affaire ?
La découverte
La porte dérobée a été découverte par Andres Freund, un ingénieur logiciel chez Microsoft, alors qu’il testait certaines choses sur les installations Debian sid (c’est-à-dire le développement) et souhaitait savoir pourquoi les connexions SSH utilisaient beaucoup de puissance CPU et pourquoi des erreurs apparaissaient.
Le problème, a-t-il découvert, résidait dans la bibliothèque de compression de données liblzma, qui fait partie du package XZ, et il a conclu que « le référentiel xz en amont et les archives tar xz ont été détournés ».
Tout en notant qu’il n’est ni un chercheur en sécurité ni un ingénieur inverse, il a réussi à glaner pas mal de choses lors de ses tests et, plus important encore, il a signalé le problème à Debian et à d’autres distributions Linux.
La révélation publique, suivie de la confirmation par Red Hat que certaines versions de Fedora Linux contiennent des versions dérobées des bibliothèques XZ, n’étaient que le début d’une avalanche d’informations et de spéculations publiées dans les jours suivants.
Quelles distributions Linux ont été affectées par les packages XZ dérobés ?
Avant de commencer à parler de la porte dérobée : devriez-vous craindre que votre machine soit compromise ?
chapeau rouge a confirmé que Fedora Cuir Brut (la version de développement actuelle de Fedora Linux) et Fedora Linux 40 bêta contenait des versions affectées (5.6.0, 5.6.1) des bibliothèques xz, et qu’aucune version de Red Hat Enterprise Linux (RHEL) sont affectés.
OuvrirSUSE les responsables disent que openSUSE Tumbleweed et openSUSE MicroOS inclus une version xz concernée entre le 7 et le 28 mars et a fourni des conseils sur ce que les utilisateurs de celles-ci devraient faire. « Il a été établi que le fichier malveillant introduit dans Tumbleweed n’est pas présent dans SUSE Linux Entreprise et/ou Saut.»
Debian Les responsables ont annoncé qu ‘«aucune version stable de Debian n’est connue pour être affectée», mais que les paquets compromis faisaient partie des distributions de test, instables et expérimentales de Debian, et que les utilisateurs de celles-ci «sont invités à mettre à jour les paquets xz-utils».
Les utilisateurs de Kali Linux qui ont mis à jour leur installation entre le 26 et le 29 mars sont concernés, a confirmé OffSec.
Quelques Arch Linux Les images de machine virtuelle et de conteneur ainsi qu’un support d’installation contenaient les versions XZ concernées.
Ubuntu indique qu’aucune version publiée d’Ubuntu n’a été affectée par ce problème.
Linux Menthe n’est pas affecté. Gentoo Linux n’est pas affecté. Amazon Linux les clients ne sont pas concernés. Linux alpin – pas affecté.
Les utilisateurs doivent suivre les conseils fournis par les responsables de leur distribution Linux, et il existe un script pour vérifier si votre système utilise une version dérobée de la bibliothèque liblzma.
« Tout système ayant affecté des packages installés doit être traité comme un incident de sécurité potentiel et faire l’objet d’une enquête pour déterminer si la porte dérobée a été utilisée », note Bar Kaduri, chef d’équipe de recherche chez Orca Security.
« Au minimum, nous recommandons [that you] vérifier toute information sensible ou clé sensible sur la machine, faire pivoter toutes les informations d’identification trouvées sur la machine ou liées à la machine, [and] examinez tous les actifs qui se trouvent dans le rayon d’explosion de la machine concernée.
La porte dérobée XZ
XZ Utils est un outil de ligne de commande pour compresser/décompresser les fichiers .xz.
Il a été établi que les versions 5.6.0 et 5.6.1 de XZ Utils ont été compromises. La porte dérobée se trouve dans la bibliothèque liblzma du paquet, qui est utilisée par sshd (c’est-à-dire l’application démon SSH) qui écoute les connexions SSH.
Des chercheurs en sécurité, des mainteneurs open source et d’autres ont analysé les versions compromises et la porte dérobée, et ont publié leur conclusions préliminaires.
« La porte dérobée découverte dans xz-utils est complexe et indirecte, ne se manifestant que dans des conditions spécifiques. Bien que l’étendue de ses capacités soit encore à l’étude, nous savons qu’elle peut être déclenchée par des systèmes distants non privilégiés se connectant à des ports SSH publics. Cette activation peut entraîner des problèmes de performances et potentiellement compromettre l’intégrité du système », a souligné le chercheur en sécurité Ofek Haviv.
Qui l’a fait?
XZ Utils a été écrit et est toujours dirigé par Lasse Collin, mais la porte dérobée a été introduite par quelqu’un qui s’appelait « Jia Tan » (JiaT75 sur GitHub), qui est devenu – en plusieurs années, avec l’aide de comptes de marionnettes chaussettes et de confiance – building via l’ingénierie sociale – un mainteneur prolifique du logiciel, et a fait d’autres choses pour garder secrète l’existence de la porte dérobée.
Nous ne saurons peut-être jamais qui est l’acteur menaçant derrière cette attaque de la chaîne d’approvisionnement, mais il est généralement admis par la communauté de la cybersécurité et des logiciels libres que les efforts prolongés et concertés déployés par « Jia Tan » indiquent qu’il s’agit d’un acteur menaçant avancé.
« La tentative de porte dérobée était très sérieuse, avec une barre très élevée de connaissances, de recherche, de développement et de savoir-faire pour atteindre aussi loin l’écosystème Linux. De plus, les modifications apportées par l’acteur malveillant sur Github s’étendent sur plusieurs années et incluent des éléments tels que l’introduction de fonctions incompatibles avec OSS Fuzzer en raison de petits problèmes en suspens depuis 2015, puis l’obtention par OSS Fuzzer d’exclure XZ Utils de l’analyse l’année dernière », a noté le chercheur Kevin Beaumont. .
« La porte dérobée elle-même est très bien conçue et inclut même la possibilité de désactiver et de supprimer la porte dérobée à distance via une commande kill. Plusieurs jours plus tard, malgré l’attention portée à l’échelle mondiale, je n’ai vu personne avoir terminé l’ingénierie inverse.
Freund a découvert la porte dérobée par accident et ce fut une chance extrêmement chanceuse pour Linux et la communauté des logiciels open source au sens large. Tout d’abord, la porte dérobée n’a pas abouti dans les versions stables des principales distributions Linux. Mais aussi, cet incident est la preuve que le débat sur la manière de garantir la sécurité des projets open source cruciaux DOIT bientôt déboucher sur au moins quelques solutions pratiques.