Les attaquants trouvent constamment des moyens de reprendre des comptes et de pousser les packages malveillants au registre NPM, le référentiel en ligne (exploité par GitHub) pour les packages JavaScript et Node.js.
Mais en ce mois seulement, nous avons assisté au compromis de packages de code populaires après une campagne de phishing réussie, et à l’attaque de Shai-Hulud, qui impliquait l’utilisation d’une charge utile de type ver qui se reproduise qui a finalement compromis plus de 500 packages et compromis de nombreux secrets.
Alors que Github a réussi à mettre un terme à la réplication de Shai-Hulud et a bloqué le téléchargement de nouveaux packages contenant les indicateurs de compromis du malware, ils ont également réalisé qu’ils devraient apporter des modifications pour empêcher des attaques similaires à l’avenir.
Améliorations de sécurité planifiées
Github travaille à un avenir où:
1. La publication des packages locaux nécessitera 2FA
GitHub prévoit de supprimer l’option pour contourner 2FA pour la publication des packages locaux et dépréciera le mot de passe ponctuel basé sur le temps (TOTP) 2FA. Les utilisateurs seront migrés vers 2FA basés sur FIDO.
2. La publication de confiance est adoptée et utilisée plus largement
La publication de confiance est un système qui permet de faire des référentiels de référentiels à faire confiance à des workflows ou à des services spécifiques pour publier du code en utilisant des jetons d’identité OpenID Connect de courte durée au lieu de clés API à longue durée de vie. Cela réduit les chances que des références volées soient utilisées pour répandre des forfaits malveillants.
À l’heure actuelle, la publication de confiance NPM ne prend en charge que les actions GitHub et les pipelines GitLab, mais GitHub prévoit d’étendre la liste des fournisseurs CI / CD éligibles pour la publication de confiance.
Ajout d’un éditeur de confiance sur NPMJS.com (Source: NPM Registry)
3. Les jeton d’accès granulaires auront une durée de vie restreinte
Les jetons granulaires avec des autorisations de publication auront une durée de vie maximale de 7 jours. Les jetons classiques hérités seront obsolètes. L’accès à la publication interdit les jetons par défaut et pousse les utilisateurs vers des éditeurs de confiance ou une publication locale appliquée par 2FA.
Un déploiement progressif
«Nous reconnaissons que certaines des modifications de sécurité que nous apportons peuvent nécessiter des mises à jour de vos workflows. Nous allons déployer ces changements progressivement pour nous assurer que nous minimions les perturbations tout en renforçant la posture de sécurité du NPM», a déclaré Xavier René-Corail, directeur principal de la recherche sur la sécurité de Github.
«Nous nous engageons à vous soutenir dans cette transition et fournirons de futures mises à jour avec des délais clairs, des documents, des guides de migration et des canaux de soutien.»
Entre-temps, les responsables NPM ont été encouragés à passer à WebAuthn pour l’authentification à deux facteurs; commencer à utiliser la publication de confiance NPM au lieu de jetons; et appliquer l’utilisation de 2FA pour la publication de packages et la modification des paramètres.
Abonnez-vous à notre alerte e-mail de Breaking News pour ne jamais manquer les dernières violations, vulnérabilités et menaces de cybersécurité. Abonnez-vous ici!