GitHub a signalé qu’un pirate exploitait apparemment une faille de sécurité ou
erreur humaine sur les applications tierces Travis et Heroku.
La faille de sécurité a exposé les jetons, permettant au pirate de voler les jetons et de les utiliser pour entrer dans des référentiels privés sur GitHub (y compris NPM)
il a donc réussi à télécharger ces référentiels – y compris tout le code et les informations qu’ils contiennent.
Cela signifie que : des vulnérabilités dans des applications tierces ont causé le vol de code de GitHub
Comment pouvez-vous empêcher un piratage similaire de votre dépôt git ?
Il existe plusieurs solutions différentes – et vous devez toutes les mettre en œuvre :
1) Réduire les autorisations
Si vous utilisez GitHub dans le cloud public (github.com) et donnez aux fournisseurs tiers un accès Oauth (le type de jetons volés) –
minimiser les autorisations que vous accordez à des tiers pour accéder à vos informations.
Vous devez également passer en revue les autorisations qu’ils demandent et vous assurer qu’elles ne sont pas trop larges et permissives.
Une erreur courante consiste à accorder des autorisations globales.
Il en va de même lors de l’octroi d’autorisations aux applications GitHub (qui génèrent également des jetons).
2) Ajouter des couches de protection
Vous devriez également envisager de passer à GitHub / GitLab Enterprise sur un serveur privé
(sur site / locataire unique / autogéré) derrière des couches de protection supplémentaires telles que pare-feu, SSO ou accès distant sécurisé,
ou utilisez uniquement des adresses IP autorisées (dans les éditions de cloud public), qui offrent des couches de protection supplémentaires contre les utilisateurs non autorisés du monde entier.
3) Protéger les secrets
Au-delà de cela – il est important que le fournisseur tiers stocke les jetons dans un outil de coffre-fort centralisé – ce qui aurait rendu très difficile pour les pirates d’obtenir les jetons (le rendant presque toujours inaccessible).
Si vous utilisez de tels tiers, vérifiez ou assurez-vous (dans le cadre de votre chaîne d’approvisionnement) qu’ils le stockent dans des outils Vault tels que Akeyless Vault (SaaS et une solution hybride) ou HashiCorp pour les réseaux fermés.
Il en va de même pour toute application qui accorde des autorisations d’accès à des tiers à l’aide de jetons.
ALM-Toolbox fournit des solutions ALM et DevSecOps et peut vous aider à protéger vos référentiels et vos environnements logiciels/cloud.
Contactez-nous : devsecops@almtoolbox.com ou +33(0)1 84 17 53 28