Seguridad de la NSA en CI/CD Directrices: Protección de la cadena de suministro de software

De 2019 a 2022, el aumento anual promedio de los ataques a la cadena de suministro de software superó el 700%, una tendencia creciente cuyo impacto económico se espera que supere los 80 mil millones de dólares en 2026. Reconociendo la gravedad de este problema, el Agencia Nacional de Seguridad (NSA) y Agencia de Seguridad Cibernética y de Infraestructura (CISA) liberado pautas cruciales para asegurar CI/CD entornos, abordando la creciente amenaza de los llamados actores cibernéticos maliciosos (MCA) que explotan vulnerabilidades.

Estas pautas se centran específicamente en prevenir la exposición de Secretos dentro de pipelines de CI / CD y ofrecer ideas específicas.

 

¿Cuáles son los aspectos más críticos de Seguridad en CI/CD amenazas?

Como establecen las directrices de la NSA, asegurar una CI/CD El entorno requiere reconocer y defenderse contra varios tipos de amenazas de seguridad que pueden afectar CI/CD operaciones. A continuación se presentan algunos riesgos comunes que se encuentran en CI/CD pipelines, junto con el OWASP Top 10 Seguridad en CI/CD Riesgos:

  • Mecanismos de control de flujo insuficientes:Este riesgo se refiere a la falta de controles adecuados para gestionar el flujo de datos y tareas en la CI/CD pipeline. Sin estos controles, se podrían introducir cambios no autorizados en el pipeline, lo que genera posibles vulnerabilidades de seguridad.
  • Gestión inadecuada de identidades y accesos:Este riesgo implica no gestionar adecuadamente quién tiene acceso a la CI/CD pipeline y lo que pueden hacer. Sin una gestión adecuada de identidad y acceso, personas no autorizadas podrían obtener acceso al pipeline e introducir cambios maliciosos.
  • Abuso de la cadena de dependencia: Este riesgo se refiere a la posibilidad de que los atacantes aprovechen las vulnerabilidades en las dependencias utilizadas por su software. Si estas dependencias no se gestionan y protegen adecuadamente, podrían proporcionar una vía para el ataque.
  • Envenenado Pipeline Ejecución:Este riesgo implica que los atacantes podrían introducir código malicioso en el sistema. CI/CD pipeline. Esto podría dar lugar a la ejecución de código malicioso en el entorno de producción.
  • PBAC insuficiente (Pipeline-Controles de acceso basados ​​en): Este riesgo se refiere a la falta de controles de acceso adecuados basados ​​en la pipeline. Sin estos controles, personas no autorizadas podrían acceder a partes sensibles del pipeline.
  • Higiene de credenciales insuficiente:Este riesgo implica no gestionar y proteger adecuadamente las credenciales utilizadas en el CI/CD pipeline. Si estas credenciales se ven comprometidas, podría proporcionar a un atacante acceso a la pipeline.
  • Configuración del sistema insegura: Este riesgo se refiere a posibles vulnerabilidades de seguridad debido a
    sistemas configurados incorrectamente en el CI/CD pipeline. Los atacantes podrían aprovechar estas vulnerabilidades.
  • Uso no regulado de servicios de terceros: Este riesgo implica el uso de servicios de terceros sin la supervisión y el control adecuados. Estos servicios podrían introducir vulnerabilidades de seguridad si no se gestionan y protegen adecuadamente.
  • Validación inadecuada de la integridad del artefacto:Este riesgo se refiere a la falta de una validación adecuada de los artefactos producidos por el CI/CD pipeline. Sin una validación adecuada, se podrían introducir artefactos maliciosos o comprometidos en el entorno de producción.
  • Registro y visibilidad insuficientes: Este riesgo implica un registro y una visibilidad insuficientes en el
    actividades en el CI/CD pipeline. Podría resultar difícil detectar y responder a incidentes de seguridad sin un registro y una visibilidad adecuados

 

Los peores escenarios de amenazas y cómo remediarlos

