[29/09/2021] A menudo se nos dice que la nube es más segura que las soluciones locales. Pero ¿lo es realmente? Ambas están sujetas a riesgos y vulnerabilidades similares, y la nube puede ser a veces más complicada que las locales debido a nuestra falta de familiaridad con la implementación y los parches.
Los últimos acontecimientos han puesto de relieve los riesgos de la nube. A continuación, se presenta una visión general de esos acontecimientos, las lecciones que se deben aprender de ellos y otros riesgos comunes de la nube que los administradores deben comprender.
Microsoft deja la puerta abierta a Azure Cosmos
Los investigadores de la empresa de seguridad Wiz anunciaron recientemente que fueron capaces de obtener un acceso completo y sin restricciones a las cuentas y bases de datos de varios miles de clientes de Microsoft Azure en sus bases de datos Cosmos. Pudieron manipular el cuaderno Jupyter local, y escalar privilegios a otros cuadernos de clientes que contenían varios secretos de clientes, incluyendo su clave primaria de Cosmos DB. "La vulnerabilidad afecta solo a las bases de datos Cosmos que tenían el cuaderno Jupyter habilitado y permitían el acceso desde IPs externas", escribieron los investigadores. Recomiendan varias formas de identificar y proteger estos cuadernos Jupyter en otra entrada del blog, y CISA recomienda que los usuarios de estos servicios rueden y regeneren las claves de certificado de Azure.
La vulnerabilidad de la máquina virtual Azure Linux requiere un parche manual
A continuación, los mismos investigadores descubrieron un problema importante que denominaron OMIGOD. Las vulnerabilidades se encontraron en la Infraestructura de Gestión Abierta (OMI), el equivalente en Linux de la Infraestructura de Gestión de Windows (WMI) de Microsoft. Este servicio se instala silenciosamente en todas las máquinas virtuales de Azure Linux. No es fácil de parchear y en este momento cualquier máquina virtual Linux recién instalada está sujeta a la potencial ejecución remota de código.
Los investigadores de Wiz encontraron que el 65% de los clientes estaban potencialmente expuestos al riesgo. Lo que es aún más preocupante para mí, como alguien que monitorea los problemas de parches, es que esta vulnerabilidad no solo es difícil de parchear, sino que la propia Microsoft no parece entender completamente las recomendaciones y los procesos para parchear y proteger las máquinas. Como señala la compañía en su blog, esta aplicación no tiene un mecanismo de actualización automática, por lo que hay que realizar un parche manual. Microsoft está en proceso de actualizar una versión fija de la OMI para que dependa de una versión parcheada.
Las vulnerabilidades de OMI y Azure Cosmos demuestran que incluso los mayores y mejores proveedores de la nube pueden tener vulnerabilidades. La clave es observar cómo responden los proveedores de la nube cuando se conocen esas vulnerabilidades.
Credenciales que quedan expuestas en los repositorios
Otra forma común en que los servicios en la nube están mal configurados o se dejan inseguros es el equivalente en la nube de una nota adhesiva en el escritorio con la contraseña escrita. Con demasiada frecuencia, los desarrolladores dejan contraseñas estáticas o guardadas en los repositorios de GitHub. A menudo oirá hablar de "builds" y "versiones" de código. Esto permite a los desarrolladores hacer un seguimiento de las distintas versiones, así como hacer un seguimiento de las correcciones de errores. También permite a los desarrolladores dejar notas en los márgenes, y a veces eso incluye credenciales codificadas que los atacantes pueden descubrir.
En junio, GitHub añadió el escaneo de credenciales a sus herramientas. Han estado escaneando el código en busca de secretos que no deberían estar expuestos desde el 2015, pero añadieron el escaneo de credenciales del registro de paquetes para garantizar que estas contraseñas no puedan ser encontradas por los atacantes.
Lecciones aprendidas sobre la seguridad de los servicios en la nube
Los desarrolladores y administradores deberían siempre:
- Revisar cuáles de los servicios en la nube que utilizan tienen acceso de IP externa.
- Evaluar los riesgos que implica el acceso externo y determinar si hay otras formas de proteger ese acceso.
- Configurar las notificaciones de sus proveedores de la nube para mantenerse al tanto de los problemas de seguridad.
- Mantenerse al tanto de las charlas y noticias sobre seguridad relacionadas con la plataforma de desarrollo que utiliza. En el caso de Microsoft Azure, puede utilizar la página del Centro de Respuesta de Seguridad de Microsoft, y filtrar la familia de productos de Azure para las herramientas que utiliza. Los proveedores de la nube suelen solucionar el problema por su parte y le avisan si necesita instalar parches.
Las pequeñas y medianas empresas también tienen opciones. Decida dónde quiere que residan sus datos y determine si los proveedores que utiliza eligieron soluciones adecuadas. A menudo utilizo la política de contraseñas de un sitio como pista para saber lo receptivo y responsable que es un proveedor. Si hay un límite en el número de caracteres o un límite en el uso de frases de paso complejas, es una señal de que el proveedor está utilizando una solución de autenticación antigua. Si el sitio limita la autenticación de dos factores al mero uso de una función de texto del teléfono móvil y no ofrece una aplicación de autenticación, es una señal de que sus procesos de autenticación deben ser mejores.
Muchas organizaciones financieras solo ofrecen la autenticación por teléfono móvil como opción de doble factor. Las organizaciones financieras son a menudo las más lentas en el despliegue de nuevas tecnologías, ya que sus pruebas y requisitos conducen a largos despliegues. Asegúrese de que su información financiera está protegida al menos por algún tipo de proceso de dos factores.
Compruebe si los proveedores que utiliza han establecido programas de recompensa por errores para garantizar que los investigadores puedan revelar los problemas directamente a ellos. Por ejemplo, Microsoft tiene un programa de recompensas por errores en línea, así como uno específico para Azure.
Revise dónde traza el proveedor la línea de lo que es su responsabilidad y la suya. Microsoft tiene varios documentos técnicos sobre este concepto de responsabilidad compartida entre el proveedor y el desarrollador. Revise estos documentos para ver lo que se supone que deben hacer sus proveedores. En el caso de Microsoft:
"Para las soluciones locales, el cliente es responsable de todos los aspectos de la seguridad y las operaciones. Para las soluciones IaaS, los elementos como los edificios, los servidores, el hardware de red y el hipervisor deben ser gestionados por el proveedor de la plataforma. El cliente es responsable o tiene una responsabilidad compartida de asegurar y gestionar el sistema operativo, la configuración de la red, las aplicaciones, la identidad, los clientes y los datos. Las soluciones PaaS se basan en los despliegues IaaS, y el proveedor es además responsable de gestionar y asegurar los controles de la red. El cliente sigue siendo responsable, o tiene una responsabilidad compartida, de asegurar y gestionar las aplicaciones, la identidad, los clientes y los datos. En el caso de las soluciones SaaS, un proveedor proporciona la aplicación y abstrae a los clientes de los componentes subyacentes. No obstante, el cliente sigue siendo responsable; debe asegurarse de que los datos se clasifican correctamente y comparte la responsabilidad de gestionar sus usuarios y dispositivos finales".
Por último, fíjese en el proceso que sigue el proveedor para informar a sus clientes de los problemas de seguridad en la nube. ¿Recomiendan que se suscriba a las alertas cuando utilice su software? Al instalar la parte local del servicio en la nube, ¿se aseguran de que siempre se compruebe si hay actualizaciones necesarias cuando se utiliza la aplicación? Revise lo que dicen los usuarios actuales sobre el software, y cómo responde el proveedor a su base de clientes. Consulte a otros responsables de la toma de decisiones empresariales para conocer sus experiencias con sus proveedores de servicios en la nube. ¿Actualiza el proveedor sus servicios en la nube de forma oportuna y en qué medida le informa de estos mandatos de implantación?
En resumen, independientemente de dónde estén sus datos, tendrá que revisar cómo responden sus proveedores a los problemas. Atacantes e investigadores que buscan vulnerabilidades en la computación en nube. Sea un consumidor más consciente de los servicios en la nube. Pregunte a sus proveedores cómo gestionan la seguridad y la comunicación con usted y su empresa. Controle la rapidez con la que su proveedor responde a los problemas, y no cuántas afirmaciones le dan de que son seguros.
Basado en el artículo de Susan Bradley (CSO) y editado por CIO Perú