L’affaire xz Utils Backdoor : un quasi-échec pour la cybersécurité mondiale utilisant une attaque de la chaîne d’approvisionnement

9 avril 2024 | Miscelanea

Dans le monde de la cybersécurité, la récente révélation d'une porte dérobée presque fusionnée avec l'omniprésent xz Utils, un outil de compression de données largement utilisé dans les systèmes Linux et Unix, a envoyé une onde de choc dans la communauté technologique. Les conséquences potentiellement catastrophiques de cet événement évité de justesse soulignent l’importance de la vigilance et de la transparence dans le développement de logiciels open source.

Qu’est-ce que xz Utils ?

xz Utils est un ensemble d'utilitaires de compression de données open source conçus pour les systèmes d'exploitation de type Unix, en particulier Linux. Il fournit une compression sans perte, ce qui signifie que les données peuvent être compressées et décompressées sans aucune perte d'informations.

À la base, xz Utils tourne principalement autour du format xz, connu pour son taux de compression élevé et son utilisation efficace des ressources système. Il est couramment utilisé pour compresser des fichiers ou des archives volumineux, ce qui en fait un outil essentiel pour la distribution de logiciels, les sauvegardes système et le stockage de données.

En plus du format xz, xz Utils prend également en charge l'ancien format .lzma, qui était son prédécesseur. Cette compatibilité ascendante garantit que les anciens systèmes et logiciels peuvent toujours interagir avec les fichiers compressés à l'aide de xz Utils.

Dans l'ensemble, xz Utils est un composant crucial des systèmes de type Unix, fournissant des capacités de compression de données efficaces et fiables essentielles à diverses tâches informatiques telles que les services SSH (Secure Shell).

Qu'est-ce que SSH?

SSH, qui signifie Secure Shell, est un protocole réseau cryptographique utilisé pour sécuriser les communications sur un réseau non sécurisé. Il permet aux utilisateurs d'accéder et de gérer en toute sécurité des systèmes et des appareils distants sur un réseau, tel qu'Internet. SSH offre une alternative sécurisée aux protocoles traditionnels comme Telnet, qui transmettent des données en texte clair, les rendant susceptibles d'être interceptées et accès non autorisés.

Voici quelques caractéristiques et fonctions clés de SSH :

Accès distant sécurisé: SSH permet aux utilisateurs de se connecter en toute sécurité à des systèmes distants et d'exécuter des commandes à distance sur ces systèmes. Ceci est couramment utilisé par les administrateurs système pour gérer les serveurs et les périphériques réseau.

Cryptage des données: SSH crypte toutes les données transmises entre le client et le serveur, y compris les noms d'utilisateur, les mots de passe et les commandes, à l'aide d'algorithmes cryptographiques. Cela garantit que les informations sensibles restent confidentielles et ne peuvent pas être interceptées par des attaquants.

Authentification: SSH prend en charge diverses méthodes d'authentification, notamment l'authentification par mot de passe, l'authentification par clé publique et l'authentification interactive par clavier. L'authentification par clé publique est considérée comme plus sécurisée et est souvent préférée pour les processus automatisés et l'accès sécurisé sans avoir besoin de mots de passe.

Port Forwarding: SSH prend en charge la redirection de port, permettant aux utilisateurs de tunneliser en toute sécurité les connexions réseau entre les systèmes locaux et distants. Cette fonctionnalité est utile pour accéder en toute sécurité aux services exécutés sur des systèmes distants ou pour contourner les restrictions du pare-feu.

Transfert de fichiers sécurisé: SSH comprend des utilitaires tels que SCP (Secure Copy) et SFTP (SSH File Transfer Protocol) pour le transfert sécurisé de fichiers entre les systèmes. Ces utilitaires cryptent les transferts de fichiers et fournissent une authentification pour garantir l'intégrité et la confidentialité des données.

SSH est un outil essentiel pour accéder et gérer en toute sécurité les systèmes distants, fournissant des fonctionnalités de cryptage, d'authentification et d'autres fonctionnalités de sécurité pour protéger les informations sensibles et garantir une communication sécurisée sur les réseaux.

Découvrir la porte dérobée xz Utils

La découverte de la porte dérobée n'était rien de moins qu'un coup de chance, mis en lumière par Andres Freund, un développeur travaillant sur les offres PostgreSQL de Microsoft. Lors du dépannage des problèmes de performances sur un système Debian, Freund a remarqué un comportement anormal dans les connexions SSH (Secure Shell), faisant finalement remonter le problème à des mises à jour malveillantes dans xz Utils.

Après une inspection plus approfondie, il a été révélé que les versions 5.6.0 et 5.6.1 de xz Utils contenaient une porte dérobée qui falsifiait l'exécutable SSH, permettant potentiellement à des acteurs malveillants d'exécuter du code arbitraire sur des systèmes compromis.

