
Selon le rapport, environ 80 % du code d’application actuel est basé sur des packages open source. En d’autres termes, les logiciels open source sont l’épine dorsale des applications modernes, mais c’est aussi le maillon le plus faible de la chaîne d’approvisionnement des logiciels.
Étant donné que le logiciel open source est fourni sans garantie, tous les risques sont entièrement à la charge de l’utilisateur. Par conséquent, le rapport souligne que la sélection, la sécurité et la maintenance des dépendances open source sont essentielles pour sécuriser la chaîne d’approvisionnement des logiciels.
Le rapport d’Endor Labs a mis en évidence tous les problèmes opérationnels et de sécurité liés aux composants open source qui pourraient entraîner des systèmes compromis, des fuites de données, des violations de conformité et une disponibilité réduite. Vingt experts du secteur y ont participé, dont des CISO de Hashcorp, Adobe, Palo Alto Networks et Discord.
“Les vulnérabilités connues restent le plus grand risque”
Selon le rapport, les “vulnérabilités connues” sont le principal facteur de risque des logiciels open source. Ce risque survient lorsqu’une version de composant contient du code vulnérable et est souvent saisie via une erreur du développeur. Les acteurs de la menace exploitant des vulnérabilités connues pourraient compromettre la confidentialité, l’intégrité et la disponibilité des systèmes ou des données, selon le rapport.
CVE-2021-44228 d’Apache Struts, qui a causé la violation de données d’Equifax, et CVE-2021-44228 d’Apache Log4j, également connu sous le nom de Log4Shell, en sont d’excellents exemples. Pour prévenir les vulnérabilités connues, les logiciels open source doivent être régulièrement analysés et les vulnérabilités doivent être classées par ordre de priorité afin d’optimiser l’allocation des ressources, recommande le rapport.
La « corruption du paquet juridique » a été citée comme le deuxième facteur de risque pour les logiciels open source. Un attaquant peut injecter du code malveillant dans un composant en compromettant certaines ressources d’un projet légitime existant ou d’une infrastructure de déploiement. Cela se fait en détournant des comptes légitimes de chefs de projet ou en exploitant des vulnérabilités dans des référentiels de packages. La cyberattaque de SolarWinds était le résultat de paquets légitimes compromis.
Le troisième facteur de risque des logiciels open source est la création de composants qui ressemblent à des composants open source ou système légitimes avec des noms similaires (typosquatting), prétendre être des auteurs de confiance (brandjacking) ou créer des noms communs dans d’autres langues ou écosystèmes. est une « attaque par confusion de nom » utilisant un modèle de dénomination.
Pour éviter ce risque, indique le rapport, il est nécessaire de vérifier les caractéristiques du code avant et après l’installation, ainsi que les caractéristiques du projet telles que le référentiel de code source, le compte du responsable, la fréquence de publication et le nombre d’utilisateurs abonnés. Un excellent exemple est l’attaque Colorama, qui a tenté de cibler le package Python légitime Colorama avec une attaque de typosquattage qui a redirigé les transferts de bitcoins vers le portefeuille de l’attaquant.
Le rapport d’Endor Labs a ensuite cité des problèmes d’utilisation, et non des problèmes dans le logiciel open source lui-même. Et le plus grand risque lié à l’exploitation d’un logiciel open source est lorsque le logiciel n’est pas maintenu ou qu’un composant ou une version n’est plus activement développé et que les correctifs pour les fonctionnalités et les bogues de sécurité ne sont pas disponibles. Cela augmente le travail et allonge le temps de résolution car les développeurs en aval doivent développer des correctifs. En attendant, le système reste exposé.
Les «anciens logiciels» constituent un autre risque d’exploitation des logiciels open source. Un projet qui utilise une version obsolète d’un composant lorsqu’une version plus récente existe. Si la version du composant que vous utilisez est inférieure à la dernière version, il peut être difficile de mettre à jour en temps opportun en cas d’urgence. Les versions plus anciennes peuvent ne pas recevoir le même niveau de sécurité que les versions plus récentes.
“Si la nouvelle version est syntaxiquement ou sémantiquement incompatible avec la version utilisée, les développeurs d’applications devront peut-être effectuer des mises à jour et des migrations importantes pour résoudre les incompatibilités”, note le rapport.
Un troisième risque opérationnel des logiciels open source est les dépendances non suivies. Ce problème se produit lorsque le développeur du projet ignore totalement les dépendances des composants. Cela est dû au fait que le composant n’a pas été inclus dans la nomenclature logicielle (BOM) du composant en amont, que l’outil d’analyse des composants logiciels (SCA) n’a pas réussi à détecter le composant ou qu’un gestionnaire de packages n’a pas été utilisé pour définir les dépendances. Les développeurs doivent examiner et évaluer les outils SCA capables de générer des nomenclatures précises, recommande le rapport.
Pendant ce temps, les risques associés aux logiciels open source continuent d’augmenter. Selon le fournisseur de sécurité des applications Synopsys, au moins une vulnérabilité open source connue a été trouvée dans 84 % des bases de code commerciales et propriétaires étudiées par ses chercheurs. De plus, 48 % des bases de code analysées par les chercheurs de Synopsis contenaient des vulnérabilités à haut risque.