Los atacantes adquieren una credencial de desarrollador para acceder a un repositorio Git:

  1. Minimizar el uso de credenciales a largo plazo.
  2. Utilice reglas de dos personas (2PR) para todas las actualizaciones de código.
  3. Proteja las cuentas de usuario e implemente políticas de privilegios mínimos.
  4. Implementar segmentación de red y filtrado de tráfico.
  • SSCS herramientas como xygeni automáticamente detectar configuraciones erróneas en estas áreas y hacer cumplir la aplicación de políticas corporativas seguras.

Compromiso de la cadena de suministro de una biblioteca de aplicaciones, una herramienta o una imagen de contenedor en una CI/CD pipeline:

  1. Restrinja bibliotecas y herramientas que no sean de confianza y analice commitherramientas ted.
  2. Implementar herramientas EDR y auditoría.
  3. Guardar CI/CD Herramientas, software y sistemas operativos actualizados.
  • xygeni plataforma automáticamente actualiza sus capacidades de escaneo en cada escaneo para detectar los componentes maliciosos más recientes que podrían afectar la versión de su software.

Compromiso de un CI/CD entorno que modifica configuraciones o inyecta dependencias maliciosas:

  1. Analizar commitCódigo TED e integración de escaneo de seguridad en CI/CD.
  2. Implementar SBOM y SCA e implementar herramientas EDR.
  3. Añadir firmas a CI/CD configúrelo y verifiquelo.
  • xygeni capacidades en Analizar el conjunto completo de activos involucrados en el desarrollo de software., construcción y entrega permitir la detección de cualquier amenaza durante el CI/CD procesar y generar el SBOM como evidencia para su auditoría y sus clientes.

La siguiente imagen muestra diferentes vectores de ataque utilizando el ejemplo de un CI/CD pipelineEstos vectores de ataque son muy similares a los utilizados en otros CI/CD ataques.

 Imagen: Ejemplo de diferentes vectores de ataque en un AWS CI/CD pipeline
 

 

Habilitar un enfoque genuino de Confianza Cero:

Estrategias de endurecimiento activo de la NSA

 

Esta directriz enumera varias estrategias que podrían utilizarse para mejorar la protección de la cadena de suministro de software. Aquí puedes encontrar un resumen de los más importantes:

El uso de algoritmos criptográficos obsoletos y débiles plantea riesgos significativos para CI/CD pipelines. Podría provocar la exposición de datos confidenciales, fugas de datos, autenticación comprometida y sesiones inseguras. 

Al explotar estas vulnerabilidades, los actores maliciosos podrían eludir la CI/CD pipeline y comprometer la cadena de suministro de software. Para mitigar estos riesgos, la NSA y CISSe recomienda implementar y configurar algoritmos criptográficos robustos, como los especificados por el Instituto Nacional de Standards y Tecnología (NIST), al configurar aplicaciones y servicios en la nube.

Minimizar el uso de credenciales a largo plazo

Cuando se trata de autenticación humana, siempre priorice la federación de identidades y los tokens de seguridad que sean resistentes a los ataques de phishing. Estas medidas deben emplearse para obtener SSH temporal y otras claves. 

De manera similar, para la autenticación de software a software, es aconsejable minimizar el uso de credenciales a largo plazo basadas en software siempre que sea posible.

Los detectores de herramientas como Xygeni admiten la detección de cualquier tipo de credencial y secretos en decenas de formatos a lo largo de toda la cadena de suministro de software: código, pipelines, IaC configuraciones, etc.

Añadir firmas a CI/CD configuración y verificarlos siempre

A lo largo de la CI/CD Durante el proceso, independientemente de la etapa de desarrollo, es fundamental garantizar que el código esté firmado de manera consistente y correcta, y que la firma sea verificada.

Si la firma no se valida, investigar a fondo la causa del problema de validación.

Mitigue los riesgos de las contraseñas mediante la autenticación multifactor (MFA)

También podría complementarse con control de acceso basado en roles (RBAC). Hoy en día, MFA se utiliza habitualmente en todo tipo de servicios. Ayuda a reforzar la seguridad y se aplica tanto para usuarios internos como externos. 