La chronologie de la porte dérobée

La chronologie des événements ayant conduit à cette révélation dresse un tableau inquiétant d’une infiltration délibérée dans des projets open source. Il semble qu'un utilisateur identifié comme JiaT75 initié des changements subtils dans les projets open source, gagnant progressivement en crédibilité au sein de la communauté. Ces changements ont abouti à l'insertion d'une porte dérobée dans xz Utils, tirant parti de la confiance et de la collaboration inhérentes au développement open source.

2021:
Activité initiale de JiaT75. En 2021, un utilisateur portant le nom d'utilisateur JiaT75 a effectué son premier engagement connu dans un projet open source. Un changement notable a été apporté au projet libarchive, remplaçant le safe_fprint fonctionner avec une variante moins sécurisée. Ce changement est passé inaperçu à l'époque.

2022:
Introduction aux utilitaires xz. JiaT75 a soumis un correctif sur la liste de diffusion xz Utils, indiquant son implication dans le développement de xz Utils. Peu de temps après, un participant inédit nommé Jigar Kumar s'est joint aux discussions, exprimant son mécontentement quant à la maintenance du projet.

Pression pour le changement. Kumar, ainsi que des partisans comme Dennis Ens et d'autres nouveaux venus sur la liste de diffusion, ont fait pression sur Lasse Collin, le responsable de longue date de xz Utils, pour qu'il fasse appel à des développeurs supplémentaires pour maintenir le projet. Cette pression a potentiellement ouvert la voie à de nouvelles infiltrations.

Janvier 2023:
Implication active : JiaT75, utilisant désormais le nom de Jia Tan, a effectué son premier engagement dans xz Utils. Au cours des mois suivants, Tan s'est de plus en plus impliqué dans les affaires xz Utils, prenant des mesures telles que le remplacement des informations de contact de Collin par les leurs sur oss-fuzz, un projet d'analyse des vulnérabilités des logiciels open source.

Février 2024:
Implémentation de la porte dérobée : Tan a publié des commits pour les versions 5.6.0 et 5.6.1 de xz Utils, qui incluaient l'implémentation de la porte dérobée. Ces mises à jour sont passées largement inaperçues au début, car la porte dérobée opérait discrètement au sein du logiciel.

Appels à l'intégration : suite à la mise en œuvre de la porte dérobée, Tan ou ses complices ont fait appel aux développeurs des principales distributions Linux, notamment Ubuntu, Red Hat et Debian, pour qu'ils fusionnent les mises à jour dans leurs systèmes d'exploitation. L'une des mises à jour a finalement été intégrée aux versions des distributions Debian et Red Hat.

Découverte de la Backdoor :

Enquête d'Andres Freund : La porte dérobée a été mise en lumière par Andres Freund, un développeur travaillant sur les offres PostgreSQL de Microsoft. Freund a remarqué un comportement anormal dans les connexions SSH sur un système Debian et a retracé le problème jusqu'aux mises à jour dans xz Utils.

Révélation sur la liste de sécurité Open Source : vendredi, Freund a révélé la présence de la porte dérobée sur la liste de sécurité Open Source, révélant ainsi l'implantation intentionnelle de la porte dérobée dans xz Utils.

Post-découverte :

Analyse et atténuation : les chercheurs et les développeurs en sécurité ont travaillé avec diligence pour analyser les mises à jour malveillantes et développer des outils permettant de détecter et d'atténuer les instances potentielles de porte dérobée. Divers outils et méthodes, notamment l’analyse comportementale et l’ingénierie inverse, ont été utilisés pour faire face à la menace.

La chronologie met en évidence l'infiltration et la manipulation progressives d'un projet open source, conduisant à la mise en œuvre presque réussie d'une porte dérobée dans un utilitaire logiciel largement utilisé, soulignant l'importance de la vigilance et de l'examen minutieux dans les processus de développement et de maintenance de logiciels.

Comprendre la porte dérobée

La sophistication de la porte dérobée réside dans sa capacité à échapper à la détection et à exécuter des charges utiles malveillantes avec précision. En manipulant l'exécutable SSH via xz Utils, les attaquants pourraient potentiellement compromettre les systèmes sensibles et exfiltrer les données critiques.

Atténuer la menace

À la suite de cette découverte, la communauté de la cybersécurité s’est mobilisée pour évaluer et atténuer la menace posée par la porte dérobée. Des outils tels que binaire et xzbot ont émergé pour aider à détecter et à analyser les instances potentielles de porte dérobée.

Le rôle de Valgrind

