Par Liam Tung | Modifié le vendredi 13 mars 2020
Sécurité : Les efforts déployés pour améliorer la sécurité des logiciels open source ont permis de découvrir 6 100 vulnérabilités l’année dernière, soit dix fois plus qu’il y a dix ans.
L’adoption accrue des logiciels open source et les efforts plus ciblés pour trouver les bugs dangereux ont eu pour conséquence l’augmentation du nombre de vulnérabilités signalées, passant de 4 100 l’année dernière à 6 100 aujourd’hui.
Les bugs ont été recensés par la société de sécurité WhiteSource, dont le rapport montre que les vulnérabilités de sécurité des logiciels open source ont considérablement augmenté depuis 2009, où moins de 1 000 bugs avaient été signalés à l’époque.
Un tournant majeur dans la sécurité des logiciels libres s’est produit en 2014, lorsque Google a révélé le bug OpenSSL Heartbleed, très répandu. Cet événement a poussé l’industrie technologique à agir pour des projets open source mal financés qui sont essentiels à l’Internet mais qui manquent de ressources pour trouver et corriger les bugs.
L’incident a donné naissance à la Linux Foundation’s Core Infrastructure Initiative - CII, qui est soutenue par Amazon, Google, IBM, Intel, Microsoft, Cisco et d’autres. Selon les chiffres de WhiteSource, en 2015 et 2016, le nombre de bugs de sécurité n’a pas dépassé 1 500 par an, mais en 2017 et 2018, le nombre a augmenté jusqu’à plus de 4 000 par an.
Une majorité des vulnérabilités sont déjà connues
Une grande partie des bugs nouvellement découverts provient des outils de brouillage open source de Google, tels que OSS-Fuzz, qui, en 2018, avait permis de trouver 9 000 failles en deux ans. En janvier 2020, il avait aidé à trouver 16 000 bugs dans 250 projets open source.
WhiteSource a constaté que 85 % des vulnérabilités des logiciels open source sont divulguées et ont déjà une correction disponible. Cependant, elle note que certains utilisateurs ne sont pas au courant de ces corrections car seulement 84 % des bugs connus des sources ouvertes sont enregistrés dans la base de données nationale sur les vulnérabilités.
« Les informations sur les vulnérabilités ne sont pas publiées dans un seul endroit centralisé, mais plutôt dispersées dans des centaines de ressources, et parfois mal indexées – ce qui rend souvent la recherche de données spécifiques difficile », note-t-elle.
GitHub en soutien
L’année dernière, WhiteSource a apporté sa base de données sur les vulnérabilités à GitHub pour soutenir son service d’alertes de sécurité. GitHub analyse les dépendances des projets pour détecter les vulnérabilités des projets écrits en PHP, Java, Python, .NET, JavaScript et Ruby. Il a aidé les développeurs à trouver et à corriger des millions de failles connues dans les dépendances.
L’année dernière, le site de partage de code de Microsoft, qui peut publier ses propres CVE, a également lancé un programme appelé Security Lab pour aider les développeurs à trouver et à corriger les bugs.
Bien qu’il salue les efforts de GitHub, WhiteSource souligne que les développeurs pourraient être inondés par le volume plus important de bugs trouvés. « Notre préoccupation est que, bien que ces outils aident à signaler les problèmes de vulnérabilité de manière appropriée, ils ne feront probablement qu’aggraver le problème avec les développeurs de logiciels qui ont déjà du mal à suivre le rythme accru », note WhiteSource.
Des bugs plus nombreux en PHP qu’en Python
WhiteSource a également examiné la part des vulnérabilités trouvées dans les principaux langages de programmation. La plus grande part de code vulnérable a été écrite en C avec une part de 30 %, ce qui représente une baisse par rapport aux 47 % d’il y a dix ans. La société note que le pourcentage élevé de C est probablement dû au fait q’il y a beaucoup de code écrit dedans.
En revanche, le code écrit en PHP est responsable de 27 % des bugs de sécurité, contre 15 % il y a dix ans, bien que le PHP soit de moins en moins populaire auprès des développeurs. Le code Python n’était pour sa part responsable que de 5 % des bugs, contre 6 % il y a 10 ans.
Les types de failles de sécurité les plus courantes en 2019 étaient les scripts intersites, la validation incorrecte des entrées, les erreurs de tampon, les lectures hors limites et l’exposition des informations.
Les bugs de script interdits étaient le type de vulnérabilité le plus courant pour Java, JavaScript, PHP, Python et Ruby. Pour le C, un langage peu sûr pour la mémoire, il s’agissait d’une « restriction inappropriée des opérations dans les limites d’une mémoire tampon ».
Source : ZDNet.com