Descubrieron otra vulnerabilidad Meltdown que afecta a procesadores AMD

Hace poco un equipo de investigadores de la Universidad de Tecnología de Graz (Austria) y el Centro Helmholtz para la Seguridad de la Información (CISPA) dieron a conocer información sobre una vulnerabilidad (CVE-2021-26318) en todos los procesadores AMD que podría permitir ataques de canal lateral de clase Meltdown.

Ante la información revelada personal de AMD dio a conocer que considera inapropiado tomar medidas especiales para bloquear el problema, ya que la vulnerabilidad, al igual que un ataque similar detectado en agosto, es de poca utilidad en condiciones reales, pues menciona que está limitada por los límites actuales del espacio de direcciones del proceso y requiere secuencias de instrucciones (gadgets) en el kernel. Para demostrar el ataque, los investigadores cargaron su propio módulo de kernel con un dispositivo agregado artificialmente. En la vida real, los atacantes pueden utilizar, por ejemplo, regularmente vulnerabilidades en el subsistema EBPF para sustituir las secuencias necesarias.

Desde un punto de vista práctico, el ataque se puede utilizar para organizar canales de transmisión de datos encubiertos, monitorear la actividad en el kernel u obtener información sobre direcciones en la memoria del kernel para evitar la protección basada en la aleatorización de direcciones (KASLR) en el proceso de explotación de vulnerabilidades en el núcleo.

Descubrimos variaciones de tiempo y potencia de la instrucción de captación previa que se pueden observar desde un espacio de usuario sin privilegios. A diferencia del trabajo anterior sobre ataques de captación previa en Intel, mostramos que la instrucción de captación previa en AMD filtra aún más información. Demostramos la importancia de este canal lateral con múltiples estudios de casos en escenarios del mundo real. Demostramos la primera ruptura de la microarquitectura de KASLR.

Para defenderse de este nuevo ataque, AMD ha recomendado el uso de técnicas de codificación segura que ayuden a bloquear los ataques Meltdown, como el uso de instrucciones LFENCE. Los investigadores que identificaron el problema recomiendan habilitar un aislamiento de tabla de páginas de memoria más estricto (KPTI), que anteriormente solo se usaba para procesadores Intel.

Durante el experimento, los investigadores lograron filtrar información del kernel a un proceso en el espacio del usuario a una velocidad de 52 bytes por segundo, si hay un dispositivo en el kernel que realiza la operación se han propuesto varios métodos para extraer a través de canales de terceros la información depositada en la caché durante la ejecución especulativa.

El primer método se basa en el análisis de las desviaciones del tiempo de ejecución por la instrucción del procesador y el segundo en el cambio en el cambio en el consumo de energía cuando se ejecuta «PREFETCH» (Prefetch + Power).

Monitoreamos la actividad del kernel, por ejemplo, si el audio se reproduce a través de Bluetooth, y establecemos un canal encubierto. Finalmente, incluso filtramos memoria del kernel con 52.85 B / s con simples dispositivos Spectre en el kernel de Linux. Mostramos que se debe activar un aislamiento de tabla de páginas más fuerte en las CPU de AMD de forma predeterminada para mitigar nuestros ataques presentados con éxito

Recordemos que la clásica vulnerabilidad Meltdown se basa en el hecho de que durante la ejecución especulativa de instrucciones el procesador puede acceder a un área de datos privados y luego descartar el resultado, ya que los privilegios establecidos prohíben dicho acceso desde el proceso del usuario. En el programa, el bloque ejecutado especulativamente está separado del código principal por una rama condicional, que en condiciones reales siempre se dispara, pero debido al hecho de que la declaración condicional usa un valor calculado que el procesador no conoce durante la ejecución anticipada del código, se lleva a cabo la ejecución especulativa de todas las opciones de ramificación.

Dado que las operaciones realizadas especulativamente usan la misma caché que para las instrucciones ejecutadas normalmente, es posible durante la ejecución especulativa establecer en la caché marcadores que reflejen el contenido de bits individuales en un área de memoria cerrada, y luego en el código normalmente ejecutado para determinar su valor a través del análisis de tiempo accede a datos almacenados en caché y no almacenados en caché.

Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

bool(true)