Skip to main content

Risques de fuite de secrets

Les secrets tels que les clés API, les mots de passe et les jetons validés pour les référentiels peuvent être exploités par des utilisateurs non autorisés, créant ainsi des risques de sécurité, de conformité et de risque financier pour votre organisation.

Secrets et informations d’identification

Les secrets sont des informations d’identification qui accordent l’accès aux systèmes et données sensibles, notamment les clés API, les mots de passe, les jetons d’authentification, les certificats et les clés de chiffrement. Lorsque les secrets sont validés dans des référentiels, ils font partie de votre historique Git et restent accessibles même après avoir été supprimés de la dernière validation.

Les secrets dans les référentiels de code peuvent être découverts par des outils d’analyse automatisés et des utilisateurs non autorisés. Les référentiels publics sont particulièrement vulnérables, mais les informations d’identification divulguées à partir de référentiels privés peuvent également se propager via des duplications, des journaux CI/CD ou des intégrations tierces.

Impact sur la sécurité des secrets exposés

Les secrets exposés peuvent entraîner plusieurs types d’incidents de sécurité :

          **Accès et utilisation non autorisés**
  • Les informations d’identification du fournisseur cloud divulguées peuvent être utilisées pour approvisionner l’infrastructure ou les services sur votre compte

  • Les informations d’identification de base de données autorisent l’accès aux données client ou organisationnelles sensibles

  • Les jetons de compte de service fournissent des points d’entrée aux systèmes de production

            **Problèmes opérationnels et de conformité**
    
  • L’infrastructure peut être modifiée ou supprimée à l’aide d’informations d’identification divulguées

  • Les violations de données provenant de secrets exposés peuvent entraîner des pénalités réglementaires conformément au RGPD, au CCPA et à d’autres cadres.

  • Les organisations sont confrontées aux coûts liés à la réponse aux incidents, à la rotation des informations d’identification et à la correction du système

            **Risque organisationnel**
    
  • La divulgation publique de secrets divulgués affecte la confiance des clients et la réputation de l'organisation.

  • Les jetons de Registre de packages exposés peuvent être utilisés pour publier des versions malveillantes de votre logiciel

  • Les clés API propriétaires ou les informations d’identification du service peuvent être exploitées

Impact financier des secrets exposés

Les fuites de secrets peuvent entraîner des coûts directs et indirects à votre organisation, allant des dépenses immédiates aux conséquences commerciales à long terme.

          **Coûts immédiats**
  • L’utilisation non autorisée des ressources cloud à partir de clés API divulguées peut générer des frais pour les instances de calcul, le stockage ou le transfert de données

  • Les opérations minières de crypto-monnaie sur les comptes compromis peuvent entraîner des factures d’infrastructure substantielles

  • La réponse aux incidents d’urgence nécessite des ressources pour l’investigation légale, les audits de sécurité et la rotation des informations d’identification entre les systèmes

            **Coûts de violation des données**
    
  • Les amendes réglementaires pour les violations de la protection des données peuvent atteindre des millions de dollars en vertu du RGPD, du CCPA et des réglementations spécifiques au secteur

  • Les coûts juridiques incluent l’enquête, les exigences de notification et les litiges potentiels

  • Services de surveillance des crédits et de protection des identités pour les clients concernés

            **Impact opérationnel**
    
  • Les interruptions de service de l’infrastructure compromise entraînent une perte de revenus et de productivité

  • Le temps d’ingénierie consacré à la réponse aux incidents de sécurité détourne les ressources du développement de produits

  • Amélioration des outils de sécurité et des coûts de surveillance après les incidents

            **Impact commercial à long terme**
    
  • Churn des clients suite à la divulgation publique des incidents de sécurité

  • Augmentation des primes d’assurance pour la couverture de cyber-responsabilité

  • Perte d’opportunités commerciales en raison d’évaluations de sécurité ou d’audits de conformité ayant échoué

Scénarios courants de fuite de secrets

Les secrets entrent généralement dans des référentiels par le biais de plusieurs modèles courants :

          **Flux de travail de développement**
  • Informations d’identification codées en dur pendant les tests locaux et validées par inadvertance

  • Secrets dans des fichiers de configuration ou des modèles d'infrastructure en tant que code tels que .env.

  • Exemples d’informations d’identification contenant des jetons réels dans la documentation, les wikis ou les fichiers README

            **Gestion des référentiels**
    
  • Référentiels hérités contenant des informations d’identification oubliées mais toujours actives

  • Secrets partagés dans des problèmes GitHub, des commentaires de demande de tirage( pull request), des discussions ou des gists

  • Informations d’identification introduites par des contributeurs externes ou des sous-traitants

            **Défis liés au contrôle de version**
    
  • Les secrets persistent dans l’historique Git même après la suppression du code actuel

  • Les informations d’identification se propagent aux dépôts bifurqués, aux systèmes de sauvegarde et aux journaux.

  • Les dépôts publics avec des secrets exposés sont indexés par les moteurs de recherche et les services d’analyse spécialisés

Sécurité des secrets avec GitHub

          GitHub fournit des outils pour vous aider à prévenir, détecter et corriger les fuites de secrets :

1. Empêcher la fuite de nouveaux secrets

Activez la protection push des référentiels de manière à analyser le code pendant les git push opérations et bloquer les validations contenant des secrets détectés. Cela empêche les informations d’identification d’entrer dans vos référentiels tout en fournissant des commentaires en temps réel aux développeurs.

Encouragez vos contributeurs à activer la protection des push pour leurs comptes personnels (la fonctionnalité s'appelle « protection des push pour les utilisateurs ») afin de protéger tous leurs push vers leurs dépôts, branches et tout dépôt auquel ils contribuent sur GitHub. Cela permet aux développeurs individuels d’empêcher les fuites de secrets sans attendre les stratégies au niveau de l’organisation.

2. Détecter les secrets existants

Permet secret scanning de surveiller en continu les référentiels pour les secrets validés et de recevoir des alertes quand des informations d’identification sont détectées. Cela vous permet de révoquer et de faire pivoter rapidement les informations d’identification compromises.

Étapes suivantes

Pour protéger votre organisation contre les fuites de secrets :

  1. Activez la protection Push pour empêcher la validation de nouveaux secrets.
  2. Activez secret scanning avec un clic pour commencer à détecter les fuites de secrets.
  3. Établissez des pratiques de gestion des informations d’identification sécurisées pour vos équipes de développement.