Fundamentos de seguridad en la nube, parte 1: Conoce tu entorno
7 de octubre de 2022
0 minutos de lectura140,000 números de Seguro Social y alrededor de 80,000 números de cuentas bancarias: eso fue lo que robó un atacante de una importante institución financiera en 2019. ¿Cómo ocurrió? El atacante usó credenciales de firewall para escalar privilegios y vulnerar instancias de Amazon en la nube que no estaban protegidas adecuadamente.
Cuando alguien alertó a la institución financiera a través de su programa de divulgación responsable, la empresa reaccionó rápidamente, encontró el origen de la configuración incorrecta y corrigió la vulnerabilidad que había hecho posible el robo de datos.
Esta brecha es un ejemplo de una organización que no conoce del todo su entorno y de cómo se puede aprovechar esa falta de conocimiento. No supieron que se había producido la brecha hasta que la atacante presumió de su exploit en línea y alguien les avisó. Esto demuestra por qué medidas como la detección de intrusiones no son tan útiles en la nube, y por qué la prevención y el diseño seguro (que comienza por conocer tu entorno) son tan fundamentales. La seguridad en la nube empieza por conocer a fondo tu entorno y evitar que los atacantes descubran esa información.
Pasos para conocer tu entorno
Conocer tu entorno es una idea fácil de entender, pero difícil de poner en práctica. Para muchos líderes de seguridad en la nube, el modelo mental de seguridad todavía supone que hay un servidor y un mundo exterior separado: una caja cerrada que se puede defender de las amenazas detectando y deteniendo los ataques en curso.
Pero la nube ha cambiado nuestras suposiciones. Incluso 16 años después del inicio de AWS, todavía tenemos que cuestionar la idea de que es fácil conocer los entornos de nube. En este artículo, presentamos cinco maneras de obtener visibilidad en toda la pila, desde el núcleo interno de tu entorno en la nube hasta sus límites exteriores.
1. Haz un mapa del SDLC en la nube
El paso más importante para conocer tu entorno es hacer un mapa de tu SDLC con el mayor nivel de detalle posible. En un entorno que prioriza la nube, esto significa mapear cómo, cuándo y dónde interactúan tu equipo y tus herramientas con el entorno de nube en ejecución.
En particular, concéntrate en mapear tus repositorios de código, tus herramientas de infraestructura como código y tus pipelines de CI/CD. Un SDLC seguro es aquel en el que se tiene en cuenta cada paso, incluidos el diseño, el desarrollo, la implementación y todos los pasos, procesos y herramientas intermedios.
Cuanto mejor conozcas el SDLC de tu infraestructura en la nube, más eficientemente podrás integrar la seguridad.
2. Registra los atributos de configuración de tus recursos
Los errores de configuración son especialmente riesgosos porque hay poco tiempo para corregirlos. A los pocos minutos de implementar un recurso expuesto a Internet en tu entorno, es probable que posibles atacantes ya lo hayan escaneado con herramientas automatizadas para detectar configuraciones incorrectas y otras vulnerabilidades que podrían explotar. Los ataques que comprometen el plano de control pueden ejecutarse en cuestión de minutos. Por eso, para los recursos críticos para la seguridad en la nube, el tiempo medio de corrección (MTTR) debería ser inferior a una hora.
Por suerte para quienes usan la nube, los proveedores ofrecen API a las que se puede acceder para registrar los atributos de configuración de todos los recursos en ejecución en un entorno. Sin embargo, conocer tu entorno no solo implica usar esas API: también significa expresar la información recopilada en un formato que se pueda consultar mediante automatización basada en políticas como código, para que los equipos puedan evaluar su seguridad dentro del contexto completo de su entorno.
3. Vincula los recursos de la nube con las aplicaciones
Los entornos de nube empresariales pueden incluir cientos de miles de recursos de distintos tipos, lo que dificulta saber dónde está cada recurso y cómo se usa. Para conocer mejor tu entorno, asocia tus recursos de la nube con tus aplicaciones. Al establecer esta conexión, puedes identificar con mayor precisión los componentes vulnerables que podrían poner en riesgo las aplicaciones relacionadas, y viceversa.
Este paso es importante porque las vulnerabilidades de las aplicaciones pueden permitir que se comprometa tu plano de control. El plano de control de la nube, como ya hemos explicado, es una red de API que los proveedores de nube ofrecen a los desarrolladores para que puedan configurar y administrar sus entornos de nube. Cuando se compromete un plano de control, por lo general mediante claves de API, los atacantes pueden ingresar al plano de control del proveedor de nube y conocer más sobre el entorno. Esto les permite desplazarse lateralmente y acceder a niveles más profundos del sistema.
Si un atacante compromete tu plano de control, tiene amplias posibilidades de modificar tu configuración de acceso. Luego puede explotar tu almacenamiento en la nube o tus contenedores y tomar el control de recursos y datos críticos.
4. Identifica las vulnerabilidades que podrían permitir la intrusión inicial
Conocer tu entorno significa verlo no solo desde tu perspectiva, sino también desde la de un posible atacante. De lo contrario, podrías ser como quien tiene varias cerraduras en la puerta principal, pero dejó sin seguro la ventana del sótano.
Primero, piensa desde afuera hacia adentro. Examina los recursos de tu entorno y evalúa cuáles podrían servir con mayor facilidad como punto inicial de intrusión. Conviene incluso simular un ataque para ver cómo, por ejemplo, una intrusión podría llevar a que se comprometa el plano de control. También podrías crear un equipo rojo o contratar uno: un grupo de personas autorizadas para simular un ataque a tus sistemas.
5. Traza las posibles rutas de ataque
Luego, trabaja desde adentro hacia afuera. Piensa en tus almacenes de datos más sensibles y analiza el camino en sentido inverso. ¿Qué rutas de ataque tienen más probabilidades de darles acceso a los atacantes? ¿Qué puntos de intrusión son más vulnerables y podrían abrir esas rutas?
Recuerda que los atacantes hábiles quizá no avancen de forma lineal. Un pequeño error, tal vez en la configuración, podría permitirles desplazarse lateralmente y obtener cada vez más acceso. Para conocer realmente tu entorno, debes identificar las rutas que podrían seguir los atacantes, por más indirectas que sean.
En particular, asegúrate de rotar tus claves de API con regularidad y monitorear la configuración de administración de identidades y accesos (IAM) y las políticas de acceso a los recursos (que podrían ser demasiado permisivas). Cuanto más permisivas sean tu configuración y tus políticas, más probable será que un atacante pueda explotarlas.
Conócete a ti mismo: solo entonces será posible protegerte
Conocer a fondo tu entorno es un requisito previo para proteger la nube, al igual que impedir que tus adversarios descubran ese conocimiento. Una herramienta nueva y sofisticada o un consultor muy bien pagado pueden prometer seguridad, pero ninguno podrá satisfacer tus necesidades de seguridad si primero no generas conocimiento y visibilidad.
Sin embargo, el conocimiento y la visibilidad no se obtienen con la simple observación. Sigue los cinco pasos descritos arriba para desarrollar visibilidad en tus sistemas de nube de manera intencional y deliberada.
¿Listo para sentar las bases de la seguridad en la nube?
Para obtener más información, descarga nuestro informe técnico sobre los 5 fundamentos de la seguridad en la nube.


