La ciberseguridad es un campo en constante evolución que enfrenta desafíos cada vez más sofisticados, aunque en la realidad se descuidan temas ya sabidos. Uno de los conceptos clave en este ámbito es la ventana de tiempo, un término que se refiere al periodo durante el cual un sistema o red es vulnerable a ataques o explotación tras la identificación de una debilidad.
El autor desea compartir y visibilizar cómo un concepto ya aprendido (teóricamente), vuelve a ser relevante en un escenario nuevo de infraestructura tecnológica, como puede ser dejar los sistemas que se tenían localmente y llevar los mismos a la computación en la nube. En este caso de realidad presente, se omitió considerar la ventana de tiempo en la configuración del almacenamiento de nube.
Comprender esta situación es crucial para las organizaciones que buscan proteger sus activos digitales.
Pero ¿de qué se trata realmente la ventana de tiempo?
La ventana de tiempo se refiere al lapso en el cual un atacante o ciberdelincuente puede aprovechar una vulnerabilidad antes de que se implemente una solución o mitigación efectiva. Este periodo puede variar ampliamente, desde minutos hasta años, dependiendo de la rapidez con la que se identifiquen y solucionen las debilidades.
Por ejemplo, tras la divulgación de una vulnerabilidad crítica, puede existir un lapso en el que los sistemas de una organización continúan expuestos hasta que se aplique un parche o una medida de seguridad adecuada.
El ciberdelincuente y sus ventanas de tiempo
Para un atacante, la ventana de tiempo representa una oportunidad. Durante este periodo, uno o más ciberdelincuentes pueden realizar una serie de acciones maliciosas, como la explotación de la vulnerabilidad, para acceder a datos sensibles almacenados, implantar malware o interrumpir los servicios críticos de la organización, entre otros.
La efectividad de estos ataques depende en gran medida de la rapidez con la que el atacante puede actuar antes de que la vulnerabilidad sea mitigada por los administradores de seguridad. Por lo tanto, el conocimiento y la identificación de estas ventanas son esenciales.
Escenarios de uso de una ventana de tiempo
Para comprender fácilmente, un caso común en el que se aplica el concepto de ventana de tiempo es en las políticas de contraseñas de usuarios. Por ejemplo, muchas organizaciones implementan políticas que requieren el cambio de contraseñas en intervalos regulares, como cada 60 o 90 días. Este enfoque pretende reducir la ventana de tiempo en la que una contraseña comprometida puede ser utilizada por un atacante.
Sin embargo, es importante destacar que una ventana de tiempo estricta no solo se aplica a las contraseñas. En el caso de sistemas críticos, como los que manejan información financiera o datos de salud, se pueden establecer ventanas de tiempo específicas para la implementación de parches de seguridad tras la divulgación de vulnerabilidades. Por ejemplo, un sistema puede requerir que todos los parches de seguridad se apliquen dentro de un plazo de 30 días después de su liberación, lo cual reduce la ventana de tiempo en la que el sistema es susceptible a la explotación.
Caso real y opiniones
En las últimas semanas el autor ha encontrado que una organización utilizaba los servicios de almacenamiento de nube con credenciales sin restricciones de tiempo y alcance. Por ejemplo, una credencial de acceso al almacenamiento de nube era usada en el backend de la aplicación Web sin restricciones de tiempo y con acceso completo, privilegio que le permitía acceso a diferentes unidades de almacenamiento de otras aplicaciones de la misma organización.
Si bien esto es claramente una implementación insegura ¿Cuántas empresas delegan en su personal de infraestructura, DevOps o desarrollo, la implementación de sus sistemas? Luego, la revisión por un equipo de ciberseguridad nunca llega, ya que no se cuenta con personal especializado o, bien, se percibe que el sistema quedó funcionando aparentemente bien.
En opinión del autor, es necesario un dominio del concepto de ventana de tiempo por todo el personal de IT, ya que una mala configuración puede convertirse en un trampolín para un ciberdelincuente.
Otro concepto importante que está relacionado a esto, es el de privilegios mínimos, que establece que cada usuario, programa o sistema debería tener el mínimo nivel de acceso necesario para realizar sus tareas o acciones. Esto significa que, si se necesita acceso a ciertos archivos o a una unidad de almacenamiento para cumplir con su trabajo, no debería contar con permisos para acceder a otros recursos que no son indispensables para sus funciones.
Para resolver esta situación observada se deberían implementar buenas prácticas; mínimamente, se debería poner en práctica el uso del privilegio mínimo al momento de crear la identidad o credenciales de acceso al backend, para que la aplicación Web no tenga acceso a otras unidades de almacenamiento de otras aplicaciones o que no son utilizadas por la misma aplicación. Además, sería conveniente limitar el acceso desde el backend de la aplicación a una sola unidad de almacenamiento, si es posible. También resulta primordial limitar la validez de la credencial productiva a 1 año, para que no sea perpetua y sea cambiada frecuentemente.
Por último, se podría mejorar la seguridad en el frontend usando enlaces firmados para el acceso con una ventana de tiempo de 5 minutos, esto permitiría que quien descargue un archivo de la aplicación Web o intente acceder a un recurso, cuente con un enlace válido solo por una ventana de tiempo pequeña, que sea inválida en otro contexto, por más que tenga su sesión de usuario iniciada en la aplicación Web.
La mayoría de los proveedores de servicios de almacenamiento en la nube conocen los escenarios en los que los ciberdelincuentes se aprovechan de una implementación inadecuada o insegura. Entonces, se debería tomar en cuenta la revisión de la documentación oficial y las recomendaciones del proveedor, o lo que es mejor, hacer una delegación de estos problemas importantes a un equipo de consultores competentes en materia de seguridad.
La ventana de tiempo es un concepto relacionado con la seguridad que debe conocerse para comprender que, mientras más larga es la ventana de tiempo en favor del atacante, mayor probabilidad de riesgos e impactos existirán sobre los activos de la organización.
Puede que esta nota haya despertado algunas interrogantes a considerar, como lo siguiente: ¿Sospecha que su organización puede tener una implementación insegura actualmente? ¿Se ha implementado una buena definición o un gobierno adecuado del almacenamiento en la nube? ¿Cree que la ventana de tiempo es un concepto importante en materia de seguridad? ¿Conoce las ventanas de tiempo utilizadas en sus sistemas expuestos a Internet? ¿Cuenta con personal especializado?
Si esta nota le pareció interesante, dejamos la invitación abierta para que exprese sus comentarios o experiencias ¡Hasta la próxima!
Deja tu comentario