Se ha descubierto un nuevo ataque de canal lateral crítico LVI-LFB (inserción de valor de carga en búferes de llenado de línea)

Los investigadores de Bitdefender han identificado y creado una prueba de concepto de un nuevo ataque de canal lateral.

El ataque, denominado LVI-LFB (inserción de valor de carga en búferes de llenado de línea) permite a un atacante insertar valores maliciosos en ciertas estructuras microarquitectónicas que posteriormente utiliza la víctima, lo que puede conducir a revelar datos secretos y protegidos en todos los niveles de privilegio.

Este nuevo ataque (CVE-2020-0551) afecta a las CPU de Intel más modernas que utilizan la ejecución especulativa.

Breve descripción

En busca de CPU cada vez más rápidas, los proveedores han implementado varias versiones de la ejecución especulativa.Esta funcionalidad hace que la CPU realice conjeturas sobre las instrucciones que pueden ser necesarias antes de determinar si son, en realidad, solicitadas.Esta ejecución especulativa puede dejar rastros en la caché que los atacantes aprovechan para filtrar la memoria privilegiada del kernel.

Lo que hace que la investigación de estos ataques sea de vanguardia en comparación con los ataques informáticos contra vulnerabilidades más tradicionales es que llega a la raíz de cómo operan las CPU modernas.Para investigar adecuadamente, los equipos de estudio deben comprender a fondo los componentes internos de la CPU (predicción de saltos, ejecución fuera de orden, ejecución especulativa, canalización y cachés), los del sistema operativo (llamadas al sistema, manejo de interrupciones y excepciones y KPTI) y los ataques de canal lateral y de ejecución especulativa en general.

Impacto

Este nuevo ataque puede ser particularmente devastador en entornos de multihuésped y de cargas de trabajo que se ejecuten en hardware compartido entre grupos de cargas de trabajo dentro de una organización o entre organizaciones, como nubes públicas y privadas.Esto se debe a que, como muestra la prueba de concepto, existe la posibilidad de que un proceso con menos privilegios bajo el control del atacante secuestre especulativamente el flujo de control de un proceso con mayores privilegios si se dan determinados requisitos.

El riesgo más claro es el robo de datos secretos que, de no ser por esto, deberían conservar su privacidad por los límites de seguridad en los niveles de hardware, hipervisor y sistema operativo.Esta información puede incluir cualquier cosa, desde claves de cifrado hasta contraseñas u otra información que un atacante podría filtrar o utilizar para conseguir un mayor control de un sistema objetivo.

Cómo se descubrió y divulgó el ataque LVI-LFB

Esta nueva técnica de ataque se llama Load Value Injection (inserción de valor de carga) y el CVE asignado es CVE-2020-0551.

Los investigadores han analizado anteriormente el MDS (muestreo de datos de microarquitectura) desde una sola dirección: la víctima accede al secreto, que se carga en los búferes MDS, mientras que el atacante filtra el contenido de los búferes MDS emitiendo una instrucción de carga que requiere ayudas de microcódigo (por ejemplo, leyendo una dirección no válida).Sin embargo, también se pueden aprovechar los búferes MDS al revés. Si un atacante introduce un valor particular en los búferes MDS, una víctima podría cargar especulativamente ese valor concreto cuando una instrucción de carga desencadene una asistencia de microcódigo (por ejemplo, la instrucción de carga desencadena un fallo).Al analizar cuidadosamente qué es Spectre y qué es MDS, una mirada experta identificará rápidamente la causa raíz de la nueva vulnerabilidad LVI-LFB: un salto de memoria indirecto que requiere una ayuda de microcódigo que se alimenta con valores obsoletos de los búferes MDS, los cuales pueden ser controlados por un atacante, lo que conduce a la ejecución especulativa de código arbitrario.

Investigadores académicos han descrito otros escenarios de ataque que descubrieron independientemente y sobre los cuales informaron por primera vez a Intel en abril de 2019.Bitdefender informó del problema a Intel el 10 de febrero de 2020.Su respuesta del 25 de febrero reconoció el problema y también reveló que la divulgación pública se produciría el 10 de marzo de 2020.

¿Qué sistemas se ven afectados?

El ataque LVI-LFB afecta a las CPU Intel más nuevas que utilizan la ejecución especulativa.

Mitigación

Las estrategias de mitigación para ataques de canal lateral basados en hardware se dividen en varias categorías, cada una con su grado de impacto operativo en las organizaciones.

  1. Hardware. Se trata de correcciones incluidas directamente en el hardware y se aplican solo a generaciones de CPU creadas después de que se identificaran los fallos arquitectónicos.
  2. Software. Son implementaciones de parches que funcionan totalmente dentro del software.El aislamiento de tablas de páginas del kernel (KPTI) es un ejemplo de corrección que protege la memoria del kernel en un espacio de direcciones virtuales aislado, lo que torna ineficaces a varios ataques especulativos de canal lateral, como Meltdown.Sin embargo, para que sirva contra LVI-LFB de aplicación a aplicación, se necesita un nuevo tipo de KPTI: el horizontal.Como alternativa, el sistema operativo también debe vaciar los búferes MDS (LFB en particular) al pasar de un modo menos privilegiado a otro más privilegiado, para evitar que los accesos a la memoria asistidos por microcódigo se ejecuten especulativamente con datos controlados por el atacante.
  3. Microcódigo.Estas mitigaciones requieren la cooperación entre hardware y software.El proveedor de hardware proporciona un parche de microcódigo para exponer nuevas funcionalidades (por ejemplo, las mitigaciones de MDS, L1TF o Spectre) que luego utilizan el hipervisor o los proveedores del sistema operativo para mitigar las vulnerabilidades.
  4. Inhabilitación de características.Inhabilitar el hyperthreading es una buena idea en sistemas donde la seguridad sea crucial, lo mismo que serializar todas las operaciones de carga críticas mediante la instrucción lfence.Otras mitigaciones podrían implicar modificaciones en los compiladores, con el fin de generar código que no sea vulnerable a este tipo de ataques.

Otro ataque de canal lateral descubierto por Bitdefender, el ataque SWAPGS, se puede mitigar mediante Bitdefender Hypervisor Introspection.

Créditos

El equipo de investigación avanzada de Bitdefender desea hacer público su reconocimiento a los investigadores que informaron por primera vez a Intel sobre este problema en abril de 2019 y también agradecerles su cooperación y colaboración antes de la divulgación pública de este problema y después de ella. Estos investigadores académicos son:

Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss y Frank Piessens

Estos investigadores han creado un sitio web dedicado y un artículo académico detallado, disponibles en los siguientes enlaces:

https://lviattack.eu/ (descripción detallada del problema)

https://lviattack.eu/lvi.pdf (informe académico)

Intel también dispone de información adicional:

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html (advertencia)

https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection (análisis técnico en profundidad)