Les logiciels libres sont aujourd'hui vitaux pour tout le domaine de l'informatique. Autant dire... pour tous les domaines. La question de leur maintien est progressivement devenue un sujet d'inquiétude, à tel point que le Congrès américain a présenté un projet de loi en 2023 : le 'Securing Open Source Software Act'. Le trajet de l'Open Source, d'une imprimante au Congrès américain en passant par la compromission de la bibliothèque XZ, retour sur une histoire fascinante.
Dans ce 'Securing Open Source Software Act', le ton est donné dès les premières lignes : « Les logiciels libres favorisent le développement technologique et font partie intégrante de la cybersécurité globale » ; « Un écosystème de logiciels libres sûrs, sains, dynamiques et résilients est essentiel pour garantir la sécurité nationale et la vitalité économique des États-Unis » ; « Les logiciels libres font partie des fondements de l'infrastructure numérique qui favorise un internet libre et ouvert ». « Sans ces logiciels libres, Internet tel qu’on le connait aujourd’hui n’existerait pas, et n’aurait d’ailleurs jamais existé… », résume Yvan Vanhullebus, Technical Leader chez Stormshield. Mais mélanger les termes de logiciels libres et d’Open Source peut irriter plus d’un…
Sans ces logiciels libres, Internet tel qu’on le connait aujourd’hui n’existerait pas, et n’aurait d’ailleurs jamais existé…
Yvan Vanhullebus, Technical Leader Stormshield
Les origines de l’Open Source
À l’origine, c’est le terme de free software qui est utilisé. Un concept né aux États-Unis dans les années 1980 sous l'impulsion de Richard Stallman. Alors qu’il souhaitait simplement pouvoir imprimer un document, ce fervent défenseur de la culture hacker reste dans l’histoire comme celui qui s’oppose alors à la privatisation des logiciels et à l’émergence d’une législation toujours plus restrictive pour les utilisateurs. Le Computer Software Copyright Act sera par exemple voté en 1980.
C'est dans ce contexte que Richard Stallman fonde en 1985 la Free Software Foundation, organisation à but non lucratif qui pose les quatre fondements du logiciel libre : la liberté d'exécuter le programme pour tous les usages ; la liberté d'étudier le fonctionnement d'un programme et de l'adapter à ses besoins ; la liberté de redistribuer des copies ; et la liberté d'améliorer le programme et de publier ces améliorations pour en faire profiter toute la communauté. Face aux possibles interprétations du terme « free », le même Richard Stallman y répond dans sa biographie autorisée : « Don’t think free as in free beer; think free as in free speech ». Il est alors bien question de liberté, et non de gratuité. Mais cette approche éthique du concept est loin de faire l'unanimité au sein de la communauté : pour mettre fin à cette ambiguïté linguistique, la scientifique américaine Christine Peterson, alors directrice exécutive du Foresight Institute, invente le terme d’Open Source en 1998. Une évolution lexicale nécessaire, qu’elle détaille dans un long récit passionnant. Aux côtés de noms comme Eric Raymond et Bruce Perens, elle participe alors à la création de l’Open Source Initiative (OSI) la même année. La terminologie originelle de free software est alors laissée de côté, au profit de celle d'Open Source software.
Don’t think free as in free beer; think free as in free speech.
Richard Stallman, programmeur et militant du logiciel libre
En France, il est possible de retrouver plusieurs termes traduits qui s’opposent au logiciel propriétaire. Si le « logiciel libre de droit » n’a pas d’essence d’un point de vue juridique, il faut privilégier les termes de « logiciel libre » et de « logiciel Open Source ». Question définition, le logiciel libre renvoie à la possibilité de l’utiliser, de l’étudier, de le modifier ou encore de le dupliquer tandis que le terme logiciel Open Source renvoie à une optique de développement en réutilisant toute ou partie du code source. Les projets Open Source sont généralement supervisés par un ou plusieurs mainteneurs, mais encouragent les contributions externes comme l'ajout de nouvelles fonctionnalités, la remontée de bugs (et leur correction) ou l’amélioration de la sécurité. Dit autrement, l’Open Source est un mouvement de développement logiciel collaboratif.
L'Open Source : une évolution vers la collaboration communautaire
Afin de garantir que les logiciels restent ouverts et libres, il était important de définir un cadre légal. Plusieurs licences d’utilisation vont ainsi voir le jour. La plus connue est la GNU GPL (General Public License), dont la première version a été créée en 1989 sous l’impulsion des quatre fondements imaginés par Richard Stallman dans le but de fixer les conditions légales de distribution de logiciels libres du projet GNU. D'autres licences suivront comme Apache 2.0, MIT, BSD ou encore Creative Common, intégrant des niveaux de permission et de réutilisation du code qui leur sont propres.
C’est le développement de ces licences qui permettra l’émergence de nombreux projets comme le lancement du noyau Linux en 1991 ou encore la mise sous licence Open Source de Netscape Navigator en 1998 (qui a servi de base pour créer la suite Mozilla). En 2001, Wikipédia deviendra l’un des projets emblématiques du mouvement Open Source, avec pour objectif d’utiliser l’intelligence collective pour créer la plus grande source de connaissance d’internet. Par la suite, le lancement d'Android par Google en 2008 et la création de GitHub la même année témoignent de l'intégration croissante de l'Open Source dans les technologies grand public et les infrastructures de développement logiciel. Le point d’orgue de cette adoption, au moins de façade, arrivera en 2014 par le discours de Satya Nadella, PDG Microsoft, au travers de la déclaration « Microsoft aime Linux ». Dans la communauté Open Source, nombreux se rappellent toutefois des propos de son prédécesseur Steve Ballmer lorsqu’il avait qualifié ce même Linux de « cancer qui se fixe, au sens de la propriété intellectuelle, à tout ce qu’il touche ».
D’un point de vue business, l’Open Source est un modèle économique particulier. Car si un projet est Open Source, il est possible d’en créer des variantes qui échappent au contrôle de l’entreprise ; le modèle économique tournant essentiellement autour des services ou encore de la maintenance (tout sauf des licences). L’intérêt financier des entreprises est alors plutôt d’adopter des briques ou des applications en Open Source, à condition de bien connaître les contraintes de chaque licence comme le souligne David Gueluy, R&D Manager et Technical Advisor chez Stormshield : « la licence GPL est connue pour exiger la redistribution des modifications apportées au code source. Cette obligation a conduit à des situations juridiques complexes pour certains éditeurs, confrontés à des demandes de publication de l’ensemble de leur code source – même si c’est seulement un tout petit bout de code GPL qui a été intégré dans un très gros programme… ». À l'opposé, des licences comme BSD, MIT ou Apache offrent plus de flexibilité, permettant aux entreprises de modifier et d'utiliser le code sans obligation de partager les changements. Un attrait des entreprises pour l’utilisation et le développement de projets Open Source qui se confirme dans les statistiques de Microsoft où 60% des images hébergées sur le cloud Azure seraient basés sur le noyau Linux ou sur des logiciels libres. « Ça me fait toujours sourire de lire régulièrement que l’on fait de plus en plus appel à de l’Open Source ou encore que l’Open Source prend une place prépondérante à tel ou tel endroit, s’amuse Yvan Vanhullebus. Est-ce que c’est vraiment une tendance du moment ou bien est-ce que c’est simplement que l’on s’en aperçoit seulement maintenant ? » Car l’adoption de l’Open Source est un phénomène qui embrase tous les secteurs, jusque dans la conception et développement des produits de cybersécurité.
Ça me fait toujours sourire de lire régulièrement que l’on fait de plus en plus appel à de l’Open Source ou encore que l’Open Source prend une place prépondérante. Est-ce que c’est vraiment une tendance du moment ou bien est-ce que c’est simplement que l’on s’en aperçoit seulement maintenant ?
Yvan Vanhullebus, Technical Leader Stormshield
L'importance de l'ouverture sécurisée des écosystèmes
Comme tout, l’Open Source possède ses partisans et ses détracteurs. Chez les détracteurs de l’Open Source, plusieurs sujets font débat. Le premier débat, qui remonte maintenant à une trentaine d’années, tenait à la question de savoir si l’approche-même de l’Open Source pouvait… fonctionner. « Dès les débuts et les premiers projets, on a su répondre à cette question et trancher ce débat assez vite, raconte Yvan Vanhullebus. Ce qui a amené au deuxième débat dans la foulée : celui qui voulait que l’utilisation des outils Open Source ne soit réservée qu’à des geeks chevelus à lunettes… » Un deuxième débat qui persiste encore en fonction des milieux et des secteurs, mais qui s’est nettement calmé avec le rapprochement entre Open Source et UX. Enfin, le troisième débat tient plus spécifiquement à l’univers de la cyber : est-ce qu’un produit de cybersécurité qui fait appel à des briques Open Source peut être fiable ? En ligne de mire, la crainte qu'un cyber-criminel découvre une faille et la garde dans l'intention de l'exploiter, à l’image des vulnérabilités comme Heartbleed du projet OpenSSL découverte en 2012 ou Log4J, découverte en 2021. Un autre argument avancé par les détracteurs de l’Open Source renvoie à la possibilité pour des acteurs malveillants de contribuer à un projet Open Source, en introduisant des faiblesses qui pourraient s’apparenter à de simples bugs... Dans un rapport de 2020, GitHub avançait que 17% des bugs logiciels présents sur la plateforme avaient été placés intentionnellement dans le code par des acteurs malveillants. La compromission de la bibliothèque XZ, brique de base utilisée dans l’environnement Linux, vient participer à ces statistiques quelques années plus tard. Fin mars 2024, un employé de Microsoft lance une alerte à la communauté Open Source après être tombé sur une anomalie dans des packages XZ. Référencée depuis sous la CVE-2024-3094, cette attaque par étapes mélange des techniques d'ingénierie sociale et une préparation sur le long terme (entre plusieurs mois et plusieurs années), pour insérer progressivement et discrètement une backdoor. Une Supply Chain Attack potentielle d’envergure, déjouée juste à temps…
Mais l'Open Source possède aussi (et surtout) ses partisans. Ils expliquent, eux, que l’Open Source améliore la sécurité grâce à sa transparence et à la collaboration communautaire. La raison est que l'accès au code source permet de détecter plus aisément les vulnérabilités et ainsi de les corriger au plus vite, comparativement à une approche "boîte noire" où la visibilité est limitée. David Gueluy abonde en ce sens : « ce qui est remarquable dans l’aspect de la sécurité des projets Open Source, c'est cette idée que vous pouvez vérifier par vous-même ; qu'il n'y a rien d'anormal dans le code, pas de porte dérobée, ou du moins, si vous trouvez quelque chose, il est possible de le corriger soi-même ».
Ce qui est remarquable dans l’aspect de la sécurité des projets Open Source, c'est cette idée que vous pouvez vérifier par vous-même ; qu'il n'y a rien d'anormal dans le code, pas de porte dérobée, ou du moins, si vous trouvez quelque chose, il est possible de le corriger soi-même.
David Gueluy, R&D Manager et Technical Advisor chez Stormshield
Et c'est bien le cas avec Heartbleed, Log4J et la compromission XZ : la réactivité et la collaboration de la communauté Open Source ont été déterminantes pour les résoudre. À noter que malgré le bruit fait autour de la compromission XZ, il est important de préciser qu’il ne s'agit ni d'un phénomène nouveau, ni spécifique au monde de l'Open Source. Fin 2020, le malware Sunburst avait été introduit dans la chaîne de développement du logiciel Orion de l’entreprise SolarWinds. Au total, plus de 18 000 entreprises et institutions dans le monde auraient été concernées par cette attaque. Un épisode qui illustre bien que même les solutions qui ne sont pas Open Source restent sensibles aux vulnérabilités.
Cette approche de l'Open Source est également soutenue par des entités publiques telles que France Num et l'ANSSI. L’agence française est impliquée dans de nombreux projets Open Source, que ce soit par les contributions de ses agents ou la publication de plusieurs outils. Cet investissement « répond à un réel enjeu de sécurité et de souveraineté, pour protéger les biens communs et investir dans des technologies et des solutions d’avenir ». Et contribue ainsi activement au développement de logiciels libres comme Linux, la distribution Debian ou encore le logiciel Suricata. Car les projets Open Source dans la cybersécurité ne manquent pas. David Gueluy mentionne Vault, « une des solutions de HashiCorp, société fondée sur les principes-mêmes de l’Open Source, qui permet le stockage sécurisé de secrets », KeePass (gestionnaire de mots de passe), TheHive (Plateforme de réponse à incidents), Metasploit Framework (outil de test d’intrusion) ou encore MISP (plateforme de partage de renseignements sur la menace cyber), qui montrent l'impact de l'Open Source dans le développement de solutions de cybersécurité robustes. OpenSSL, classé dans le top 10 par l’Open Source Security Index, est par exemple l'un des projets majeurs pour la sécurisation des communications, utilisé aussi bien dans des produits commerciaux que dans des solutions Open Source. « L'intérêt d'OpenSSL pour les entreprises est d'avoir accès à une librairie crypto déjà éprouvée et largement validée par la communauté, elles n'ont donc pas besoin de repartir de zéro », explique David Gueluy. Et c’est bien là tout le cœur du sujet : créer un nouveau produit qui ne serait basé sur aucune technologie Open Source serait illusoire, hormis produit de niche, tant cela nécessiterait des investissements conséquents pour (re)développer des briques déjà disponibles qui ont mis des années à se construire. Et c'est après avoir intégré cet état de fait qu'il est possible de mettre en place un cercle vertueux, en s’assurant d’auditer les versions des briques Open Source pour la découverte de potentielles vulnérabilités, en publiant rapidement des correctifs lors de la découverte de ces potentielles vulnérabilités, et en contribuant aux projets (correctifs, fonctionnalités, financement...).
Ainsi l'Open Source, avec son approche de transparence et de collaboration, s'avère être un moteur pour l'innovation dans le domaine de la cybersécurité. Attention toutefois au nouveau défi réglementaire que pose la loi européenne sur la cyber-résilience (Cyber Resilience Act, CRA) qui doit entrer en vigueur en 2024. Une règlementation qui vise à obliger les développeurs à un engagement de responsabilité en cas de défaut de sécurité dans le code – nécessaire pour lutter contre l’approche en boîte noire mais qui ne satisfait pas encore complètement la communauté… À suivre.