El descubrimiento masivo de secretos en GitHub en 2024 pone de relieve la vulnerabilidad continua de las credenciales de texto simple en los repositorios de código. Este fenómeno se ve agravado por la proliferación de identidades de máquinas, de las que las claves API representan una parte importante, lo que subraya la necesidad de soluciones sólidas de gestión de secretos.
En 2024, con más de 12,8 millones de secretos descubiertos en repositorios públicos de GitHub, está claro que las credenciales de texto sin formato codificadas de forma rígida son un problema grave. Peor aún, este problema empeora cada año: el año anterior se descubrieron 10 millones de secretos y el año anterior a ese, 6 millones. ¡Estos no son resultados acumulativos!
Si analizamos un poco más en profundidad estas cifras, queda claro que los secretos específicos detectados, la gran mayoría de los cuales son claves API, superan con creces a los secretos genéricos detectados. Esto tiene sentido si tenemos en cuenta que las claves API se utilizan para autenticar servicios, dispositivos y cargas de trabajo específicos en aplicaciones y canales para permitir la comunicación entre máquinas. Esto coincide en gran medida con el estudio de CyberArk que indica que las identidades de las máquinas superan en número a las identidades humanas en una proporción de 45 a 1. Esta brecha solo se ampliará a medida que integremos cada vez más servicios en las bases de código a un ritmo cada vez mayor.
La proliferación de secretos es claramente un problema tanto para las identidades humanas como para las identidades de las máquinas, entonces ¿por qué deberíamos hacer esta distinción?
El término “identidades de máquinas” se utiliza para distinguir esta área de la proliferación de secretos y sus desafíos particulares de identidades y credenciales humanas. Cada una de estas áreas es problemática, pero cada una requiere enfoques diferentes.
En su informe IAM Technologies Hype Cycle, Gartner define el término de la siguiente manera: “ Una identidad de máquina es una credencial utilizada por cualquier punto final (que puede ser un dispositivo IoT, un servidor, un contenedor o incluso una computadora portátil) para establecer su legitimidad en una red. »
Este término cubre todas las claves de acceso API, certificados, infraestructura de clave pública (PKI) y cualquier otro medio posible para autenticar las comunicaciones de máquina a máquina.
Solución al problema de la fuga de identidad de humanos y máquinas
Empecemos por las identidades humanas. Las personas necesitan poder autenticarse para acceder a los sistemas y hacer su trabajo. El uso de un sistema de autenticación multifuncional y resistente al phishing, preferiblemente basado en hardware, cada vez que un humano utiliza una contraseña es una estrategia sólida. Incluso si se filtra una contraseña, es mucho más difícil explotarla y el usuario tiene tiempo de cambiarla. Si bien no es una solución milagrosa, Microsoft cree que esto podría detener hasta el 99,9 % de los inicios de sesión fraudulentos. Mejor aún, si existe una forma de eliminar esa contraseña, como con una clave de acceso que utilice FIDO2 o biometría basada en hardware para la autenticación.
La gestión de recursos de las máquinas requiere un enfoque diferente, ya que no podemos simplemente habilitar la autenticación multifactor para las máquinas. Tampoco es posible alterar las identidades en esas máquinas, ya que la empresa las requiere para funcionar y las conexiones deben seguir manteniendo los sistemas en funcionamiento y satisfacer el lado de disponibilidad de la tríada CIA. De manera similar, no se recomienda dedicar recursos y horas interminables a esta cuestión, ya que las nuevas vulnerabilidades en forma de CVE, configuraciones incorrectas y problemas de licencias siguen siendo otras áreas que los equipos de seguridad deben abordar.
En un mundo ideal, todos los sistemas deberían pasar inmediatamente a utilizar certificados de corta duración o JWT que se emitan en tiempo de ejecución cuando sea necesario y que duren solo mientras dure la solicitud. De hecho, existen marcos como SPIFFE y su implementación, SPIRE, que pueden ayudar a las organizaciones a lograr este objetivo. Si bien se trata de un enfoque excelente, se enfrenta a problemas reales de adopción por parte de los desarrolladores, tiempo y esfuerzo de desarrollo y los gastos generales que supone ejecutar estos servicios a gran escala.
Rotación automática de secretos con mayor frecuencia
Si bien podemos soñar con muchos escenarios ideales, debemos abordar la situación actual de frente. Los desarrolladores seguirán utilizando identidades de máquinas, que pueden ser descubiertas y explotadas por atacantes. Al mismo tiempo, sabemos que si un actor malintencionado consigue un secreto, solo puede explotarlo si aún es válido. La mejor solución práctica para cualquier organización es rotar los secretos con mucha más frecuencia.
De todos los secretos válidos descubiertos en público, más del 90 % seguían siendo válidos cinco días después (consulte el artículo de Gitguardian sobre el estado de la proliferación de secretos). Esto demuestra que los equipos esperan que los secretos tengan una larga vida útil y que el enfoque manual actual para rotar secretos es difícil.
____________________________
Par Dwayne McDanielDesarrollador y defensor de la ciberseguridad en Gitguardian
Lea también:
Seguridad de aplicaciones: el nuevo segmento de la detección de secretos
Lecciones que debemos aprender del ciberataque a XZ Utils…
Protección de claves de acceso: lecciones aprendidas del ataque a las claves de Azure
GitGuardian lanza HasMySecretLeaked para proteger secretos corporativos
¿Cuáles son las mejores prácticas de IAM?
[

