A medida que los ataques a la cadena de suministro de software aumentan, se hace evidente que los ciberdelincuentes buscan nuevas formas para comprometer las credenciales de los desarrolladores o los privilegios administrativos de una herramienta de desarrollo. Pero más preocupante resulta que un gran número de usuarios, incluidos los desarrolladores, sean usuarios con excesivos privilegios y acceso a amplias áreas de un entorno TI, por lo que se convierten en objetivos muy atractivos. Y en muchos casos asumen una elevada responsabilidad en la gestión de estos entornos. Brandon Traffanstedt, director senior de tecnología global de CyberArk, señala que “los ciberdelincuentes saben que los desarrolladores tienen todo el acceso que necesitan. Por ello, necesitamos proteger sus identidades y su acceso, sin restringir el enorme trabajo que realizan«.
La ciberseguridad siempre ha tratado de limitar el riesgo, por lo que asegurar las cadenas de suministro de software debe hacerse con rapidez. CyberArk analiza los pasos necesarios para reforzar la seguridad de DevOps, sin que redunde en el trabajo del desarrollador. El primer paso siempre será proteger las estaciones de trabajo y las herramientas que los desarrolladores utilizan regularmente.
1.- Estaciones de trabajo y herramientas seguras para desarrolladores
A veces, los desarrolladores necesitan mejorar ciertas herramientas que utilizan para escribir y confirmar código y las organizaciones lo resuelven proporcionando privilegios administrativos locales completos. En este sentido, el principio de privilegio mínimo debería aplicarse de forma coherente. “El objetivo es reducir o erradicar por completo la enorme cantidad de administradores locales y, al mismo tiempo, proporcionar el nivel correcto de elevación según la política de seguridad”, apunta Traffanstedt.
Muchos ataques de robo de credenciales se pueden ejecutar sin privilegios de administrador local y desde la estación de trabajo de un solo desarrollador, por lo que resulta importante protegerse contra el robo de credenciales en los navegadores, donde los secretos de la aplicación pueden almacenarse para acceder a repositorios o herramientas con interfaces de línea de comandos (CLI), y donde esos mismos secretos se pueden almacenar directamente en archivos de configuración. La clave es aprovechar las soluciones que proporcionan controles proactivos y predictivos.
2.- Asegurar la automatización
Otros vectores de amenazas que deben protegerse son los marcos de automatización que los desarrolladores emplean para configurar la infraestructura como código, junto con la enorme lista de herramientas de desarrollo que se utilizan en todo el proceso. Es fundamental administrar y rotar los secretos utilizados por estas herramientas y plataformas, además de garantizar que las aplicaciones y los procesos se autentiquen de forma segura para recuperar esos secretos administrados. De lo contrario se habrá realizado una gran cantidad de trabajo con muy poco valor.
Muchas de las herramientas y servicios que ofrecen los proveedores de la nube y las plataformas de contenedores tienen algunas capacidades de gestión de secretos integradas. Sin embargo, cada proveedor de herramientas adopta un enfoque diferente de la seguridad, tiene un nivel variable de madurez y experiencia, y utiliza diferentes interfaces, estableciendo su propia «isla de seguridad«. El uso de estas capacidades de administración de secretos nativos es mejor que ninguna seguridad, apunta Traffanstedt.
3.- Determinar, realmente, quién necesita acceso a qué
El siguiente paso es determinar quién puede confirmar el código fuente y elevar los binarios como parte de un flujo de trabajo de DevOps. No todos los miembros del equipo de DevOps necesitan tener derechos administrativos completos para todos los sistemas y herramientas que componen la canalización.
Los controles de acceso privilegiado just-in-time pueden brindar a determinados desarrolladores la flexibilidad para acceder a lo que necesitan y cuando lo necesitan, según el rol. Cuando se deban elevar los privilegios, los equipos de ciberseguridad deben monitorizar los recursos a los que se accede y por quién. A veces, resulta evidente que muchos desarrolladores solo necesitan derechos de administrador local para escribir código y solo unos pocos miembros del equipo de desarrollo son responsables de administrar las confirmaciones de código y elevar el código a los entornos de producción.
4.- Acceso seguro de nivel 0 a recursos y máquinas virtuales
De manera similar, los desarrolladores no deberían tener acceso directo a máquinas virtuales en entornos de producción. Si necesitan acceso, deben gestionarlo mediante la administración de sesiones o una puerta de enlace de acceso web segura para minimizar los riesgos. No se debe permitir que las excepciones a las políticas de seguridad se conviertan en permanentes. Debe haber un proceso estricto para aprobar la asignación y activación de políticas en todo el flujo de trabajo de DevOps.
También se debe prestar especial atención a las plataformas en la nube que brindan a los usuarios varios niveles de opciones de acceso. Las mismas reglas de privilegio mínimo y procesos de monitorización y aislamiento de sesión que se aplican en un entorno local deben extenderse a la nube, evaluando continuamente cómo se autorizan las entidades humanas y no humanas, así como por el mayor alcance que puede proporcionar la nube.
Descubre más desde Revista Ciberseguridad
Suscríbete y recibe las últimas entradas en tu correo electrónico.
Cómo proteger a los desarrolladores y al código https://t.co/2FsPjSZnBS
RT @ciberseguridadl: Cómo proteger a los desarrolladores y al código4 minutos de lectura @ciberseguridadl https://t.co/iz6mTadOPR
RT @ciberseguridadl: Cómo proteger a los desarrolladores y al código4 minutos de lectura @ciberseguridadl https://t.co/iz6mTadOPR