De l’entrisme dans le Libre
L'entrisme est un mot qui est né pendant la révolution Russe d’octobre 1917. C’est une stratégie politique révolutionnaire qui consiste à faire entrer de manière concertée des membres d'une organisation militante dans une autre organisation rivale, voire dans l'appareil de l'État bourgeois, comme on le nommait à l’époque. Il est aussi employé depuis lors pour décrire des pratiques du même ordre (infiltration, noyautage, ) de mouvements, mouvances (politiques, religieuses…) au sein d'organisations diverses mais aussi de l'État.
Ce concept a été défini et mis au point par Lev Davidovitch Bronstein, plus connu sous le nom de LéonTrotski , dont la « carrière révolutionnaire » est assez colorée.
Cette pratique, toujours d’actualité, inquiète beaucoup certaines entreprises au point que le ministère de l’intérieur qui propose un kit de sensibilisation des atteintes à la sécurité économique a intégré un chapitre dédié au phénomène.
Les méthodes employées pour faire de l'entrisme se révèlent par leur nature très diverses, donc difficiles à parer. L'entrisme peut être mis en œuvre par une direction au sein d'une même organisation, dans le but d'infléchir le pouvoir d'opposition (opposition des syndicats par exemple).
En France, dans le
domaine politique, le terme entrisme est employé pour qualifier une
pratique de noyautage de l'OCI (Organisation Communiste Internationaliste ) issue de la scission de 1952.
Cette stratégie ne fonctionne pas toujours. Par exemple Lionel
Jospin, élève à l'Ecole nationale d'administration (ENA), adhère
à l’OCI dans les années 60. Il est, un peu plus tard, chargé par
la direction de l’OCI d’infiltrer le PS. Mais il aurait peu à
peu renoncé à ses idéaux de jeunesse en préférant faire une
carrière au sein du parti socialiste qu’il estimait, à cette
époque, plein d’avenir. La suite lui ayant donné raison puisqu’il
devient premier ministre en juin 1997. Plusieurs journaux, dont Le Monde, ont produit des articles sur le sujet.
Et en quoi tout ceci concerne-t-il le Logiciel Libre ?
Si l’open source s'attache aux avantages d'une méthode de développement au travers de la réutilisation du code source, le Logiciel Libre, selon Richard Stallman, est un mouvement social qui repose sur les principes de Liberté, Égalité, Fraternité. Et ce mouvement remet en cause, entre autres choses, la légitimité de vendre des appareils en forçant les utilisateurs à adopter des systèmes propriétaires, qui en plus volent leurs données. Cela menace directement les grands acteurs d’Internet et de l’informatique dans leur activités qui représentent des centaines de milliards de chiffre d’affaire !
Depuis que le Libre existe, on a pu observer moult tentatives, plus ou moins réussies, pour détourner des associations de leur objectif ou empêcher des logiciels d’être Libres ! C’est l’objet de ce petit article qui est là pour rappeler que si le concept du Libre représente pour une majorité de militants une belle aventure qui fait rêver, l’impitoyable dureté des lois du monde économique, tel qu’il est régi actuellement, nous ramène à la dure réalité des faits.
1 ) Modifications à la source
Le principe est le suivant : un pirate intègre une communauté de développement dans laquelle on travaille ensemble en se partageant du code stocké sur un serveur Git, CVS ou autres. Il fait preuve, dans un premier temps, de bonne volonté en proposant des améliorations, et faisant, par la même occasion, reconnaître ses compétences auprès des responsables du projet. Ce qui amène ces responsables à lui confier des tâches de plus en en plus proches du cœur du système jusqu’au moment où il va pouvoir modifier les sources pour y introduire son code malfaisant.
C’est une méthode très efficace car elle permet d’infecter tous les systèmes qui vont télécharger ce code pour fabriquer leurs outils et qui seront diffusés rapidement à travers le monde via l’Internet. Cela peut permettre aux pirates d’accéder, en quelques jours, aux données de millions d’utilisateurs.
Voici quelques exemples.
1.1 ) Attaque de XZ Utils par porte dérobée
Le 29 mars 2024, un message a été envoyé sur la liste de diffusion oss-security d'Openwall montrant que le code de liblzma, une composante de l'outil de compression XZ Utils, était probablement compromis.
Le code malveillant est connu pour affecter les versions 5.6.0 et 5.6.1 de XZ Utils. Bien que l'exploit reste inactif sans qu'un patch spécifique au serveur SSH soit utilisé, cette faille pouvait permettre à un acteur malveillant de contourner l'authentification ssh et d'obtenir un accès distant non autorisé à l'ensemble du système. Le mécanisme malveillant consistait en deux fichiers de test compressés contenant le code binaire malveillant.
De nombreuses distributions Linux populaires étaient concernées, dont Debian (testing et unstable), Fedora Rawhide, Kali Linux, et OpenSUSE Tumbleweed. Par chance, la plupart des distributions Linux qui suivent un modèle de mise à jour stable n’ont pas été affectées, car elles utilisaient des versions plus anciennes de xz.
La porte dérobée a été ajoutée par « JiaT75 » alias Jia Cheong Tan, l'un des deux mainteneurs officiels du projet, bien que récemment arrivé. Les analystes considèrent généralement que Jia Tan est un pseudonyme, voire un paravent pour un groupe organisé. Il est également responsable de modifications curieuses sur d'autres projets, dont au moins libarchive.
L'informaticien Alex Stamos a estimé que cette attaque « aurait
pu être la porte dérobée la plus répandue et la plus efficace
jamais implantée dans un logiciel », notant que si elle
n'avait pas été détectée, elle aurait « donné à ses
créateurs une clé maîtresse sur n'importe lequel des centaines de
millions d'ordinateurs dans le monde utilisant SSH ». Tous les détails ICI.
1.2 ) Heartbleed
Heartbleed est une vulnérabilité logicielle présente dans la bibliothèque de cryptographie OpenSSL à partir de mars 2012, qui permet à un « attaquant » de lire la mémoire d'un serveur ou d'un client pour récupérer, par exemple, les clés privées utilisées lors d'une communication avec le protocole TLS (Transport Layer Security). Découverte deux ans après, en mars 2014, et rendue publique le 7 avril 2014, elle concernait de nombreux services Internet. Ainsi 17 % des serveurs web dits sécurisés, soit environ un demi-million de serveurs, auraient été touchés par la faille au moment de la découverte du bogue.
La vulnérabilité aurait été introduite par erreur dans le référentiel d'OpenSSL, à la suite d'une proposition de correction de bugs et d'améliorations de fonctionnalités, par un développeur bénévole. Sa proposition a été examinée et validée par l'équipe d'OpenSSL le 31 décembre 2011, juste avant la fête de la nouvelle année, et le code vulnérable a été ajouté dans la version 1.0.1 d'OpenSSL, le 14 mars 2012.
L’auteur du code ayant assuré l’avoir fait sans but de nuire, d’une part, et d’autre part la direction du projet ayant évoqué une validation dans un contexte de fête de fin d’année, on a qualifié cela de faute d’étourderie. Tous les détails ICI.
Cette vulnérabilité a quand même mis en évidence le manque de moyens des équipes développant les logiciels libres tels que OpenSSL et a conduit à un projet de financement groupé de ces derniers par de nombreuses entreprises informatiques majeures (Amazon Web Services, Microsoft, Google, Facebook, etc.) qui possèdent des serveurs utilisant ces logiciels libres.
Ce projet est nommé Core Infrastructure Initiative.
On y constate, sans surprise, que les financements se chiffrent en milliers de dollars … alors que les gains de ces « financeurs » se chiffrent, eux, en milliards de dollars. S’ils financent c’est qu’ils ont considérablement augmenté leurs profits grâce aux Logiciels Libres. Et ils ont absolument besoin que ces logiciels restent fiables. Ce ne sont ni des bienfaiteurs, ni des philanthropes.
1.3 ) Noyau Linux (2003)
Le 4 novembre 2003, une porte dérobée a été introduite dans le noyau Linux directement sur le serveur CVS par un attaquant en se présentant comme étant David S. Miller (développeur noyau). Une personne, se faisant passer pour un militant du Libre, avait réussi à lui voler son compte d’accès au serveur contenant les sources du noyau Linux.
Mais cette modification a été détectée dès le lendemain. Le serveur CVS était un miroir du dépôt officiel utilisant BitKeeper, un système de gestion de versions décentralisée destiné au code source.
De plus, le
processus de développement collectif d'un logiciel (notamment celui
d'un logiciel libre comme le noyau Linux) impose que chaque
modification soit validée ; elle doit pour cela avoir une
justification légitime. Ainsi, toute modification, aussi minime
soit-elle, apparaît dans les diff et soulève de légitimes
interrogations si elle n'a pas une justification claire. Tous les détails ICI.
2 ) Logiciels Libres empoisonnés
Un logiciel libre est un logiciel qui donne toutes les sources de son code, mais qui oblige ceux qui les utilisent à respecter les licences attachées à ce logiciel libre et donc à rendre libre le nouveau code qui est produit.
Depuis quelques années, des entreprises utilisent des Logiciels Libres pour développer des produits informatiques qui sont ensuite vendus à leurs clients ou proposés comme un service hébergé chez le développeur du produit. Et pour répondre à certaines demandes, il est possible d’y intégrer des facilités d’échanges avec les grands acteurs du net (Google, Microsoft, Facebook, Twitter, etc). Il y a donc, dans le produit, du code pour se connecter chez eux.
C’est le cas, par exemple, de :
Nextcloud ( https://apps.nextcloud.com/apps/integration_google ),
Gitlab ( https://docs.gitlab.com/ee/tutorials/set_up_gitlab_google_integration/ )
Discourse ( https://meta.discourse.org/t/configure-google-login-for-discourse/15858 )
pour ne citer que les plus connus.
Un moyen pour ces entreprises de tester rapidement leurs produits tout en se faisant de la publicité, c’est de permettre à des personnes ou des associations de télécharger des versions publiques afin de les installer sur leurs serveurs.
Le site de Framasoft nous en donne une liste non exhaustive : https://framalibre.org/
Le code est bien entendu libre, mais quand les sources représentent des millions de lignes de codes, il est facile d’y introduire des instructions qui permettent de faire des choses qui ne sont pas forcément dans l’intérêt de ceux qui utilisent le logiciel. Par exemple, envoyer des informations sur un serveur externe, permettre à des espions de se connecter à distance, ou modifier le système sur lequel ce logiciel est installé.
Un militant du libre, tout à fait honnête, peut donc facilement contaminer son association en installant une telle application sans vérifier préalablement qu’il n’y a pas un piège dans tout le code téléchargé. Comme en plus, il est dit clairement, dans certains cas comme ceux cités ci-dessus, qu’il est possible de s’identifier avec son compte Google, ou Facebook ou autres, si on examine le code on ne pourra pas reprocher d’y trouver des instructions de connexions vers ces Gafams !
Ces entreprises, qui développent du logiciel libre pour mieux le saboter, font, à leur manière, de l’entrisme en faisant croire qu’elles font partie des défenseurs du Libre.
Afin que tout soit bien clair, ajoutons que les entreprises Nextcloud, Gitlab, Discourse et les autres ne sont pas, ici, pour l'instant, accusées de faire de l’entrisme.
Mais rappelons
simplement qu’une des raisons principales d’utiliser du logiciel
libre est de vouloir échapper à la surveillance des Gafams. Il est
donc pour le moins paradoxal de prétendre défendre et promouvoir le
Logiciel Libre et en même temps de faire allégeance aux Gafams en
leur procurant une place d’honneur dans l’utilisation de ces
produits, qui plus est au niveau de l’identification !
3 ) Un code libre peut en cacher un autre !
Quand on trouve une application déclarée « Libre », notre méfiance commence par s’estomper et c’est humain. Quand ensuite on télécharge le code et que l’on fabrique le programme sans avoir besoin d’être connecté à l’Internet, cela signifie que pour le fabriquer on n’utilise que les sources téléchargées et on commence à se sentir tout-à-fait rassuré.
Et c’est là-dessus que tablent certains pirates. Ils proposent du code effectivement Libre, puisqu’ils vous donnent toutes les sources, mais ces sources sont tellement difficiles à comprendre qu’on ne voit pas, sauf si on est un habitué du langage de programmation utilisé, les pièges qu’elles renferment.
A l’École du Logiciel Libre, nous avons donné, en octobre 2024, une série de cours pour expliquer différentes techniques pour cacher du code dans les sources. Les vidéos de ces cours sont disponibles sur le site des ressources de l'E2L.
En conclusion provisoire
Pour le grand public il y a donc deux catégories de Logiciels Libres :
Celui auquel on peut faire confiance les yeux fermés parce que maintenu par une équipe de militants motivés. Même si parmi eux il y a un infiltré, envoyé par les Gafams ou travaillant à son compte, les autres découvriront son manège et sonneront l’alerte. C’est l’exemple de l’affaire du noyau Linux en 2003.
Celui développé par une personne seule, une petite structure inconnue, ou par une société connue importante mais dont le but affiché est de faire des affaires. Dans ce cas le code peut être intéressant, mais encore faut-il prendre le temps de lire les sources et de les analyser, car elle peuvent contenir des pièges. Il faut donc faire partie d’une équipe compétente : d’où l’intérêt d’adhérer à l’École du Logiciel Libre.
Expériences et informations complémentaires
1°) L'E2L a fait un cours le samedi 8 février 2025 pendant lequel nous avons essayé d'installer dans une VM Debian, un serveur Discourse , afin d'évaluer si c'était vraiment du logiciel libre.
Nous nous sommes aperçus que la seule façon de faire était de télécharger une image Docker, donc du binaire sans les sources. Ce n'est donc pas, hélas, du logiciel Libre.
Leur communication étant clairement orientée pour attirer les communautés du Libre, tout porte à croire qu'ils font de l'entrisme, ou qu'ils utilisent la popularité du Libre pour essayer de faire des affaires par tous les moyens, ce qui revient à peu près au même.
2°) Le 10 février 2025, lors de tests avec postmarketOS, nous nous sommes aperçus que cette communauté du Libre n'utilisait plus le site gitlab.com.
Comme ils l'expliquent ici : "la principale raison pour laquelle nous voulons nous éloigner de gitlab.com est que les exigences relatives à l'inscription et à l'utilisation du site ont considérablement changé au cours des dernières années. Alors qu'en 2018, lorsque nous avons migré vers gitlab.com, il n'y avait aucun problème à utiliser le site web et les dépôts git avec TOR et à créer un compte sans fournir de données personnelles significatives, aujourd'hui, les utilisateurs doivent fournir un numéro de téléphone et un numéro de carte de crédit valides ( !) pour créer un compte. De plus, le site web est protégé par cloudflare, ce qui bloque de nombreux proxies et rend parfois le site difficile à utiliser ...".
On dirait que nous ne sommes pas les seuls à avoir des doutes sur le côté "défenseur du Libre" de gitlab.com.
A suivre ...