Nuevo ataque SLUBStick afecta al kernel de Linux

Iniciado por AXCESS, Agosto 04, 2024, 07:58:11 PM

Tema anterior - Siguiente tema

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

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

Un nuevo ataque de caché cruzada del kernel de Linux llamado SLUBStick tiene un 99 % de éxito en convertir una vulnerabilidad de montón limitada en una capacidad de lectura y escritura de memoria arbitraria, lo que permite a los investigadores elevar privilegios o escapar de contenedores.

El descubrimiento proviene de un equipo de investigadores de la Universidad Tecnológica de Graz que demostró el ataque en las versiones del kernel de Linux 5.9 y 6.2 (la más reciente) utilizando nueve CVE existentes en sistemas de 32 y 64 bits, lo que indica una alta versatilidad.

Además, el ataque funcionó con todas las defensas del kernel modernas como Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP) y Kernel Address Space Layout Randomization (KASLR) activas.

SLUBStick se presentará en detalle en la próxima conferencia Usenix Security Symposium a finales de este mes. Los investigadores mostrarán la escalada de privilegios y el escape de contenedores en el último Linux con defensas de última generación habilitadas.

Mientras tanto, el documento técnico publicado contiene todos los detalles sobre el ataque y los posibles escenarios de explotación.

Detalles de SLUBStick

Una forma en que el núcleo de Linux administra la memoria de manera eficiente y segura es asignando y desasignando fragmentos de memoria, llamados "slabs", para diferentes tipos de estructuras de datos.

Las fallas en este proceso de administración de memoria pueden permitir a los atacantes corromper o manipular las estructuras de datos, llamados ataques de caché cruzado. Sin embargo, estos son efectivos aproximadamente el 40% del tiempo y, por lo general, provocan fallas del sistema tarde o temprano.

SLUBStick explota una vulnerabilidad de montón, como una doble liberación, una liberación posterior de usuario o una escritura fuera de límites, para manipular el proceso de asignación de memoria.

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

A continuación, utiliza un canal lateral de sincronización para determinar el momento exacto de la asignación/desasignación de fragmentos de memoria, lo que permite al atacante predecir y controlar la reutilización de la memoria.

El uso de esta información de sincronización aumenta el éxito de la explotación de cambios cruzados al 99 %, lo que hace que SLUBStick sea muy práctico.

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

La conversión de la falla del montón en una primitiva de lectura y escritura de memoria arbitraria se realiza en tres pasos:

Liberar fragmentos de memoria específicos y esperar a que el núcleo los reutilice.
Reasignar estos fragmentos de manera controlada, asegurándose de que se reutilicen para estructuras de datos críticas como las tablas de páginas.

Una vez recuperados, el atacante sobrescribe las entradas de la tabla de páginas, obteniendo la capacidad de leer y escribir en cualquier ubicación de memoria.

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

Impacto en el mundo real

Como ocurre con la mayoría de los ataques que implican un canal lateral, SLUBStick requiere acceso local en la máquina de destino con capacidades de ejecución de código. Además, el ataque requiere la presencia de una vulnerabilidad de montón en el kernel de Linux, que luego se utilizará para obtener acceso de lectura y escritura a la memoria.

Si bien esto puede hacer que el ataque parezca poco práctico, presenta algunos beneficios para los atacantes.

Incluso para los atacantes con capacidades de ejecución de código, SLUBStick brinda la capacidad de lograr una escalada de privilegios, eludir las defensas del kernel, realizar escapes de contenedores o usarlo como parte de una cadena de ataque compleja.

La escalada de privilegios se puede utilizar para elevar los privilegios root, lo que permite operaciones ilimitadas, mientras que el escape de contenedores se puede utilizar para salir de entornos aislados y acceder al sistema host.

Además, en la fase posterior a la explotación, SLUBStick podría modificar las estructuras del kernel o los hooks para mantener la persistencia, lo que dificulta que los defensores detecten el malware.

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

Aquellos que quieran profundizar en SLUBStick y experimentar con los exploits utilizados por los investigadores de la Universidad de Graz pueden encontrarlos en el repositorio de GitHub del investigador:

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

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

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