Los ataques a la cadena de suministro de software van en aumento y la necesidad de responder a este vector de ataque se ha vuelto crucial. ¿Pero donde empiezas?
Si tuviera los planes de batalla del atacante, podría priorizar sus esfuerzos en consecuencia. No tenemos los planes de un atacante específico, pero sí tenemos un modelo de planes de batalla de atacantes típicos: la matriz de amenazas CI\CD basada en el Marco de ataque MITRE.
Leer la siguiente tabla de izquierda a derecha nos lleva a través del ciclo de ataque: el atacante necesita obtener acceso inicial, luego ejecutar el código, alcanzar la persistencia, desarrollar capacidades mediante escalada de privilegios, evasión de defensa y acceso a credenciales. De esta manera, los atacantes pueden realizar un movimiento lateral para alcanzar a su presa y luego atacar, ya sea exfiltrándose o provocando otros impactos.
Cada columna de la tabla enumera las técnicas que puede utilizar el atacante. Por ejemplo, la primera columna sugiere que el acceso inicial podría obtenerse mediante un compromiso previo del CI\CD o mediante controles de acceso débiles (cuenta válida de un servicio Git, cuenta válida de un servicio CI\CD o cuenta de administrador válida). de un servidor crítico).
El enfoque basado en evidencia de Scribe para asegurar la cadena de suministro es esencialmente simple:
Confíe en un artefacto solo si está asociado con evidencia de respaldo, evidencia firmada que se define como certificaciones digitales.
Para implementar este enfoque, Scribe proporciona las herramientas de software necesarias para recopilar y gestionar dicha evidencia y evaluar la confiabilidad del artefacto de acuerdo con políticas y certificaciones (evidencia firmada).
Obtener resumen de la soluciónEjemplos de políticas respaldadas por Scribe:
Políticas de configuración de seguridad
Asegúrese de que la configuración de seguridad de los servicios utilizados durante el proceso de compilación cumpla con un estándar predefinido.
Fuente\Archivo\Políticas de modificación del módulo
Verifique que el código fuente, las configuraciones, los scripts de compilación y los archivos IoC se hayan modificado de acuerdo con un estándar predefinido que define las identidades, los procesos, los pasos y los estados.
Fuente\Archivo\Políticas de integridad del módulo
Asegúrese de que el código fuente, los archivos y los módulos sean idénticos a las versiones permitidas predeterminadas.
Políticas de confianza de dependencia
Asegúrese de que las dependencias utilizadas cumplan con un estándar predefinido (como OSSF Scorecard, version-age, enable\ban list).
Políticas de vulnerabilidades
Asegúrese de que las dependencias y otros componentes de fuente pública (cerrados o abiertos) no representen un alto riesgo de seguridad.
Políticas de ciclo de vida de desarrollo de software
Asegúrese de que las partes interesadas hayan revisado el código, que los comentarios se hayan resuelto y que las pruebas y las pruebas de seguridad se hayan completado con éxito.
Políticas de comportamiento de canalización
Mantener el comportamiento del oleoducto según lo planificado. Por ejemplo, requiera que una imagen se envíe como salida de la canalización y no mediante algún otro proceso.
Ejemplos de evidencia que Scribe recopila de forma continua y automatizada para cada compilación:
SBOM de grano fino del SCM de origen, así como artefactos finales (contenedores)
Instantáneas del entorno de construcción
Instantáneas del repositorio fuente
Configuración de seguridad del entorno de construcción y control de código fuente.
Eventos relevantes a nivel de sistema operativo recopilados de la máquina de compilación