Evalúe su postura de seguridad de control de código fuente con GitGat

Todos los Artículos

Su sistema de control de fuente es uno de los enlaces más sensibles en su ciclo de vida de desarrollo de software. Almacena el código fuente del software, los scripts de compilación y los scripts IaC (Infraestructura como código) y, en algunos casos, secretos e información confidencial adicional. Por lo tanto, proteger el sistema de control de fuente debería ser uno de los primeros pasos para proteger el entorno de desarrollo de software.

Con el objetivo de ayudar a proteger SCM, desarrollamos GitGat. GitGat es un conjunto de OPA autónomo (Agente de políticas abierto) políticas escritas en Rego. El uso de OPA permite múltiples casos de uso, como parte de otras herramientas basadas en OPA o como aplicaciones independientes. GitGat evalúa la configuración de seguridad de su cuenta SCM y le proporciona un informe de estado y recomendaciones prácticas. El informe de estado se puede generar en un formato legible por humanos (archivo MD) para el profesional de seguridad, o en un formato legible por máquina (archivo JSON), para respaldar decisiones y acciones de políticas automatizadas.

Como GitHub es uno de los sistemas SCM líderes en el mundo, queríamos que ese fuera nuestro punto de partida. Con el tiempo, nuestro objetivo es ampliar el soporte a otras plataformas SCM.

GitGat actualmente admite la evaluación de las siguientes familias de políticas:

  • Control de acceso - prevenir acceso inicial Técnicas basadas en el robo de credenciales.
    • Valida esa autenticación de 2 factores se aplica a su organización o a sus miembros, entendiendo quién no utiliza actualmente 2FA.
    • Validar la visibilidad de ese repositorio es según lo planeado. 
    • Validar control de implementación y SSH claves.
  • Permisos – prevenir pasos de ataque que se deriven de permisos excesivos ejecución, evasión de defensa, acceso a credenciales,
    • Mapear usuarios con permisos de administrador
    • Asigne permisos de equipo y notifique a los equipos con permisos de administrador
  • Protección de sucursales – prevenir pasos de ataque que aprovechen modificaciones no deseadas y no permitidas del repositorio: ejecución, persistencia, evasión de defensa e impacto
    • Mapa de ramas protegidas y desprotegidas.
    • Configuración de protección de sucursales de mapas: para comprender qué protecciones existen (por ejemplo: hacer cumplir revisiones y confirmaciones firmadas, y evitar la eliminación del historial).
  • Seguimiento de modificación de archivos – prevenir/detectar pasos de ataque que explotan los permisos de acceso a archivos que se otorgan de forma predeterminada cuando se usa GitHub: ejecución, persistencia y evasión de la defensa.

Estamos planeando agregar soporte de escaneo secreto utilizando herramientas de código abierto como fugas de git.

Como todo profesional de la seguridad sabe, las reglas y políticas de seguridad suelen ser la base para decisiones específicas de proyectos. Cada proyecto viene con condiciones y restricciones especiales que requieren aprobaciones especiales por parte de una parte interesada autorizada. Para permitir una gestión sencilla de estos casos especiales, GitGat admite la gestión de un estado. El estado, un objeto JSON mantenido por el usuario, puede almacenar dichas excepciones. Esto le permite ejecutar un análisis continuo de la situación de seguridad y recibir alertas solo sobre lo nuevo o lo que no está incluido en su estado. 

Un análisis detallado de las amenazas sobre por qué elegimos estos problemas como punto de partida para mejorar la postura de seguridad del SCM se puede encontrar en el archivo README del repositorio GitGat

Invitamos a todos a probar el proyecto. Siéntase libre de ofrecer críticas, ideas, solicitudes o incluso ayuda. Hay muchas direcciones en las que este proyecto puede crecer y estamos entusiasmados de explorarlas con usted.

Este contenido es presentado por Scribe Security, un proveedor líder de soluciones de seguridad de la cadena de suministro de software de extremo a extremo, que ofrece seguridad de última generación para artefactos de código y procesos de desarrollo y entrega de código en todas las cadenas de suministro de software. Más información.