Las canalizaciones de desarrollo de software ofrecen a los ciberdelincuentes acceso de 'rango libre' a la inteligencia de datos PlatoBlockchain en la nube y en las instalaciones. Búsqueda vertical. Ai.

Los canales de desarrollo de software ofrecen a los ciberdelincuentes acceso de 'rango libre' a la nube, en las instalaciones

Las canalizaciones de integración continua/desarrollo continuo (CI/CD) pueden ser la superficie de ataque potencial más peligrosa de la cadena de suministro de software, dicen los investigadores, a medida que los atacantes cibernéticos aumentan su interés en investigar las debilidades.

La superficie de ataque también está creciendo: las canalizaciones de CI/CD son cada vez más un elemento fijo dentro de los equipos de desarrollo de software empresarial, que las utilizan para crear, probar e implementar código mediante procesos automatizados. Pero el exceso de permisos, la falta de segmentación de la red y los secretos y la administración de parches deficientes afectan su implementación, lo que ofrece a los delincuentes la oportunidad de comprometerlos para variar libremente entre entornos locales y en la nube.

En Black Hat USA el miércoles 10 de agosto, Iain Smart y Viktor Gazdag de la consultora de seguridad NCC Group subirán al escenario durante “RCE como servicio: Lecciones aprendidas de 5 años de compromiso de canalización de CI/CD en el mundo real”, para analizar la serie de ataques exitosos a la cadena de suministro que han llevado a cabo en las canalizaciones de CI/CD de producción para prácticamente todas las empresas que la empresa ha probado.

NCC Group ha supervisado varias docenas de compromisos exitosos de objetivos, que van desde pequeñas empresas hasta compañías Fortune 500. Además de errores de seguridad, los investigadores dicen que los abusos novedosos de la funcionalidad prevista en las canalizaciones automatizadas les han permitido convertir las canalizaciones de una simple utilidad de desarrollador en una ejecución remota de código (RCE) como servicio.

“Espero que la gente le dé un poco más de amor a sus canalizaciones de CI/CD y aplique todas o al menos una o dos recomendaciones de nuestra sesión”, dice Gazdag. “También esperamos que esto genere más investigación de seguridad sobre el tema”.

Tara Seals, editora gerente de noticias de Dark Reading, se sentó con Viktor Gazdag, consultor gerente de seguridad de NCC Group, para obtener más información.

Sellos de Tara: ¿Cuáles son algunas de las debilidades de seguridad más comunes en las canalizaciones de CI/CD y cómo se puede abusar de ellas?

Víctor Gazdag: Vemos tres debilidades de seguridad comunes regularmente que requieren más atención:

1) Credenciales codificadas en Version Control System (VCS) o Source Control Management (SCM).

Estos incluyen scripts de shell, archivos de inicio de sesión, credenciales codificadas en archivos de configuración que se almacenan en el mismo lugar que el código (no por separado ni en aplicaciones de administración secretas). También solemos encontrar tokens de acceso a diferentes entornos en la nube (desarrollo, producción) o a determinados servicios dentro de la nube como SNS, Base de datos, EC2, etc.

También encontramos credenciales para acceder a la infraestructura de soporte o a la canalización de CI/CD. Una vez que un atacante obtiene acceso al entorno de la nube, puede enumerar sus privilegios, buscar configuraciones incorrectas o intentar elevar sus privilegios ya que ya están en la nube. Con acceso a la canalización de CI/CD, pueden ver el historial de compilación, obtener acceso a los artefactos y los secretos que se usaron (por ejemplo, la herramienta SAST y sus informes sobre vulnerabilidades o tokens de acceso a la nube) y, en el peor de los casos, inyectar código arbitrario (puerta trasera, SolarWinds) en la aplicación que se compilará u obtener acceso completo al entorno de producción.

2) Roles demasiado permisivos.

Los desarrolladores o las cuentas de servicio a menudo tienen un rol asociado con sus cuentas (o pueden asumir uno) que tiene más permisos de los necesarios para realizar el trabajo requerido.

Pueden acceder a más funciones, como la configuración del sistema o secretos con alcance tanto para entornos de producción como de desarrollo. Es posible que puedan eludir los controles de seguridad, como la aprobación de otros desarrolladores, o modificar la canalización y eliminar cualquier herramienta SAST que ayude a buscar vulnerabilidades.

Dado que las canalizaciones pueden acceder a los entornos de implementación de producción y prueba, si no hay una segmentación entre ellos, pueden actuar como un puente entre los entornos, incluso entre las instalaciones y la nube. Esto permitirá a un atacante eludir los firewalls o cualquier alerta y moverse libremente entre entornos que de otro modo no sería posible.

3) Falta de auditoría, monitoreo y alerta.

Esta es el área más descuidada, y el 90 % de las veces encontramos una falta de monitoreo y alertas sobre cualquier modificación de configuración o administración de usuarios/roles, incluso si la auditoría estaba activada o habilitada. Lo único que se puede monitorear es la compilación o compilación correcta o incorrecta del trabajo.

También hay problemas de seguridad más comunes, como la falta de segmentación de la red, la gestión de secretos y la gestión de parches, etc., pero estos tres ejemplos son puntos de partida de los ataques, necesarios para reducir el tiempo medio de detección de infracciones o que es importante limitar. radio de explosión de ataque.

TS: ¿Tiene algún ejemplo específico del mundo real o escenarios concretos que pueda señalar?

