GitHub est utilisé par les développeurs du monde entier pour stocker et partager le code de leurs projets. Il permet aux développeurs de créer des référentiels publics et de collaborer sur divers projets. Fondé en 2008, GitHub est un service basé sur le cloud qui fournit des capacités d'hébergement. Il a été racheté par Microsoft en 2018.
GitHub dispose d'un système de contrôle de version qui offre des fonctionnalités telles que l'émission de demandes de logiciels, le suivi des bogues, la gestion des tâches, etc. Il est open source, accessible et compte plus de 372 millions de référentiels. Les créateurs de GitHub auraient toutefois dû tenir compte de la sécurité, car il peut parfois y avoir des compromissions. Les mots de passe peuvent être volés et les secrets GitHub peuvent être relativement peu sûrs.
GitHub dispose d'un programme de partenariat de scan des secrets pour analyser les formats de jetons secrets et rechercher les commits accidentels. Il peut envoyer les résultats de ces scans aux fournisseurs de services cloud afin de vérifier les points de terminaison. Les analyses GitHub empêchent également l'utilisation frauduleuse des identifiants et peuvent être appliquées aux paquets npm publics. Les organisations peuvent analyser les référentiels privés, afficher et gérer les analyses secrètes, et plus encore. GitHub dispose également d'un service d'alerte secret qui accepte les webhooks de GitHub connus pour héberger des messages d'analyse secrète.
Ce guide couvre tout ce que vous devez savoir sur le GitHub Secret Scanning et vous plonge dans les détails.
Qu'est-ce que GitHub Secret Scanning ?
GitHub Secret Scanning comprend diverses fonctionnalités de sécurité qui protègent les secrets au sein des organisations. Certaines de ces fonctionnalités sont disponibles sous forme d'outils, tandis que les entreprises qui utilisent les solutions de sécurité avancées de GitHub bénéficient d'avantages uniques.
GitHub Secret Scanning extrait les secrets de l'historique Git complet de toutes les branches des dépôts GitHub.
Pourquoi GitHub Secret Scanning est-il important ?
Le scan des secrets GitHub est nécessaire car il empêche les fuites potentielles d'identifiants et aide à définir les modèles d'expressions régulières des développeurs. Tout le monde sait que les dépôts sont exposés au risque de divulgation de données sensibles et qu'il est déconseillé d'intégrer des secrets dans le code source. Les équipes DevOps utilisent les actions GitHub pour automatiser les workflows et déployer des applications, et disposent d'une puissante fonctionnalité intégrée appelée " secrets ". Elle permet aux utilisateurs de stocker et d'utiliser en toute sécurité des valeurs dans le code source, mais les experts estiment qu'il ne suffit pas d'utiliser cet outil pour garantir une sécurité adéquate.
Les outils tiers de scan des secrets sont des services externes qui offrent un moyen sûr, sécurisé et centralisé de gérer et de stocker les secrets dans DevOps. Ils offrent une plus grande flexibilité que les secrets GitHub Actions et proposent des fonctionnalités supplémentaires telles que des capacités de stockage plus importantes, des limites de stockage plus élevées, la rotation des clés secrètes, la gestion du contrôle d'accès, l'audit, la gestion des versions, etc.
Fonctionnalités disponibles pour l'analyse des secrets dans GitHub
- Les secrets GitHub Actions ne sont visibles que par GitHub Actions et n'apparaissent pas dans les journaux de sortie ou les interfaces web
- GitHub Secret Scanning peut être utilisé pour stocker des fichiers de données cryptés tels que des certificats SSH et peut être mis à jour ou supprimé à tout moment
- Les secrets GitHub Actions sont soumis à des politiques de sécurité et à des protocoles de chiffrement spécifiques qui permettent uniquement aux utilisateurs autorisés de les consulter et d'y accéder
Cependant, le scanner de secrets GitHub par défaut présente plusieurs limitations :
- La première est qu'il existe une limite de taille maximale de 64 Ko par secret, et que seuls 100 secrets peuvent être stockés dans les dépôts.
- Une organisation ne peut pas stocker plus de 1 000 secrets et ne dispose pas de fonctionnalités de sécurité avancées telles que la rotation des clés secrètes, l'audit, le versionnage, etc.
- Il n'y a pas de prise en charge inter-référentiels, et les organisations ne peuvent pas synchroniser, partager, organiser ou mettre à jour simultanément des secrets sur plusieurs workflows ou projets.
Comment fonctionne GitHub Secret Scanning ?
Les utilisateurs peuvent configurer la manière dont ils reçoivent les alertes en temps réel pour l'analyse des référentiels à la recherche de secrets divulgués. La fonctionnalité d'analyse des secrets GitHub peut être activée pour tout référentiel public dont ils sont propriétaires. Une fois activée, GitHub analyse tous les secrets dans l'historique Git complet pour toutes les branches présentes dans le référentiel GitHub.
L'analyse des secrets fonctionne pour plusieurs référentiels au sein d'une même organisation. L'analyse des secrets GitHub aide les organisations à prévenir l'utilisation frauduleuse des secrets et à éviter qu'ils ne soient commis par accident.
Comment configurer l'analyse des secrets GitHub ?
- Rendez-vous sur GitHub.com et accédez à la page principale du référentiel
- Cliquez sur l'onglet Paramètres pour faire apparaître un menu déroulant. Dans la section Sécurité située dans la barre latérale, cliquez sur Sécurité et analyse du code
- Vérifiez si GitHub Advanced Security est activé. Si ce n'est pas le cas, cliquez sur Activer.
- Cliquez sur Activer GitHub Advanced Security pour ce référentiel.
- Une fois cette opération effectuée, l'analyse des secrets sera automatiquement activée pour le référentiel public de l'organisation. Si un bouton " Activer " se trouve à côté de la fonctionnalité " Analyse des secrets ", vous devrez cliquer dessus. Vous pouvez désactiver l'analyse des secrets en cliquant sur le bouton " Désactiver ".
- L'analyse des secrets GitHub bloque également les commits qui contiennent des secrets pris en charge et offre une fonctionnalité de " Protection des push ". Vous pouvez cliquer sur " Activer " si vous souhaitez vérifier manuellement les poussées.
Quelles sont les meilleures pratiques en matière d'analyse des secrets GitHub ?
Voici quelques-unes des meilleures pratiques en matière d'analyse des secrets GitHub :
- Donner la priorité aux nouveaux secrets
Il est essentiel d'examiner les identifiants récemment soumis avant de les stocker dans les secrets. Cela permet de limiter le nombre de secrets pour les organisations et d'utiliser des webhooks pour diriger les notifications de nouveaux secrets vers les équipes appropriées. Les développeurs doivent recevoir une documentation de formation adéquate et la diffuser avant de valider de nouveaux secrets. Il est essentiel de donner suite aux alertes et de mettre en œuvre un processus de correction avancé pour chaque type de secret.
- Traiter les secrets validés
Il est essentiel de traiter les secrets validés les plus critiques et de commencer à examiner les secrets plus anciens. Après avoir identifié chaque type de secret, les développeurs doivent définir et documenter le processus de correction. Ils doivent également communiquer toute modification apportée aux nouveaux utilisateurs et établir des directives pour la gestion des référentiels concernés.
- Exécuter des analyses de sécurité avancées
Vous pouvez configurer des analyses de sécurité avancées à l'aide de GitHub Enterprise Cloud. Votre organisation aura besoin d'une licence GitHub Advanced Security et GitHub pourra automatiquement exécuter des analyses de modèles partenaires sur n'importe quel référentiel public.
Avantages et inconvénients de l'analyse des secrets GitHub
Avantages de l'analyse des secrets Git
L'analyse des secrets est une fonctionnalité précieuse qui aide les organisations à identifier les informations sensibles et à prendre des mesures pour les protéger. L'utilisation d'outils d'analyse des secrets aide les entreprises à renforcer leur sécurité globale dans le cloud. GitHub propose gratuitement l'analyse des secrets sur tous les référentiels publics et s'associe à des fournisseurs de services cloud pour signaler les identifiants divulgués grâce à son programme de partenariat d'analyse des secrets.
Les développeurs open source ont accès gratuitement aux alertes concernant les secrets divulgués dans le code, peuvent suivre les modifications et prendre les mesures appropriées. GitHub a également ajouté une protection push pour tous ses clients GitHub Advanced Security, à compter d'avril 2022, afin de scanner de manière proactive les secrets et de prévenir les fuites avant qu'elles ne soient commises. La protection push pour les modèles personnalisés est configurée et appliquée modèle par modèle.
Voici une liste des avantages de GitHub Secret Scanning :
- GitHub Secret Scanning est gratuit pour les organisations de toutes tailles et offre un accès public
- Il offre une sécurité supplémentaire et permet de suivre très facilement tous les secrets stockés dans les référentiels publics
- GitHub Secret Scanning est beaucoup plus rapide que la révision manuelle de chaque ligne de code
- Les secteurs de la santé, de la finance et de la vente au détail peuvent crypter les informations sensibles et garantir la conformité aux normes et réglementations applicables.
Inconvénients de l'analyse des secrets Git
Voici les inconvénients de l'analyse des secrets GitHub :
- L'analyse des menaces peut prendre trop de temps
- Des faux positifs et des faux négatifs peuvent se produire lors de la détection des secrets
- Peut ralentir les délais de développement
- Risque d'échecs de compilation automatique
- Moins de lignes sont analysées par rapport aux outils tiers de GitHub Secret Scanning
- Erreurs d'extraction dans les bases de données et alertes dans le code généré
- La configuration de l'analyse des secrets pour les modèles partenaires sur les référentiels publics ne peut pas être modifiée
Comment SentinelOne peut-il aider à l'analyse des secrets GitHub ?
Les identifiants volés sont à l'origine de près de la moitié des attaques de cybersécurité. GitHub a détecté plus d'un million de secrets divulgués sur des référentiels publics et plus d'une douzaine de fuites accidentelles chaque minute.
Les fuites accidentelles d'API, de jetons et d'autres secrets augmentent le risque de violations de données dans le cloud, nuisent à la réputation et entraînent des responsabilités juridiques. Le scanner de secrets GitHub par défaut s'appuie sur des modèles d'attaque et des signatures connus pour détecter l'utilisation abusive des identifiants. Les organisations n'ont pas vraiment les moyens d'enquêter sur la manière dont ces secrets sont consultés et négligent le facteur humain.
C'est là qu'intervient SentinelOne.
SentinelOne identifie les erreurs de configuration du cloud, les fuites d'identifiants et examine les modèles d'infrastructure en tant que code (IaC). Il permet aux équipes de sécurité de traquer les instances non gérées, les clusters Kubernetes et divers services cloud.
Le CNAPP complet de SentinelOne va encore plus loin et applique une sécurité " shift-left ". Son moteur de sécurité offensive identifie toutes les exploitations potentielles et corrige les vulnérabilités inconnues ou cachées. SentinelOne CNAPP analyse les référentiels cloud publics et privés et sécurise les charges de travail critiques. Il offre une automatisation de la sécurité qui peut améliorer instantanément la posture de sécurité cloud d'une organisation. La plateforme peut détecter plus de 750 types de secrets différents et empêche également les fuites d'identifiants cloud.
En combinant l'analyse statique du machine learning et l'analyse comportementale dynamique, les équipes de sécurité peuvent analyser et corriger les problèmes liés aux secrets en temps réel. SentinelOne CNAPP fait tourner régulièrement les clés secrètes, réduisant ainsi le risque de compromission des secrets. La plateforme met en œuvre des algorithmes de chiffrement symétriques tels que AES, DES et 3DES pour une protection renforcée. Purple AI est votre analyste de sécurité personnel et accélère vos opérations de sécurité grâce à un plan de contrôle unifié alimenté par l'IA. Il réduit le temps moyen de réponse et rationalise les enquêtes sur les secrets.
Voir SentinelOne en action
Découvrez comment la sécurité du cloud alimentée par l'IA peut protéger votre organisation lors d'une démonstration individuelle avec un expert produit de SentinelOne.
Obtenir une démonstrationConclusion
Bien que le scannage des secrets GitHub puisse consommer beaucoup de ressources, les organisations doivent y prêter attention. De bonnes techniques de scannage des secrets GitHub peuvent aider à prévenir les violations de données, à protéger les clients et à minimiser les défaillances opérationnelles.
Le GitHub Secret Scanning est un composant essentiel de la sécurité du cloud et aide à identifier les défauts des référentiels de code. Sans outils de scan des secrets GitHub, les entités seraient vulnérables, ce qui pourrait avoir de graves conséquences.
"
FAQs
L'analyse des secrets GitHub consiste à utiliser des outils et des processus pour analyser les secrets dans les référentiels publics et privés. Elle analyse les secrets dans le code à la recherche de défauts, détecte les dérives ou les modifications de configuration et élabore des plans d'action efficaces et de correction des menaces.
Les utilisateurs peuvent utiliser la fonctionnalité par défaut de GitHub Secret Scanning pour analyser les secrets dans le code. Ils peuvent également utiliser un outil complet d'analyse des secrets GitHub tel que SentinelOne pour bénéficier d'une sécurité et d'une protection holistiques.
La fonctionnalité GitHub Secret Scanning, proposée par GitHub, est entièrement gratuite. L'outil SentinelOne GitHub Scanning inclus dans CNAPP est disponible à partir de 2 000 USD par mois avec le forfait Starter.
Le scan de code GitHub est gratuit par défaut pour les utilisateurs GitHub. Cependant, il peut présenter diverses limitations qui sont résolues par des outils premium payants tels que SentinelOne.
