C’est un problème récurrent : les développeurs en entreprise font de plus en plus souvent appel à des bibliothèques open source pour créer les applications des entreprises. Mais ils ne font presque jamais l’effort d’actualiser ces bibliothèques pour intégrer leurs patchs de sécurité. Un risque sous estimé d’autant que les entreprises n’ont souvent aucun outil de visibilité sur les bibliothèques qu’elles utilisent.

En octobre dernier, Veracode publiait le premier volet de son rapport annuel SoSS (State of Software Security) sur la sécurité des applications développées au sein des entreprises. La plateforme d’aide à la réduction des failles de sécurité durant les phases de développement vient de publier le second volet de son étude qui se focalise plus particulièrement sur les bibliothèques en open source utilisées par les développeurs en entreprise pour produire leurs applications métiers. L’étude Veracode « State of Software Security (SoSS) v11 : Open Source Edition » s’appuie sur l’analyse de 13 millions de scans de plus de 86 000 dépôts contenant plus de 301 000 bibliothèques uniques. L’éditeur a également interrogé près de 2 000 développeurs pour comprendre comment ils utilisent les logiciels tiers.

Et le moins que l’on puisse dire, c’est que la situation ne s’arrange pas malgré les alertes sur ce thème depuis quelques années. Selon Veracode, 79% des bibliothèques utilisées dans les logiciels ne sont jamais mises à jour !

Alors, bien sûr, les développeurs ont toujours peur de casser la compatibilité avec l’existant en mettant à jour les bibliothèques. De quoi freiner les velléités d’adopter les updates.  Mais pour Veracode, c’est un faux prétexte. Car, selon l’éditeur, plus de deux tiers des corrections sont mineures et ne perturbent pas la fonctionnalité des applications logicielles, même les plus complexes.

Le sujet mérite que l’on s’y penche sérieusement. D’abord parce que s’il est un domaine où l’open source est omniprésent dans les entreprises, c’est bien dans le développement : bibliothèques, frameworks, outils d’automatisation les plus populaires auprès des développeurs en entreprise proviennent essentiellement de l’univers open source.
Dès lors, le premier volet du rapport Veracode dévoilait que 3 applications sur 10 avaient davantage de failles dans leur partie open source que dans leur partie écrite « maison ».

Ensuite parce que les bibliothèques open source évoluent constamment corrigeant des vulnérabilités et en créant d’autres. Pour Chris Eng, directeur de la recherche chez Veracode, « la sécurité d’une bibliothèque peut changer rapidement, il est donc crucial de garder un inventaire à jour de ce qui se trouve dans votre application. Nous avons constaté qu’une fois que les développeurs ont choisi une bibliothèque, ils la mettent rarement à jour. Les fournisseurs étant soumis à un examen de plus en plus minutieux de la sécurité de leur chaîne d’approvisionnement, il n’est tout simplement pas possible d’adopter une vision du type « mettez-le en place et oubliez-le ». Il est essentiel que les développeurs maintiennent ces composants à jour et répondent rapidement aux nouvelles vulnérabilités dès qu’elles sont découvertes. »

Enfin, la nature même des bibliothèques open source est très dynamique et fluctuante. La popularité et la vulnérabilité des bibliothèques varient significativement d’une année à l’autre. La théorie selon laquelle il vaut mieux utiliser des bibliothèques moins populaires pour limiter le risque d’attaques ne tient pas. Pas plus que celle de faire confiance à une bibliothèque plutôt qu’une autre parce que moins de failles ont été détectées cette année-là. Par exemple, quatre des cinq bibliothèques les plus populaires en Ruby en 2019 n’étaient plus dans le top 10 en 2020, tandis que certaines des bibliothèques les plus vulnérables en Go en 2019 sont devenues moins vulnérables en 2020, et vice versa. Le monde open source est généralement assez véloce à patcher les failles découvertes. L’important est donc de s’assurer que les mises à jour de toutes les bibliothèques sont bien implémentées.

Toutefois, et même si forcément prêche un peu ici pour sa paroisse, ce manque de rigueur dans les mises à jour des bibliothèques utilisées par les applications d’entreprise est aussi en partie lié au manque d’information et de visibilité sur les évolutions des bibliothèques dont souffrent les développeurs.
Selon l’étude, les développeurs qui manquent d’information mettent plus de 7 mois pour corriger ne serait-ce que 50% des vulnérabilités présentent dans leurs applications et provenant des bibliothèques utilisées. En revanche, ceux qui sont dotés d’outils leur donnant une meilleure visibilité sur les bibliothèques et leurs évolutions, mettent en moyenne 3 semaines pour corriger 50% des failles.

 

Ces chiffres ne doivent pas masquer une réalité plus noire encore. En moyenne, 50% des bibliothèques utilisées en entreprise pour les développements prendront plus de 21 mois à être mises à jour. Et 50% des bibliothèques connues pour être vulnérables mettront 414 jours avant d’être mises à jour dans l’entreprise !

L’étude Veracode rappelle à qui veut bien l’entendre qu’open source ou pas, les bibliothèques et outils tiers font partie de votre « supply chain » logicielle et que celle-ci peut vous mettre (et vos applications) en danger. Plus encore si vous ne mettez jamais à jour des librairies qui de surcroit sont souvent bien maîtrisées des cyberattaquants.