VG: Algunos ataques en las noticias relacionados con CI/CD o ataques de canalización incluyen:

  • Ataque CCcleaner, Marzo 2018
  • Cerveza casera, agosto de 2018
  • Martillo de sombra Asus, Marzo 2019
  • Violación de terceros de CircleCI, septiembre de 2019
  • Vientos solares, Diciembre 2020
  • Script de subida de bash de Codecov, abril de 2021
  • TravisCI acceso no autorizado a secretos, septiembre de 2021

TS: ¿Por qué son problemáticas las debilidades en las canalizaciones automatizadas? ¿Cómo caracterizaría el riesgo para las empresas?

VG: Puede haber cientos de herramientas utilizadas en los pasos de canalización y debido a esto, el tremendo conocimiento que alguien necesita saber es enorme. Además, las canalizaciones tienen acceso de red a múltiples entornos y múltiples credenciales para diferentes herramientas y entornos. Obtener acceso a las canalizaciones es como obtener un pase de viaje gratuito que permite a los atacantes acceder a cualquier otra herramienta o entorno vinculado a la canalización.

TS: ¿Cuáles son algunos de los resultados de los ataques que podrían sufrir las empresas en caso de que un adversario subvierta con éxito una canalización de CI/CD?

VG: Los resultados de los ataques pueden incluir el robo de código fuente o datos intelectuales, la puerta trasera de una aplicación que se implementa en miles de clientes (como SolarWinds), obtener acceso (y moverse libremente entre) múltiples entornos, como desarrollo y producción, tanto en las instalaciones como en el entorno local. nube, o ambos.

TS: ¿Qué tan sofisticados deben ser los adversarios para comprometer una tubería?

VG: Lo que estamos presentando en Black Hat no son vulnerabilidades de día cero (aunque encontré algunas vulnerabilidades en diferentes herramientas) o cualquier técnica nueva. Los delincuentes pueden atacar a los desarrolladores a través de phishing (secuestro de sesión, omisión de autenticación multifactor, robo de credenciales) o la canalización de CI/CD directamente si no está protegida y está orientada a Internet.

NCC Group incluso realizó evaluaciones de seguridad en las que inicialmente probamos aplicaciones web. Lo que descubrimos es que las canalizaciones de CI/CD rara vez se registran y monitorean con alertas, aparte del trabajo de creación/compilación del software, por lo que los delincuentes no tienen que ser tan cuidadosos o sofisticados para comprometer una canalización.

TS: ¿Qué tan comunes son estos tipos de ataques y qué tan amplia es la superficie de ataque que representan las canalizaciones de CI/CD?

VG: Hay varios ejemplos de ataques del mundo real en las noticias, como se mencionó. Y todavía puedes encontrar, por ejemplo, Instancias de Jenkins con Shodan en Internet. Con SaaS, los delincuentes pueden enumerar e intentar usar contraseñas de fuerza bruta para obtener acceso, ya que no tienen habilitada la autenticación multifactor de forma predeterminada ni restricciones de IP, y están orientados a Internet.

Con el trabajo remoto, las canalizaciones son aún más difíciles de proteger, ya que los desarrolladores desean acceder desde cualquier lugar y en cualquier momento, y las restricciones de IP ya no son necesariamente factibles, ya que las empresas se están moviendo hacia redes de confianza cero o tienen ubicaciones de red cambiantes.

Las canalizaciones suelen tener acceso de red a varios entornos (que no deberían) y tienen acceso a varias credenciales para diferentes herramientas y entornos. Pueden actuar como un puente entre las instalaciones y la nube, o entre los sistemas de producción y prueba. Esta puede ser una superficie de ataque muy amplia y los ataques pueden provenir de múltiples lugares, incluso aquellos que no tienen nada que ver con la canalización en sí. En Black Hat, presentamos dos escenarios en los que originalmente comenzamos con las pruebas de aplicaciones web.

TS: ¿Por qué las canalizaciones de CI/CD siguen siendo un punto ciego de seguridad para las empresas?

VG: Principalmente por falta de tiempo, a veces por falta de gente, y en algunos casos, por falta de conocimiento. Las canalizaciones de CI/CD a menudo son creadas por desarrolladores o equipos de TI con tiempo limitado y con un enfoque en la velocidad y la entrega, o los desarrolladores simplemente están sobrecargados de trabajo.

Las canalizaciones de CI/CD pueden ser muy o extremadamente complejas y pueden incluir cientos de herramientas, interactuar con múltiples entornos y secretos, y ser utilizadas por varias personas. Algunas personas incluso crearon una representación de tabla periódica de las herramientas que se pueden usar en una tubería.

Si una empresa asigna tiempo para crear un modelo de amenazas para la canalización que utilizan y los entornos de soporte, verán la conexión entre los entornos, los límites y los secretos, y dónde pueden ocurrir los ataques. Se debe crear y actualizar continuamente el modelo de amenazas, y lleva tiempo.

TS: ¿Cuáles son algunas de las mejores prácticas para reforzar la seguridad de las tuberías?

VG: Aplique la segmentación de la red, use el principio de privilegio mínimo para la creación de roles, limite el alcance de un secreto en la administración de secretos, aplique actualizaciones de seguridad con frecuencia, verifique los artefactos y supervise y alerte sobre los cambios de configuración.

TS: ¿Hay algún otro pensamiento que le gustaría compartir?

VG: Si bien las canalizaciones de CI/CD nativas de la nube o basadas en la nube son más simples, aún observamos problemas iguales o similares, como roles demasiado permisivos, falta de segmentación, secretos con alcance excesivo y falta de alertas. Es importante que las empresas recuerden que también tienen responsabilidades de seguridad en la nube.

Sello de tiempo:

Mas de Lectura oscura