En los últimos años, los ataques a la cadena de suministro han ido ganando en frecuencia y escala. Detrás de esta tendencia están los ciberdelincuentes que buscan formas sigilosas de realizar cambios maliciosos o inyectar malware en el software antes de que se implemente. Para hacer esto, el compromiso de las credenciales de desarrollador o los privilegios administrativos de una herramienta de desarrollo a menudo se considera un paso clave en el ciclo de ataque.
De hecho, una vez que se roba una contraseña o una clave de alto privilegio, se vuelve fácil manipular una biblioteca de software o modificar los parámetros de registro de imágenes a través de métodos que generalmente son extremadamente difíciles de detectar.
El desafío de asegurar las identidades en una canalización de DevOps
Los ciberdelincuentes atacan a los desarrolladores por dos razones principales.
El primero es explotar los privilegios elevados que los desarrolladores necesitan para acceder a una amplia gama de aplicaciones y plataformas. dentro de la empresa extendida. Los desarrolladores disfrutan de muchos más privilegios que otros usuarios porque las empresas modernas confían en ellos para seguir siendo competitivas. Cuanta más responsabilidad integral tenga el desarrollador para asumir el ciclo de vida de la aplicación, más control tendrá sobre los entornos de TI.
La segunda razón es la oportunidad de descubrir tantos secretos de aplicación como sea posible dentro del código, las variables de entorno o cualquier otra ubicación insegura.. Por ejemplo, cuando Codecov se vio comprometido en abril de 2021, los ciberdelincuentes obtuvieron acceso a un identificador luego de una falla en el proceso de creación de imágenes de Docker de la empresa. Usaron esta identificación para modificar el script Bash Uploader de Codecov y luego recuperar las identificaciones y los secretos expuestos de muchos entornos de CI/CD de clientes.
Por lo tanto, el desafío es encontrar una manera de garantizar la creación y el despliegue seguros de aplicaciones sin ralentizar el proceso de desarrollo. Por lo tanto, la seguridad debe ser parte del proceso general de garantía de calidad que ya existe, para constituir una base en la que los desarrolladores puedan confiar para facilitar su vida diaria.
Afortunadamente, a medida que las organizaciones se adhieren a las mejores prácticas de DevSecOps, se dan cuenta de la vulnerabilidad de las cadenas de suministro de software y de lo que se puede hacer para incorporar una seguridad perfecta. Sin embargo, las organizaciones no pueden esperar que los desarrolladores dominen todos los matices de la ciberseguridad o que presten la debida atención a las prácticas de higiene cibernética predominantes.
Estaciones de trabajo y herramientas seguras para desarrolladores
De vez en cuando, los desarrolladores necesitan escalar los privilegios de sus herramientas para escribir y confirmar código. Muchas organizaciones resuelven este problema otorgándoles plenos derechos administrativos locales. Pero esta solución nunca debe elegirse por defecto, y siempre se debe aplicar el principio de privilegio mínimo.
También es importante protegerse contra el robo de identificadores en navegadores donde se pueden almacenar secretos de aplicaciones para acceder a repositorios, o en herramientas equipadas con interfaces de línea de comandos (CLI) donde estos mismos secretos se pueden almacenar en archivos de configuración.
La clave de este enfoque es aprovechar las soluciones que no se basan en políticas obsoletas de listas de aplicaciones permitidas o prohibidas, sino que proporcionan controles proactivos y predictivos.
Asegurar la automatización
Una otro vector de amenaza sobre tecnologías de automatización que los desarrolladores ahora usan comúnmente para codificar la infraestructura, así como las muchas herramientas de desarrollo utilizadas a lo largo de la tubería.
De hecho, es igualmente importante administrar y rotar los secretos utilizados por estas herramientas y plataformas, así como garantizar que las aplicaciones y los procesos se autentiquen de forma segura para recuperar los secretos administrados.
Muchas herramientas y servicios que ofrecen los proveedores de la nube y las plataformas de gestión de contenedores incorporan funciones de gestión de secretos. Sin embargo, cada proveedor ofrece un enfoque diferente de la seguridad, ofreciendo diferentes niveles de madurez y experiencia y utilizando diferentes interfaces, estableciendo efectivamente su propia «isla de seguridad». El uso de estas capacidades nativas de gestión de secretos es ciertamente preferible a una ausencia total de seguridad; maíz tener un repositorio centralizado permite identificar brechas políticas de seguridad e impulsar el cambio mucho más rápido que el enlace con diferentes herramientas y proveedores.
determinar quién tiene De Verdad necesita acceder a lo que
El siguiente paso es determinar quién específicamente en los equipos de desarrollo necesita validar el código fuente y elevar los archivos binarios como parte de un flujo de trabajo de DevOps. No todos los miembros de estos equipos necesitan tener derechos administrativos completos para todos los sistemas y herramientas que componen la canalización. En términos prácticos, los controles de acceso privilegiado justo a tiempo pueden brindar a los desarrolladores afectados la capacidad de acceder a lo que necesitan, cuando lo necesitan, según su función. Cuando es necesario elevar los privilegios, los equipos de seguridad cibernética deben monitorear a qué recursos se les otorga acceso y quién tiene acceso a ellos.
Acceso seguro a recursos y máquinas virtuales de producción
Los desarrolladores tampoco deben tener acceso directo a máquinas virtuales en entornos de producción. Si es necesario, sus sesiones deben centralizarse utilizando un servidor de rebote o una puerta de enlace de acceso web seguro, para limitar los riesgos. Estas excepciones requerirán un mayor nivel de aprobación y revisión, y de ninguna manera se permitirán de manera permanente. Por lo tanto, se debe implementar un estricto proceso de aprobación para la asignación y activación de políticas en todo el flujo de trabajo de DevOps..
Además, políticas de privilegios mínimosasí como procesos de monitoreo y aislamiento de sesiones que se aplican en un entorno local, debe extenderse a la nube ; incluida la provisión de una evaluación continua de cómo las entidades humanas y no humanas obtienen permisos, así como las mayores posibilidades que ofrece la nube.
Acceso seguro para desarrolladores, pero también acceso al código y a la canalización de desarrollo
Asegurar la tubería de desarrollo, el corazón de la cadena de suministro digital, en última instancia, no es un proceso de una sola vez.. Su protección debe en efecto evolucionar continuamente y ser tratados en fases jerárquicas dependiendo de los riesgos. Por lo tanto, los equipos de seguridad e identidad y administración de acceso (IAM) deben reevaluar constantemente los permisos y asumir que no se debe confiar en ninguna identidad, ya sea persona o máquina, como parte de un enfoque. seguridad más amplia basada en Zero Trust. Al mismo tiempo, los secretos deben protegerse cuidadosamente; gracias a una bóveda que los encripta y protege su acceso, constituyendo la última línea de defensa en cualquier cadena de suministro de software.
___________________
Por Ketty CassamajorResponsable de Preventa para el Sur de Europa en CyberArk
Lea también acerca de cómo asegurar el acceso y el código de los desarrolladores:
> Combine «confianza cero» y privilegios mínimos para proteger las identidades en la nube
> De DevOps a DevSecOps: los desafíos de integrar la ciberseguridad en DevOps.
> Seguridad: el eslabón perdido en la revolución DevOps…
> El estado de emergencia del sector salud para protegerse contra el ransomware.
[

