El culpable son las interfaces de Kafdrop mal configuradas, utilizadas para la gestión centralizada de la plataforma de código abierto.
Según los investigadores, algunas de las mayores empresas del mundo han expuesto montones de información sensible desde la nube, gracias a instancias de Kafdrop mal configuradas.
Kafdrop es una interfaz de gestión para Apache Kafka, que es una plataforma de código abierto y nativa de la nube para recoger, analizar, almacenar y gestionar flujos de datos. Kafka tiene varios casos de uso común; por ejemplo, en el sector financiero se utiliza a menudo para el procesamiento de datos en tiempo real con el fin de detectar y bloquear las transacciones fraudulentas a medida que se producen. En el mundo de la Internet de las cosas, puede soportar la asignación de recursos «justo a tiempo» para aplicaciones de redes inteligentes y similares. Otros usos incluyen el seguimiento de la actividad de las aplicaciones (clics de los usuarios, registros, tiempo de permanencia en determinadas páginas o funciones, pedidos, etc.); y el registro de eventos o la supervisión en tiempo real.
Kafka está adaptado a las grandes empresas, y lo utilizan el 60% de las 100 empresas de la lista Fortune, como Box, Cisco, Goldman Sachs, Intuit y Target, entre otras, además de ocho de los 10 mayores bancos del mundo, las 10 mayores aseguradoras mundiales y ocho de los 10 principales proveedores de telecomunicaciones del mundo, entre otros miles.
Por lo tanto, una herramienta de gestión vulnerable o expuesta para la plataforma se convierte en «un objetivo perfecto para los atacantes que pueden infiltrarse y exfiltrar datos y tomar el control de la gestión del clúster», según los investigadores de Spectral.
Kafdrop: Un eje central y un objetivo
Uno de esos «objetivos perfectos» es Kafdrop, una popular interfaz de usuario de código abierto que puede desplegarse como contenedor Docker.
Los investigadores de Spectral explicaron que conecta y mapea automáticamente los clústeres de Kafka existentes, lo que permite a los usuarios gestionar la creación y la eliminación de temas, así como «comprender la topología y la disposición de un clúster, profundizando en los hosts, los temas, las particiones y los consumidores». También permite muestrear y descargar datos en directo de todos los temas y particiones, actuando como un consumidor legítimo de Kafka».
Desafortunadamente, los investigadores de Spectral también descubrieron múltiples instancias de interfaces Kafdrop mal configuradas que exponían clusters Kafka completos a la Internet pública.
«Estos clusters exponen datos de clientes, transacciones, historiales médicos y tráfico interno del sistema: proporcionando una mirada interna al sistema nervioso completo, todo público», según el análisis de la firma, publicado el lunes. «Encontramos clusters expuestos de empresas de una multitud de industrias, incluyendo seguros, salud, IoT, medios de comunicación y redes sociales».
Los investigadores añadieron: «También se expuso el tráfico en tiempo real que revela secretos, tokens de autenticación y otros detalles de acceso que permiten a los hackers infiltrarse en las actividades en la nube de las empresas en AWS, IBM, Oracle y otras.»
Advirtieron que el impacto en las empresas afectadas podría ser significativo, con varios resultados de ataque posibles, incluyendo:
- Compromiso de información sensible/robo de datos
- Eliminación de temas y fuentes de datos de Kafka, causando estragos en los sistemas internos y llevando a una potencial denegación de servicio (DoS)
- Exposición de datos de registro y transaccionales: todo, desde registros de tráfico sensibles hasta transacciones financieras, y registros de bases de datos internas hasta cargas útiles de aplicaciones sensibles
- Acceso adicional a otras partes de la nube/red corporativa mediante la inyección de mensajes especialmente diseñados en Kafka; Kafka puede conectarse a sistemas externos para la importación/exportación de datos
- Incumplimiento de la normativa
«Dado que Kafka sirve como eje de datos y sistema central de procesamiento de datos de misión crítica, un clúster expuesto pone en riesgo todas las facetas de la organización», señaló el investigador. «Al entender la topología de un clúster, un hacker puede conectarse eficientemente y hacerse pasar por un consumidor legítimo, inyectando o sacando datos a voluntad».
En uno de los clusters expuestos, Spectral observó tráfico en directo en «uno de los mayores medios de comunicación del mundo», que contenía tokens de servicio, secretos, cookies y más. En otro caso, los investigadores pudieron ver el tráfico de correo electrónico, que contenía contenido de mensajes, tokens y cookies privadas transportadas como parámetros dentro de las URL de los correos electrónicos.
Una de las grandes organizaciones médicas tenía «una topología completa para el manejo de solicitudes, procesamiento e inventario de medicamentos, así como transacciones de prescripción de clientes», añadieron los investigadores, mientras que otro clúster expuesto contenía reclamaciones de seguros, transacciones e interacciones entre agentes y clientes.
Las empresas afectadas fueron notificadas, dijeron los investigadores.
Prevención de errores de configuración en la nube
Las desconfiguraciones en la nube son cada vez más comunes, con fugas de datos casi endémicas entre los cubos de almacenamiento en la nube pública. Pero la investigación de Spectral muestra que hay otras configuraciones erróneas comunes en la nube de las que preocuparse.
Para evitar exponer las joyas de la corona de la empresa, Kafdrop debe ser redistribuido detrás de un servidor de aplicaciones, con un módulo de autenticación activo y configurado, señalaron los investigadores.
«Con sólo un punto de acceso conectado, ahora se puede añadir un módulo de autenticación a [algo como] Nginx y utilizarlo como capa de autenticación», explicaron.
Además, Spectral aportó código de autenticación a la base de código abierto a raíz de sus hallazgos.
«Kafdrop se basa en el marco Spring-Boot, que soporta la seguridad como un ciudadano de primera clase e incluye una amplia gama de mecanismos de autenticación incorporados», según el escrito. «Como tal, en Spectral hemos contribuido con una adición de código de autenticación en Kafdrop utilizando una simple autenticación de nombre de usuario y contraseña. Aunque se trata de una metodología bastante básica, es mejor que no tener ninguna autenticación».
Otras estrategias de remediación y mitigación incluyen el cifrado de los datos en reposo en Kafka, y la configuración de las aplicaciones para que siempre cifren al leer o escribir datos hacia y desde Kafka; y, el empleo de escáneres avanzados de desconfiguración para ayudar a detectar la autenticación rota, los problemas de saneamiento de entrada y los errores de cifrado.