Évaluez votre posture de sécurité de contrôle de source avec GitGat

Tous Les Articles

Votre système de contrôle de code source est l'un des maillons les plus sensibles du cycle de vie de votre développement logiciel. Il stocke le code source du logiciel, les scripts de construction et les scripts IaC (Infrastructure as Code), ainsi que, dans certains cas, des secrets et des informations sensibles supplémentaires. Ainsi, la sécurisation du système de contrôle de code source devrait être l'une de vos premières étapes pour sécuriser l'environnement de développement logiciel.

Dans le but d'aider à protéger le SCM, nous avons développé GitGat. GitGat est un ensemble d'OPA autonomes (Ouvrir l'agent de stratégie) politiques écrites en Rego. L'utilisation d'OPA permet plusieurs cas d'utilisation, dans le cadre d'autres outils basés sur OPA ou en tant qu'applications autonomes. GitGat évalue les paramètres de sécurité de votre compte SCM et vous fournit un rapport d'état et des recommandations exploitables. Le rapport d'état peut être généré sous une forme lisible par l'homme (fichier MD) pour le praticien de la sécurité, ou sous une forme lisible par machine (fichier JSON), pour prendre en charge les décisions et actions politiques automatisées.

Comme GitHub est l'un des principaux systèmes SCM au monde, nous voulions que ce soit notre point de départ. Nous visons à terme à étendre la prise en charge à d’autres plates-formes SCM.

GitGat prend actuellement en charge l'évaluation des familles de politiques suivantes :

  • Contrôle d'accès - prévenir accès initial techniques basées sur le vol d’identifiants.
    • Validez cette authentification à 2 facteurs est appliqué à votre organisation ou à ses membres, comprenant qui n'utilise pas actuellement 2FA.
    • Valider la visibilité de ce référentiel est comme prévu. 
    • Valider le contrôle de déploiement et SSH clés.
  • Permissions – empêcher les étapes d’attaque résultant d’autorisations excessives exécution, évasion de la défense, accès aux informations d'identification,
    • Mapper les utilisateurs avec des autorisations d'administrateur
    • Cartographiez les autorisations des équipes et informez les équipes disposant des autorisations d'administrateur
  • Protection des branches – empêcher les étapes d'attaque qui exploitent des modifications involontaires et non autorisées du référentiel : exécution, persistance, évasion de la défense et impact
    • Cartographier les branches protégées et non protégées
    • Mapper la configuration de la protection des branches – pour comprendre quelles protections sont en place (par exemple : appliquer les révisions et les validations signées, et empêcher la suppression de l’historique).
  • Suivi des modifications de fichiers – prévenir/détecter les étapes d'attaque qui exploitent les autorisations d'accès aux fichiers accordées par défaut lors de l'utilisation de GitHub : exécution, persévérance et évasion défensive.

Nous prévoyons d'ajouter la prise en charge de l'analyse secrète à l'aide d'outils open source tels que git-fuites.

Comme tout professionnel de la sécurité le sait, les règles et politiques de sécurité constituent généralement la base des décisions spécifiques à un projet. Chaque projet est soumis à des conditions et contraintes particulières qui nécessitent des approbations spéciales par une partie prenante autorisée. Pour permettre une gestion facile de ces cas particuliers, GitGat prend en charge la gestion d'un état. L'état, un objet JSON géré par l'utilisateur, peut stocker de telles exceptions. Cela vous permet d'exécuter une analyse continue de l'état de sécurité et d'être alerté uniquement de ce qui est nouveau ou non inclus dans votre état. 

Une analyse détaillée des menaces expliquant pourquoi nous avons choisi ces problèmes comme point de départ pour améliorer la posture de sécurité du SCM est disponible dans le fichier README du Dépôt GitGat

Nous invitons tout le monde à essayer le projet. N'hésitez pas à formuler des critiques, des idées, des demandes ou même de l'aide. Ce projet peut évoluer dans de nombreuses directions et nous sommes ravis de les explorer avec vous.

Ce contenu vous est proposé par Scribe Security, l'un des principaux fournisseurs de solutions de sécurité de bout en bout pour la chaîne d'approvisionnement logicielle, offrant une sécurité de pointe aux artefacts de code ainsi qu'aux processus de développement et de livraison de code tout au long des chaînes d'approvisionnement logicielles. En savoir plus.