Grave vulnerabilidad en io_uring de Linux permite rootkits indetectables

Iniciado por Dragora, Abril 24, 2025, 12:04:37 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Una vulnerabilidad crítica en el subsistema io_uring de Linux está exponiendo a los sistemas a rootkits capaces de operar sin ser detectados por la mayoría de las soluciones de seguridad en tiempo de ejecución. Investigadores de ARMO, especialistas en seguridad de Kubernetes, descubrieron esta falla y desarrollaron un rootkit de prueba de concepto llamado "Curing", que aprovecha la interfaz io_uring para ejecutar código malicioso sin activar alertas en el software de seguridad.

¿Qué es io_uring y por qué es problemático?

io_uring es una interfaz de entrada/salida asíncrona introducida en Linux 5.1 (2019), diseñada para mejorar el rendimiento y la escalabilidad del sistema frente a las limitaciones del modelo tradicional de E/S. En lugar de generar constantes llamadas al sistema, io_uring utiliza búferes compartidos entre el programa y el kernel, permitiendo realizar operaciones sin bloquear el proceso.

El problema, según ARMO, es que la mayoría de las herramientas de seguridad se enfocan en monitorear llamadas al sistema y técnicas comunes como ptrace o seccomp, dejando sin supervisión las operaciones realizadas a través de io_uring. Este vacío representa un punto ciego grave en la defensa de sistemas Linux.

Capacidad ofensiva de io_uring en ataques rootkit

La interfaz io_uring permite más de 60 tipos de operaciones, incluyendo:

  • Lectura y escritura de archivos
  • Gestión de conexiones de red
  • Creación de procesos
  • Cambios de permisos de archivos
  • Lectura de directorios

Estas capacidades convierten a io_uring en un vector ideal para rootkits. De hecho, Google ha optado por desactivarlo por defecto en Android y ChromeOS, dada su peligrosidad.

"Curing": el rootkit indetectable que evade las herramientas de seguridad

Para demostrar esta amenaza, los investigadores crearon Curing, un rootkit diseñado para extraer comandos desde un servidor remoto y ejecutarlos sin generar llamadas al sistema. Durante las pruebas:

  • Falco, incluso con reglas personalizadas, no detectó ninguna actividad.
  • Tetragon, en su configuración predeterminada, tampoco logró identificar el comportamiento malicioso.
  • Herramientas de seguridad comerciales (no especificadas por ARMO) también fueron incapaces de detectar el rootkit.

No obstante, Tetragon respondió que su plataforma no es vulnerable, ya que permite implementar enganches personalizados para detectar este tipo de amenazas, siempre que se configure adecuadamente.

ARMO recomienda utilizar KRSI y eBPF para mitigar la amenaza

Según ARMO, una solución viable para proteger los sistemas Linux de este tipo de ataques es la adopción de Kernel Runtime Security Instrumentation (KRSI), una arquitectura que permite enganchar eventos del kernel usando programas eBPF. Esta técnica permitiría monitorear acciones internas como las realizadas por io_uring, evitando que rootkits pasen desapercibidos.

Prueba tu sistema: descarga gratuita de Curing en GitHub

Para administradores de sistemas, investigadores o entornos que quieran evaluar su exposición a esta amenaza, ARMO ha puesto a disposición el rootkit Curing en GitHub, como herramienta de prueba de concepto. Es una excelente oportunidad para auditar el nivel de protección real contra amenazas basadas en io_uring.

Nueva frontera en ataques invisibles contra Linux

La aparición de rootkits que evaden herramientas de seguridad modernas utilizando mecanismos como io_uring demuestra que la seguridad en tiempo de ejecución del kernel de Linux debe evolucionar. Incorporar soluciones como eBPF y KRSI puede ser fundamental para cerrar brechas antes ignoradas.

Fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta