Des enquêtes récentes ont révélé qu'une porte dérobée malveillante a été détectée dans plusieurs images Docker disponibles sur Docker Hub, affectant spécifiquement le composant logiciel XZ Utils. Cette découverte intervient plus d'un an après l'identification initiale de la faille de sécurité. La complexité du problème est aggravée par le fait que d'autres images Docker ont été développées à partir de ces images de base compromises, perpétuant ainsi par inadvertance cette vulnérabilité de sécurité au sein de la chaîne d'approvisionnement logicielle.
XZ Utils est une bibliothèque largement utilisée pour la compression de données, incluse dans de nombreuses images Docker. Cet incident de chaîne d'approvisionnement, identifié comme CVE-2024-3094, a été révélé fin mars 2024. Il est devenu une source d'inquiétude majeure lorsqu'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 permettant un accès distant non autorisé. Cet accès s'effectue via SSH, en exploitant une faille dans la fonction RSA_public_decrypt via le mécanisme IFUNC de la glibc, permettant ainsi aux attaquants de contourner la sécurité et d'exécuter des commandes en tant qu'utilisateur root avec une clé privée spécifique.
Le contexte de cette vulnérabilité est particulièrement insidieux en raison de l'infiltration méthodique attribuée à un développeur connu sous le nom de Jia Tan, qui a systématiquement gagné la confiance de la communauté open source pendant deux ans, se voyant finalement confier la maintenance du projet. La clarté des intentions et la planification stratégique mises en évidence dans cette opération soulignent la probabilité d'une initiative parrainée par un État, dont les implications à long terme vont au-delà d'une simple attaque opportuniste.
Les conséquences de cette faille sont profondes, comme en témoigne l'identification de 35 images infectées sur Docker Hub. De plus, la portée de cet incident est mise en évidence par sa détection dans des images Docker basées sur Debian, exposant ainsi une part plus large de l'écosystème Docker à un risque potentiel. Il est à noter que les responsables du projet Debian ont décidé de conserver les images compromises dans leurs dépôts, les qualifiant d'artefacts historiques, malgré les implications potentielles en termes de sécurité.
Cette décision soulève des débats cruciaux dans le domaine de la cybersécurité concernant la gestion des vulnérabilités connues des systèmes logiciels largement distribués. D'une part, elle offre la possibilité d'étudier et de comprendre les vulnérabilités passées afin d'éviter leur réapparition, et d'autre part, elle comporte le risque de faciliter de futures exploitations en raison de la disponibilité incontrôlée de logiciels compromis.
La leçon principale tirée de cette saga avec XZ Utils souligne la nécessité de disposer de cadres d'audit de sécurité résilients et cohérents, qui transcendent le simple contrôle de version. Elle souligne également l'importance cruciale d'une surveillance continue et complète au niveau binaire au sein de la chaîne d'approvisionnement afin d'intercepter ces menaces en amont et d'empêcher leur propagation. Il est évident que les attaques contre la chaîne d'approvisionnement peuvent persister furtivement au sein des systèmes, constituant des menaces persistantes qui nécessitent des défenses robustes et des mesures préventives de la part de la communauté de la cybersécurité.