Un piratage digne d'un film d'espionnage secoue le monde de la tech

Un piratage digne d'un film d'espionnage secoue le monde de la tech

Une porte dérobée découverte dans un logiciel très populaire a semé la panique durant tout le week-end. Savamment orchestrée, l'attaque à l'origine de la faille a été préparée durant plusieurs années, comme dans un véritable thriller .

Un petit vent de panique a soufflé durant tout le dernier week-end du mois de mars dans le monde de la tech. Une porte dérobée permettant de contourner un protocole de sécurité critique et d'obtenir le contrôle à distance d'un ordinateur a été découverte, un peu par hasard, au sein d'une version récente d'un utilitaire très populaire dans les systèmes Linux. Le problème, c'est que si ces systèmes ne sont pas les plus répandus – ni même connus – dans le grand public, ils sont en revanche omniprésents sur les serveurs informatiques qui constituent l'épine dorsale d'Internet, cette faille constituant ainsi un danger majeur pour l'ensemble de l'industrie. Mais plus que la brèche en elle-même, c'est sa mise en place qui a stupéfié la communauté des logiciels libres, avec une préparation s'étalant sur plusieurs années et s'appuyant sur une manipulation mentale très sophistiquée, qui trouve ses racines dans un problème majeur et bien plus vaste de l'industrie contemporaine du logiciel.

Résumons les faits. Vendredi 29 mars 2024, un problème de performance alerte Andres Freund, un ingénieur de Microsoft, qui pousse ses investigations et découvre alors une porte dérobée dans l'utilitaire XZ, un programme de compression et de décompression de fichiers très utilisé dans le monde Linux. Le code malveillant permet de contourner le protocole d'authentification SSH et de prendre le contrôle à distance de l'ordinateur sur lequel il s'exécute. Heureusement, cette faille majeure se trouve uniquement dans les dernières versions de XZ, qui n'ont été déployées que dans les versions bêtas de certains distributions Linux. Alertés, les acteurs concernés s'attèlent alors à rétrograder la version XZ utilisée dans leurs produits et à communiquer les mesures à prendre à leurs utilisateurs. Le pire est évité, mais les investigations commencent et révèlent un mode opératoire ahurissant qui laisse penser à l'action préparée d'un acteur malveillant étatique.

Backdoor XZ Utils : une infiltration sophistiquée, préparée de longue date

L'utilitaire XZ est un projet open source développé et maintenu bénévolement depuis de nombreuses années par une seule personne, Lasse Collin. Surmené, esseulé, le développeur fait part publiquement de sa surcharge de travail pour maintenir le projet en vie et en appelle à des renforts. Un bon samaritain se présentant sous le pseudo Jia Tan offre alors son aide et commence à contribuer au projet durant au moins deux ans. Durant toute cette période, Lasse Collin est par ailleurs mis sous pression par plusieurs utilisateurs, qui le poussent à développer toujours plus vite de nouvelles fonctions, dénigrent son travail et l'encouragent même à passer la main. Épuisé, il finit donc par nommer le fameux Jia Tan comme co-mainteneur du projet, ce qui lui confère alors une grande marge de manœuvre en matière d'ajout de code. Et c'est là que le piège savamment orchestré se referme. En effet, ce contributeur providentiel et les utilisateurs pressants ne sont qu'une seule et même personne, ou plus certainement des membres d'une même organisation, qui ont manœuvré conjointement pour aggraver le burnout du développeur originel, le pousser à ouvrir la porte de son projet et ainsi obtenir un accès au cœur de la machine.

© XKCD

Une fois dans la place, Jia Tan incorpore alors le code de la porte dérobée dans les versions 5.6.x de l'utilitaire XZ et commence à les déployer tous azimuts auprès des principales distributions Linux que sont Debian, RHEL ou Arch. Heureusement détectée et rapidement endiguée par la réactivité de la communauté open source, cette attaque révèle néanmoins au grand jour l'une des principales faiblesses de l'industrie moderne du logiciel. Toute l'infrastructure informatique contemporaine est construite sur l'assemblage de briques logicielles successives, dont un nombre important sont de petits projets maintenus par une seule ou quelques personnes, souvent bénévolement et sur leur temps libre. Les grands entreprises lucratives, telles que les fameux GAFAM, ne se privent d'ailleurs pas d'utiliser le travail fournit gracieusement par ces développeurs, sans les rémunérer ni leur apporter le soutien nécessaire. Conséquence, beaucoup s'épuisent, certains abandonnent et d'autres finissent par accepter la main tendue par un bienfaiteur providentiel, quand bien même celui-ci serait un loup déguisé en Saint-Bernard.

Backdoor XZ Utils : des failles structurelles mais un écosystème résilient

Il est encore trop tôt pour mesurer avec exactitude l'étendue et la profondeur de l'infiltration réalisée par les attaquants du projet XZ Utils, et de nombreuses personnes du monde de l'open source et de la cybersécurité travaillent actuellement à remonter toutes les ramifications de cette attaque coordonnée et planifiée de longue date. Mais le cas XZ Utils n'est que la pointe émergée de l'iceberg et probablement pas un cas malheureux mais isolé. Au contraire, il est le symptôme d'un fonctionnement intrinsèquement vicié et délétère d'une industrie gavée à la captation du travail gratuit de contributeurs passionnés mais délaissés. En novembre 2021, une autre faille du même type avait déjà fait trembler le monde la tech,  Log4Shell, du nom de l'utilitaire Log4j qu'elle affectait, un composant logiciel ultra-répandu sur les serveurs Web. Si le cas était très différent d'un point de vue technique, la faille provenant alors d'un défaut de conception du logiciel lui-même, ses implications macroscopiques étaient en revanche similaires : un projet open source massivement utilisé par les acteurs de l'industrie, dont la maintenance était laissée aux seuls bons soins de deux développeurs bénévoles et dont la défaillance pouvait avoir des conséquences catastrophiques.

Dans ce tableau un peu sombre de l'état du monde du logiciel en général et de l'open source en particulier, on peut toutefois trouver quelque réconfort et un motif de satisfaction dans la réponse particulièrement efficace qui a été apportée au cas XZ Utils. Découverte un peu par hasard par un ingénieur d'une grande entreprise, prise au sérieux et corrigée rapidement par les acteurs affectés, étudiée sous toutes les coutures par de nombreuses personnes pour en découvrir les tenants et les aboutissants, la porte dérobée de XZ Utils démontre que l'intelligence collective, le partage de connaissances et la vigilance mutuelle, valeurs fondamentales de l'open source et du logiciel libre, sont des principes de fonctionnement robustes et efficaces. Reste maintenant à construire un système économique juste et équitable, qui permette à ses acteurs de travailler sereinement, sans s'épuiser et se détruire à petit feu.