Valgrind, un utilitaire de surveillance de la mémoire de l'ordinateur, a joué un rôle crucial dans la découverte des mises à jour malveillantes dans xz Utils. En identifiant les anomalies dans l'utilisation du processeur et les opérations de mémoire, les développeurs ont pu identifier la source du problème et empêcher une exploitation généralisée. Valgrind est une suite d'outils de programmation open source conçue pour les applications de débogage et de profilage. Il fournit une gamme d'outils qui aident les développeurs à identifier les fuites de mémoire, à détecter les erreurs de mémoire, à profiler l'utilisation de la mémoire et à analyser l'exécution des programmes. Quelques fonctionnalités et composants clés de Valgrind :

Détection d'erreur de mémoire: Valgrind inclut des outils tels que Memcheck, qui détecte diverses erreurs liées à la mémoire dans les programmes, notamment les fuites de mémoire, les accès mémoire non valides (tels que la lecture ou l'écriture dans une mémoire non initialisée) et la mauvaise gestion de l'allocation dynamique de la mémoire (par exemple, la libération de la mémoire qui n'a pas été initialisée). déjà été libéré).

Détection des erreurs de thread: L'outil ThreadSanitizer (TSan) de Valgrind détecte les courses de données et autres erreurs de thread dans les programmes multithread. Il permet d'identifier les bogues de concurrence pouvant entraîner un comportement imprévisible et des problèmes difficiles à déboguer.

Profilage: Valgrind fournit des outils de profilage tels que Callgrind et Cachegrind, qui aident à analyser les performances du programme en mesurant les fréquences d'appel des fonctions, l'utilisation du cache et le temps d'exécution. Ces outils aident les développeurs à identifier les goulots d'étranglement et à optimiser les performances de leurs applications.

Analyse de l'exécution du programme: Les outils de Valgrind peuvent également suivre l'exécution des programmes au niveau des instructions, permettant aux développeurs d'analyser le comportement du programme en détail. Cela peut être utile pour comprendre le déroulement du programme, identifier les goulots d'étranglement en matière de performances et diagnostiquer les bogues difficiles à trouver.

Support multi-OS: Valgrind est principalement utilisé sur les systèmes d'exploitation de type Unix, notamment les variantes Linux, macOS et BSD. Il prend en charge un large éventail de langages de programmation et de compilateurs, notamment C, C++ et Fortran, et peut être intégré à divers environnements de développement et systèmes de build.

Impact dans le paysage des fournisseurs

La découverte de la porte dérobée dans xz Utils s'est répercutée sur l'ensemble des fournisseurs, suscitant d'importantes inquiétudes et des mesures proactives parmi les éditeurs de logiciels. Compte tenu de l'intégration généralisée de xz Utils dans diverses distributions Linux, les implications potentielles de l'infiltration de la porte dérobée sont considérables. Les fournisseurs sont désormais chargés de réévaluer leurs chaînes d'approvisionnement en logiciels, d'examiner minutieusement les dépendances et de renforcer leurs pipelines de développement et de distribution contre des menaces similaires. L'incident souligne l'importance cruciale de la transparence, des processus de révision du code et des audits de sécurité dans le développement de logiciels open source. En outre, cela rappelle brutalement la nécessité d’une vigilance et d’une collaboration continues au sein de la communauté logicielle pour se prémunir contre les acteurs malveillants cherchant à exploiter les vulnérabilités des composants logiciels largement utilisés. Les fournisseurs sont désormais confrontés au défi de restaurer la confiance entre les utilisateurs, de mettre en œuvre des protocoles de sécurité rigoureux et de favoriser une culture de responsabilité pour atténuer les risques posés par de telles vulnérabilités à l'avenir.

RELIANOID Load Balancer des mises à jour ont été fournies et la porte dérobée n'a pas été affectée dans nos solutions. Contactez les experts pour plus d'informations.

Profitez de l'expérience de fiabilité du site !

Articles de blog associés

Publié par reluser | 03 juillet 2026
Introduction : La sécurité s’étend désormais au plan de trafic. Les entreprises modernes n’opèrent plus dans des périmètres statiques. Les applications sont distribuées dans des environnements hybrides et multicloud. Les API communiquent en continu. Kubernetes orchestre les données éphémères…
605 aimeComments Off sur le cadre moderne de distribution sécurisée d'applications : architecture, Zero Trust, IA et résilience native du cloud
Publié par reluser | 26 juin 2026
À l'ère du numérique, où les services en ligne constituent l'épine dorsale des opérations commerciales, il est essentiel de maintenir des performances réseau fluides et efficaces. Que vous gériez un centre de données, une plateforme de commerce électronique…
909 aimeComments Off Optimisation du flux de trafic avec les équilibreurs de charge réseau
Publié par reluser | 25 juin 2026
À l'ère où la connectivité ininterrompue est une nécessité pour les entreprises, la gestion efficace de multiples connexions Internet est devenue cruciale. Les entreprises qui dépendent de plateformes en ligne, d'applications cloud ou d'opérations à distance ne peuvent plus se permettre de telles situations.
955 aimeComments Off Pourquoi les équilibreurs de charge de liens sont essentiels pour les réseaux modernes