En publiant le recensement le plus complet jamais réalisé à ce jour des logiciels open source (FOSS), les chercheurs du Laboratory for Innovation Science de l'université de Harvard (LISH) espèrent aider l'industrie à mieux se protéger contre des vulnérabilités très médiatisées comme Heartbleed et Log4shell. Ce dénombrement intervient à un moment où l'industrie IT est confrontée aux risques posés par l'utilisation généralisée de technologies open source dans les applications critiques des entreprises et du secteur public.
La recherche, qui s’est concentrée sur les paquets des librairies d'applications, a agrégé les données de plus d'un demi-million d'observations de librairies FOSS utilisées en 2020 dans des applications de production de milliers d'entreprises. « Les logiciels libres et open source sont devenus un élément essentiel de l'économie moderne. Parmi les dizaines de millions de projets FOSS, beaucoup sont intégrés dans des solutions et des produits que nous utilisons tous les jours. Cependant, il est difficile de comprendre pleinement la santé, la valeur économique et la sécurité de ces logiciels, car ils sont produits de manière décentralisée et distribuée », notent les auteurs du recensement dans leur rapport.
Contenu du rapport
Le recensement est décomposé en huit listes classées. Quatre d'entre elles incluent des numéros de version et quatre sont agnostiques quant à la version. Les paquets qui utilisent le gestionnaire de paquets JavaScript npm par défaut ont été séparés des paquets non-npm. Il contient également des cadres distincts pour les paquets directement appelés par les développeurs et ceux qui sont indirectement appelés en tant que dépendances, de façon à attirer l'attention sur les types de dépendances plus profondes, plus difficiles à observer par les développeurs dans leurs environnements. Ces listes « représentent la meilleure estimation que l’on peut faire des paquets FOSS les plus utilisés par différentes applications, compte tenu des limites de temps et de l’ampleur des données, quoique non exhaustives, que nous avons rassemblées », indique le rapport.
Même si l'évaluation n’essaye pas d'identifier les projets de logiciels libres et open source les plus risqués, le rapport note que « l’évaluation des profils de risque est une tâche distincte, et elle est plus simple à réaliser quand on a identifié le logiciel le plus largement utilisé ». Ce travail demandera un effort intersectoriel et dépendra du profil de risque individuel de l’entreprise utilisatrice du paquet. Pour les entreprises qui ont déjà commencé à établir leurs nomenclatures logicielles, ces listes peuvent servir de base de référence utile pour savoir quels sont les paquets open source les plus courants et les inciter à consacrer des ressources pour garantir la sécurité de ces projets.
Prévenir le prochain Log4j
Les chercheurs espèrent qu'en faisant connaître les paquets open source les plus utilisés, ils pourront contribuer à empêcher le prochain exploit Log4j ou Heartbleed. « Avec un peu de chance, le prochain Log4j se trouve dans notre liste et nous l’identifierons avant qu’il ne provoque de graves problèmes », a déclaré Frank Nagle, auteur du rapport et professeur adjoint à la Harvard Business School. Les auteurs du rapport espèrent qu'en identifiant les « paquets FOSS critiques », ils inciteront les développeurs et les utilisateurs finaux à partager des données, à investir et à coordonner leurs efforts pour sécuriser les principaux projets open source, souvent maintenus par de petits groupes de développeurs bénévoles.
En 2014, suite de la découverte de la faille Heartbleed, la Fondation Linux avait créé la Core Infrastructure Initiative (CII) pour essayer de mieux financer et soutenir les projets critiques du logiciel libre, notamment en payant les mainteneurs, en identifiant les projets critiques et en définissant les meilleures pratiques en matière de sécurité. En 2020, une grande partie de ces efforts ont été regroupés au sein de la nouvelle Open Source Security Foundation (OpenSSF), qui a soutenu ce projet de recherche.
La question de la sécurité des logiciels libres a attiré l'attention des gouvernements du monde entier. La Maison Blanche a récemment organisé des réunions avec des représentants des secteurs public et privé pour en discuter. Les discussions ont porté sur la prévention des failles et des vulnérabilités de sécurité dans le code et les paquets open source, l’amélioration du processus de recherche et de correction des vulnérabilités, et le temps de réponse pour la correction des problèmes. En 2014, la Commission européenne a mis en place sa propre stratégie en matière de logiciels libres, et quelques années plus tard, elle a commencé à parrainer la vérification des logiciels libres en mettant en place des programmes de primes aux bugs, des hackathons et des conférences.
Pistes de travail
Le rapport a également formulé les cinq observations générales suivantes sur l'état de l'utilisation des logiciels libres par les entreprises aujourd'hui, pointant notamment :
- La nécessité d'établir un schéma de dénomination plus standardisé pour les composants logiciels.
- La trop grande complexité associée au versioning des paquets.
- Le fait que la plupart des logiciels libres les plus utilisés sont développés par une poignée de contributeurs.
- L’importance croissante de la sécurité des comptes individuels des développeurs.
- La persistance des logiciels hérités dans l'espace open source.
« Loin de vouloir clore le sujet des projets critiques de logiciels libres et open source, l’ambition de ce recensement est d’amorcer un début de dialogue plus large sur la manière d'identifier les paquets vitaux et de s'assurer qu'ils reçoivent les ressources et le soutien adéquats », conclut le rapport.