IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Plus de 75% des vulnérabilités dans les projets open source résident dans des dépendances indirectes
Plutôt que dans les composants directement chargés

Le , par Stéphane le calme

590PARTAGES

14  0 
L'utilisation de logiciels open source est devenue presque omniprésente dans la communauté du développement logiciel. Les écosystèmes de développement sont devenus de plus en plus dépendants des bibliothèques et des packages tiers pour rationaliser le développement. La conscience de l'impact de l'augmentation de la prévalence des logiciels open source sur la sécurité des les organisations d'entreprises semblent également se développer.

De son côté, la communauté open source ne reste pas inactive. En novembre 2019, GitHub (acquis en 2018 par Microsoft) a annoncé le lancement du GitHub Security Lab avec un accès gratuit à son outil de révision de code CodeQL et l'ouverture de sa base de données Advisory au public.

Cependant, la question demeure : cette sensibilisation accrue se traduit-elle par une amélioration de la sécurité et des pratiques liées à l'utilisation de logiciels open source ? Dans le cadre de son rapport annuel sur l'état de la sécurité open source, le spécialiste de l’open source Snyk a tenté d’y répondre afin d'aider la communauté du développement à exploiter l'open source en toute sécurité.

L’univers de l’open source

La tendance à une croissance incroyable de l'utilisation et de la contribution des logiciels open source dans divers écosystèmes de développement de logiciels s'est poursuivie en 2019. Dans le rapport State of the Octoverse, GitHub a signalé que plus de 10 millions de nouveaux utilisateurs ont rejoint GitHub l'année dernière, ce qui porte le nombre total de développeurs sur cette plateforme à plus de 40 millions.

« Nos recherches sur plusieurs écosystèmes et référentiels étaient conformes aux tendances de croissance globales observées dans la communauté open source. En termes d'écosystèmes de développement, nous avons continué de suivre les progrès de cinq des écosystèmes open source les plus courants.

« La croissance des packages open source est principalement due à la popularité et à la croissance continues de l'écosystème JavaScript. À l'inverse, moins de nouveaux packages ont été créés pour Java et Ruby que l'année précédente. Dans l'ensemble, dans ces cinq écosystèmes, le nombre total de colis a considérablement augmenté. En particulier, npm a augmenté de plus de 33 % entre fin 2018 et fin 2019 ».


Les implications du développement open source pour la sécurité

Un facteur de risque clé lorsque les entreprises envisagent la sécurité de l'utilisation de leurs logiciels open source se concentre sur l'idée de maintenir une nomenclature logicielle. Les organisations ont du mal à comprendre quelles bibliothèques et quels packages open source sont inclus dans le logiciel qu'elles produisent. Ce défi vient de la difficulté à comprendre non seulement les dépendances open source directes définies dans leur code, mais aussi les dépendances indirectes qui en résultent.

« Dans notre enquête, nous avons interrogé les participants sur leur capacité à suivre les dépendances open source dans leur logiciel. Plus de 60 % ont déclaré ne pas avoir une bonne vue sur les arbres de dépendance complets de leur logiciel. En conséquence, il serait extrêmement difficile d'identifier si une vulnérabilité récemment découverte dans un package open source affecte ou non leur code ».


Lorsque vous considérez ces informations à la lumière de la croissance et de l'utilisation répandue d'écosystèmes comme Node.js, le risque que le développement open source pose aux organisations devient bien trop réel. Snyk déclare analyser chaque année les vulnérabilités qu’elle a identifiées dans des centaines de milliers de projets : « nous continuons de constater que la majorité des vulnérabilités Node.js, Java et Ruby identifiées sont introduites via des dépendances indirectes ».

Snyk a déclaré que 86% des bogues de sécurité JavaScript, 81 % des bogues Ruby et 74 % des bogues Java affectaient les bibliothèques qui étaient des dépendances des composants principaux chargés dans un projet.

Snyk fait valoir que les entreprises qui analysent leurs dépendances principales à la recherche de problèmes de sécurité sans explorer leur arbre de dépendance complet à plusieurs niveaux vers le bas finiraient par avoir des produits vulnérables aux bogues imprévus.

« Ces dernières années, nous avons vu qu'en termes de vulnérabilités totales identifiées dans les packages open source à travers les écosystèmes, Node.js et Java ont...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de philouZ
Membre chevronné https://www.developpez.com
Le 03/07/2020 à 9:11
...ce code aurait souvent pu être récrit pour vraiment pas grand chose.
Encore faut-il avoir les compétences pour le faire. Une grande partie des développeurs aujourd'hui sont formés à utiliser des frameworks sans être capable de développer une fonctionnalité par méconnaissance du langage et/ou des méthodes de développement.
3  0 
Avatar de emixam16
Membre chevronné https://www.developpez.com
Le 02/07/2020 à 16:42
Les dépendances c'est souvement le problème avec l'opensource, mais pas que!

Souvent les projets ont un nombre délirant de dépendances pour utiliser une toute petite fonctionnalité qui constitue 0.01% du code de ladite dépendance et ce code aurait souvent pu être récrit pour vraiment pas grand chose.

Du coup on se retrouve avec des projets pas facilement maintenables longs à compiler, avec une surface d'attaque immense.

Bref les dépendances c'est pratique mais pas automatique!
2  0