L’utilisation croissante de packages open source dans le développement de logiciels modernes s’est accompagnée d’une menace accrue d’attaques de la chaîne d’approvisionnement.

Les attaquants peuvent choisir parmi plusieurs méthodes pour infecter les packages open source et distribuer du code malveillant, empoisonnant efficacement le puits qui alimente des millions d’autres programmes.

UN nouvelle étude par des chercheurs de l’Université de Caroline du Nord et Microsoft propose une nouvelle approche pour sécuriser les chaînes d’approvisionnement logicielles, en utilisant des méthodes empiriques basées sur des données pour prédire quels packages open source sont les plus susceptibles de devenir la cible d’attaques.

L’étude, menée sur 1,63 million de packages du référentiel NPM, révèle six indicateurs de faiblesse dans la chaîne d’approvisionnement des logiciels open source.

Agir sur ces résultats peut aider les mainteneurs et les utilisateurs de packages à prendre de meilleures décisions en matière de sécurité et donc à protéger leur logiciel contre une attaque potentielle de la chaîne d’approvisionnement.

Maillons faibles de la chaîne d’approvisionnement du NMP

« Les chercheurs en sécurité des universités et de l’industrie enquêtent activement sur les attaques dans les écosystèmes pour proposer des solutions ; ces approches semblent être basées sur des cas spécifiques d’attaques malveillantes (par exemple, le typosquattage, la confusion des dépendances) », a déclaré Nusrat Zahan, doctorant au NCSU et auteur principal de l’article. La gorgée quotidienne.

« Par conséquent, ils sont particulièrement efficaces pour empêcher la distribution de code malveillant. Mais les attaques récentes montrent que des stratégies d’exploitation prêtes à l’emploi apparaîtront encore et encore.

Zahan a averti : « Toute solution ad hoc ne suffit pas pour empêcher une attaque dont nous n’avons pas encore été témoins. »

Dans leur étude, les chercheurs ont trouvé six indicateurs clés indiquant qu’un package NPM peut être compromis par des acteurs malveillants :

  1. Il y avait 2 818 mainteneurs dont les domaines avaient expiré. Un attaquant peut acheter un domaine expiré et l’utiliser pour détourner les comptes des responsables à moins qu’il ne soit protégé par une authentification à deux facteurs (2FA).
  2. Environ 2 % (33 000) des packages incluaient des scripts d’installation. Installer des scripts s’exécute automatiquement avant, pendant ou après l’installation d’un package. S’ils sont compromis, ils peuvent permettre aux attaquants d’effectuer des activités malveillantes sur les appareils hôtes, telles que le transfert de données utilisateur, le téléchargement de charges utiles malveillantes, l’exécution de reverse shells ou la suppression de fichiers et de répertoires.
  3. Environ 59 % des colis étaient non entretenu pendant deux ans. De plus, 44 % des mainteneurs sont restés inactifs pendant deux ans. Les paquets non maintenus ont plus de chances d’être compromis sans être détectés. Inactif les mainteneurs peuvent être ciblés par des attaques de piratage de compte sans s’en apercevoir.
  4. Un petit pourcentage des colis avaient trop de mainteneursce qui augmente les risques qu’au moins l’un des comptes des responsables soit compromis.
  5. Certains colis avaient trop de contributeurs, ce qui rendait difficile pour les responsables de garder un œil sur tous les changements. Un attaquant peut utiliser l’ingénierie sociale pour devenir considéré comme un contributeur de confiance à ces packages avant de se faufiler dans du code malveillant.
  6. Les 1 % les plus riches les mainteneurs étaient surchargés et possédait en moyenne 180 colis. Les attaquants sont davantage incités à cibler ces mainteneurs car, premièrement, ils sont plus susceptibles d’ignorer les modifications apportées à des packages particuliers, et deuxièmement, s’ils sont compromis, leurs comptes peuvent donner accès à de nombreux packages.

Prochaines étapes

« Si nous pensons à différentes attaques de la chaîne d’approvisionnement, nous verrons souvent des attaquants utiliser de nouvelles techniques dont nous n’avons pas encore été témoins pour proposer une solution », a déclaré Zahan.

« Notre étude vise à motiver les praticiens à adopter les meilleures pratiques de sécurité au lieu d’attendre qu’une attaque se produise. »

Les chercheurs ont corroboré leurs conclusions grâce à une enquête auprès de centaines de mainteneurs de packages NPM. La plupart des participants étaient d’accord avec la gravité des trois premiers indicateurs et souhaitaient être informés des problèmes potentiels dans ces domaines.

Il pourrait être possible pour les mainteneurs du référentiel NPM de calculer et d’afficher un modèle de risque basé sur la notation des indicateurs de problème potentiel qu’ils identifient, suggèrent les chercheurs.

Un tel modèle permettrait aux gestionnaires de packages d’évaluer la sécurité de leurs packages et de traiter les zones de faiblesse potentielle. Cela permettra également aux utilisateurs de packages de prendre des décisions et des comparaisons plus éclairées et basées sur des données avant d’incorporer de nouveaux packages dans leurs pipelines de développement.

« Veuillez penser à la sécurité des packages avant de sélectionner un package », a conclu Zahan. « N’utilisez pas un package simplement parce que d’autres personnes utilisent le même package. Nos signaux de maillons faibles proposés ainsi que les projets OpenSSF Metrics, Scorecard et Best Practices Badge peuvent être un bon début pour mesurer le risque lié aux colis dans la chaîne d’approvisionnement.