70% des applications contiennent des failles open source

Aujourd’hui, 70% des applications utilisées présentent au moins une faille de sécurité résultant de l’utilisation d’une bibliothèque open source.

Selon le rapport annuel de Veracode sur l’état de la sécurité des logiciels, ces bibliothèques open source (des référentiels de code centralisés gratuits qui fournissent des «blocs de construction» d’applications prêts à l’emploi pour les développeurs) sont non seulement omniprésents mais aussi risqués.

L’analyse a examiné 351 000 bibliothèques externes dans 85 000 applications et a constaté que les bibliothèques open source sont extrêmement courantes. Par exemple, la plupart des applications JavaScript contiennent des centaines de bibliothèques open source, certaines ont plus de 1 000 bibliothèques différentes. De plus, la plupart des langages proposent le même ensemble de bibliothèques principales.

“JavaScript et PHP en particulier ont plusieurs bibliothèques de base qui se trouvent dans presque toutes les applications”, selon le rapport.

Ces bibliothèques, comme d’autres logiciels, comportent des bugs. Le problème est que grâce à la réutilisation du code, un seul bug peut affecter des centaines d’applications.

«Présentes dans presque toutes les applications aujourd’hui, les bibliothèques open source permettent aux développeurs de faire les choses plus vite en ajoutant rapidement des fonctionnalités de base», selon Veracode. «En fait, il serait presque impossible d’innover des logiciels sans ces bibliothèques. Cependant, le manque de sensibilisation sur où et comment les bibliothèques open source sont utilisées et leurs facteurs de risque est une pratique problématique. »

Quatre bibliothèques principales représentent la majorité des bugs open source trouvés dans les applications: Swift, .NET, Go et PHP.

Swift a une utilisation spécialisée dans l’écosystème d’Apple et présente la densité de failles la plus élevée, selon Veracode. Cependant, ce langage a également un faible pourcentage global de bibliothèques défectueuses en termes de volume.

.NET quant à lui a le plus faible pourcentage de bibliothèques défectueuses sur les quatre.

Go a un pourcentage élevé de bibliothèques présentant des failles, mais un nombre global assez faible de failles par bibliothèque individuelle. Et PHP a un taux plus élevé de bibliothèques défectueuses que Go.

applications

La firme a également constaté que les scripts intersites (XSS) sont la catégorie de vulnérabilité la plus courante dans les bibliothèques open source, présente dans 30% d’entre elles. Suivi par la dé-sérialisation non sécurisée (23,5%) et le contrôle d’accès rompu (20,3%).

“Nous avons constaté que la dé-sérialisation non sécurisée était une faille relativement rare parmi les applications internes (huitième sur dix)”, selon le rapport. «Avoir un tel classement élevé lorsque l’on regarde les bibliothèques est troublant car cette catégorie de failles peut entraîner l’exécution de code inattendus, ce qui signifie que des parties de bibliothèques que nous n’avons même pas l’intention d’utiliser peuvent être insérées dans le chemin d’exécution de leur hébergement d’applications en utilisant cette faille.

applications

Les données ont également montré que la plupart des bibliothèques défectueuses se retrouvent indirectement dans le code grâce aux interdépendances en cascade. Les développeurs peuvent utiliser une bibliothèque mais à leur insu, la bibliothèque qu’ils utilisent a intégré du code d’une bibliothèque open source entièrement différente pour la soutenir.

Les développeurs d’applications intègrent du code imparfait

«47% des bibliothèques défectueuses dans les applications ont des bugs qui ne sont pas causées directement par les développeurs, mais sont causées par une bibliothèque initiale (42 pour cent sont causées directement, 12 pour cent sont les deux). Cela signifie que les développeurs introduisent beaucoup plus de code, et souvent du code imparfait, qu’ils ne le pensaient.»

La bonne nouvelle est que la correction des failles de sécurité dans ces bibliothèques n’est pas infaisable.

«La plupart des failles introduites par la bibliothèque (près de 75%) dans les applications peuvent être corrigées avec seulement une mise à jour mineure; des mises à niveau majeures de la bibliothèque ne sont généralement pas nécessaires », selon le rapport Veracode. “Ces données suggèrent que ce problème est un problème de découverte et de suivi, et non une remodélisation énorme du code.”

Si cet article vous a plu jetez un œil à notre article précédent.