Caos en el cosmos (DB)

06/09/21

Hace unos días, mientras los destellos de frescura se filtraban en la ola de calor de agosto, una pregunta muy importante pero algo provocativa apareció nuevamente en las redes sociales profesionales: "¿Qué tan segura es la nube?"

El principal motivo de esta duda radica en una vulnerabilidad de un componente de software descrito por algunos investigadores de la empresa. Fenómeno.

Intentemos investigar qué sucedió para comprender los riesgos y las soluciones.

Microsoft, como parte de las soluciones en la nube que van bajo el paraguas de "Azure", ofrece una solución de base de datos llamada Cosmos DBEsta es una base de datos NoSQL, por lo tanto, radicalmente diferente en estructura y rendimiento en comparación con una base de datos relacional como SQLServer.

Las ventajas que empujan a las pequeñas y grandes empresas a adoptar una base de datos NoSQL en la nube son esencialmente tres: almacenar grandes cantidades de datos no estructurados, velocidad de respuesta en unos pocos milisegundos y, por último, pero no menos importante, escalabilidad a nivel global. Estas ventajas, combinadas con el poder de la nube, explican las razones del éxito de Cosmos DB.

En agosto de 2021 la empresa Fenómeno, técnicamente dirigida por Ami Luttwak, quien recientemente ocupó el mismo cargo en Microsoft Cloud Security Group, informa a Microsoft que su equipo de investigación ha identificado una vulnerabilidad en un componente de software utilizado con Cosmos DB eso se llama Cuaderno Jupyter.

Esta es una pequeña aplicación de esquema del motor de base de datos principal, que se define a sí mismo Formato de documento abierto.

En la práctica, es una forma de representar datos que le permite crear y compartir documentos que contienen desde texto narrativo hasta ecuaciones científicas, desde código de software hasta datos más complejos, como se simplifica en la siguiente imagen.

Estos documentos pueden almacenarse en la base de datos, luego consultarse, ordenarse, extraerse, etc.

Cuaderno Jupyter no nace con Cosmos DB, pero hace unos diez años como parte del lenguaje de programación Python. En 2015 viene desagregado en un proyecto de código abierto independiente llamado Proyecto Jupyter.

Expresado en los términos más simples posibles para comprender el riesgo, la vulnerabilidad de Cuaderno Jupyter, si se explota con un especial explotar codificado para la ocasión, permite a un atacante interrogar al componente Cuaderno Jupyter de una base de datos Cosmos DB accesible desde Internet, obteniendo credenciales válidas útiles para visualizar, modificar y eliminar datos en el usuario de Cosmos DB.

Como siempre ocurre cuando las cosas van bastante bien, los investigadores le han dado un nombre a esta vulnerabilidad llamándola CaosDB e informó a Microsoft de acuerdo con los dictados de la Responsable Divulgación.

La compañía de Redmond reaccionó rápidamente en menos de 48 horas al deshabilitar esta opción de software que estaba presente de manera predeterminada en todas las instancias. Cosmos DB independientemente del uso y alertó a los clientes del riesgo para que pudieran modificar las configuraciones para remediar el riesgo de compromiso potencial.

Concluyo esta discusión con una serie de cinco preguntas para aclarar el riesgo real, por último ofreciendo mi reflexión sobre el tema..

Entonces, ¿la nube es segura?

Como puede ser cualquier implementación accesible por cualquier persona autorizada y desde cualquier lugar del planeta. Para incrementar el nivel de seguridad -en comparación con las empresas que como actividad principal hacen otra cosa- existe la atención constante y continua de quienes generan una parte importante de sus ganancias en estos servicios y tienen todo el interés en la construcción y conservación. .una relación de confianza basada en la integridad de los datos, así como en su confidencialidad.

Pero, ¿esta vulnerabilidad se mantuvo activa durante meses antes de ser detectada?

Como cientos de miles de vulnerabilidades, algunas de las cuales permanecen inactivas durante años hasta que se descubren. Microsoft también ha confirmado que no existe un acceso ilegal a los datos debido a esta vulnerabilidad. También debe recordarse que la vulnerabilidad de los componentes no significa necesariamente una vulnerabilidad de la plataforma.

¿Cómo puedo protegerme de los ataques a la nube?

Cuidando tener siempre la máxima visibilidad sobre su entorno digital, además del conocimiento de las diferentes opciones de configuración de las instancias que se activan en entornos de nube. Por ejemplo, aunque vulnerable debido a un componente de software como Jupyter Notebook, una base de datos CosmosDB se vuelve comprometida solo si se expone a la accesibilidad pública a través de Internet. Y no debemos olvidar el riesgo interno, derivado de que los atacantes exploten vulnerabilidades desde dentro de los perímetros de seguridad.

¿Cómo puedo mitigar el riesgo de esta vulnerabilidad?

Además de guía proporcionada por Microsoft, hace dos días el mismo Wiz publicó unas interesantes pautas sobre el tema, que se pueden consultar en este enlace.

Pero, ¿no debería ser responsabilidad de Microsoft garantizar la seguridad de mi cuenta en la nube?

No. O mejor dicho, no del todo. Ciertamente, es trabajo de Microsoft garantizar que el software y las plataformas que se ofrecen como servicio permanezcan lo más libres posible de errores y vulnerabilidades, una actividad que realiza continuamente cualquiera que ofrezca servicios en la nube a terceros. De hecho, en este caso la vulnerabilidad se encontró en una relación continua entre Microsoft y sus socios con el objetivo de incrementar la seguridad de los servicios.

También es importante que los usuarios comprendan el concepto de responsabilidad compartida, del que he hablado en otro articulo más en detalle y que resumo aquí con un ejemplo: supongamos que alquilamos una casa equipada con todas las características de seguridad más avanzadas y actualizadas, para hacerla verdaderamente una fortaleza prácticamente inexpugnable. Sin embargo, somos las personas a las que se les entregan las llaves para abrir la puerta de esta casa. somos nosotros quienes decidimos si al salir de casa dejamos las ventanas entreabiertas; también somos nosotros los que decidimos hacer una copia de seguridad de las llaves para pegarlas debajo del paragüero con cinta adhesiva porque nunca se sabe.

La fuerza de cada cadena es igual a su eslabón más débil y, a menudo, este eslabón es lo que es. une la silla al teclado.

Marco Rottigni 

Dibujos animados: simone domini

Para saber más:

El proyecto Jupyter https://jupyter.org/

Introducción a CosmosDB https://docs.microsoft.com/it-it/azure/cosmos-db/introduction

Informe de Wiz sobre la vulnerabilidad https://www.wiz.io/blog/chaosdb-how-we-hacked-thousands-of-azure-customers-databases

Directrices de Wiz sobre cómo mitigar https://www.wiz.io/blog/protecting-your-environment-from-chaosdb