Siguiendo el principio de privilegio mínimo, RBAC garantiza que a los usuarios se les otorguen solo los permisos necesarios para realizar sus tareas específicas.

Las políticas corporativas deben considerar las configuraciones obligatorias actuales. Capacidades automatizadas de cumplimiento y auditoría de... SSCS Las herramientas las aplican todas en toda la infraestructura de DevOps.

Implementar políticas de mínimo privilegio para CI/CD Acceda a

Es crucial dar acceso a los desarrolladores sólo a la pipelines y componentes que son directamente relevantes para las tareas asignadas. 

Implementar la separación de funciones es crucial, ya que los desarrolladores responsables de verificar el código fuente no requieren el privilegio de actualizar el entorno de compilación. Del mismo modo, los ingenieros que supervisan las compilaciones no necesitan acceso de lectura y escritura al código fuente. Para obtener una guía más detallada sobre la implementación de controles de seguridad, consulte SP 800-53 del NIST.

Utilice la regla de dos personas (2PR) para actualizaciones de código

Adherirse a la práctica de reglas de dos personas no sólo promueve la calidad del código sino que también reduce la probabilidad de introducir con éxito código malicioso si las credenciales de un desarrollador se ven comprometidas.

SSCS Herramientas como Xygeni, generalmente incluyen una verificación específica que determina si el proyecto requiere una revisión del código antes pull requests (solicitudes de fusión) se fusionan.

Esta comprobación sigue la seguridad actual de Open SSF standard.

Cuentas de usuario seguras y Secretos

Es fundamental auditar las cuentas de usuario y configurar controles de acceso basados ​​en los principios de privilegio mínimo y separación de funciones. 

Además, el manejo seguro de secretos, tokens y credenciales dentro de la CI/CD pipeline es de suma importancia.

Nunca transmita Secretos en texto plano en ningún lugar del mundo. pipeline, asegurando que nunca estén integrados en software que pueda someterse a ingeniería inversa.

Mantenga un registro completo de todos los componentes de terceros y de código abierto en la base de código implementando una lista de materiales de software (SBOM):

El SBOM Ayuda a las organizaciones a comprender las posibles vulnerabilidades del código y a evitar el uso de componentes obsoletos y no autorizados. El cumplimiento de las regulaciones, como los requisitos de la FDA para dispositivos médicos, puede exigir el uso de... SBOMs.

 

Otras medidas esenciales durante el proceso de desarrollo

A identificar vulnerabilidades, es crucial Integrar el escaneo de seguridad en el CI/CD pipeline fácilmente . La integración debe considerarse fácil en cualquier paso: en la estación de trabajo (antes de la carga), en un commit, o en la construcción nocturna utilizando barandillas.

Mantenga actualizados el software, los sistemas operativos y CI/CD Accesorios: Actualizar periódicamente CI/CD Herramientas, ya que pueden contener errores y vulnerabilidades. Utilice sistemas centralizados de gestión de parches, incluyendo procesos de integridad y validación de software para sistemas operativos y actualizaciones de software.

Restrinja bibliotecas que no sean de confianza y elimine recursos temporales: Utilice únicamente software, herramientas, bibliotecas y artefactos de fuentes confiables y seguras para minimizar las amenazas a la CI/CD pipeline. Asegúrese siempre de que su configuración sea adecuada para evitar una posible ejecución de código o la introducción de puertas traseras. También es importante rElimine aplicaciones innecesarias y proteja los puntos finales.

Conozca más sobre la Plataforma Xygeni, descargue la ficha técnica de la plataforma Xygeni

sca-tools-software-herramientas-de-analisis-de-composicion
Priorice, solucione y proteja sus riesgos de software
Además, te ofrecemos una prueba gratuita de 7 días de nuestra Business Edition para que puedas explorar las funciones avanzadas de la plataforma SecurityScorecard.
No se requiere tarjeta de crédito

Asegure el desarrollo y entrega de software

con la suite de productos Xygeni