El malware puede explotar una nueva falla en las CPU de Intel para lanzar ataques de canal lateral

Una nueva investigación ha producido otro medio para robar datos confidenciales al explotar lo que es el primer ataque de canal lateral «en el chip, entre núcleos» dirigido a la interconexión de anillo utilizada en los procesadores Intel Coffee Lake y Skylake.

Publicado por un grupo de académicos de la Universidad de Illinois en Urbana-Champaign, se espera que los hallazgos se presenten en el Simposio de seguridad de USENIX que se realizará en agosto.

Si bien se ha demostrado anteriormente que los ataques de fuga de información dirigidos a la microarquitectura de la CPU rompen el aislamiento entre las aplicaciones del usuario y el sistema operativo, lo que permite que un programa malicioso acceda a la memoria utilizada por otros programas (por ejemplo, Meltdown y Spectre), el nuevo ataque aprovecha una contención en la interconexión del anillo.

La interconexión SoC Ring es un bus integrado dispuesto en una topología de anillo que permite la comunicación dentro del proceso entre diferentes componentes (también conocidos como agentes), como los núcleos, la memoria caché de último nivel (LLC), la unidad gráfica y el agente del sistema que son alojado dentro de la CPU. Cada agente del anillo se comunica con el anillo a través de lo que se llama una parada de anillo.

Para probar su hipótesis, los investigadores aplicaron ingeniería inversa a los protocolos de la interconexión del anillo para descubrir las condiciones para que dos o más procesos provoquen una contienda en el anillo, usándolos a su vez para construir un canal encubierto con una capacidad de 4,18 Mbps, que según los investigadores es el más grande hasta la fecha para canales de núcleo cruzado que no dependen de la memoria compartida, a diferencia de Flush + Flush o Flush + Reload.

«Es importante destacar que, a diferencia de los ataques anteriores, nuestros ataques no se basan en compartir memoria, conjuntos de caché, recursos privados centrales o cualquier estructura no central específica», dijo Riccardo Paccagnella, uno de los autores del estudio. dicho. «Como consecuencia, son difíciles de mitigar utilizando las técnicas existentes de ‘aislamiento de dominio'».

Al observar que una parada en el anillo siempre prioriza el tráfico que ya está en el anillo sobre el nuevo tráfico que ingresa de sus agentes, los investigadores dijeron que se produce una contienda cuando el tráfico existente en el anillo retrasa la inyección de nuevo tráfico en el anillo.

Armado con esta información, un adversario puede medir el retraso en el acceso a la memoria asociado con un proceso malicioso debido a una saturación de la capacidad de ancho de banda causada por los accesos a la memoria de un proceso víctima. Esto, sin embargo, requiere que el proceso de espionaje falle constantemente en sus cachés privados (L1-L2) y realice cargas desde un segmento LLC de destino.

Al hacerlo, la latencia repetida en las cargas de memoria de LLC debido a la contención del anillo puede permitir que un atacante use las medidas como un canal lateral para filtrar bits clave de implementaciones vulnerables de EdDSA y RSA, así como reconstruir contraseñas extrayendo el tiempo preciso de pulsaciones de teclas escritas por un usuario víctima.

Específicamente, «un atacante con conocimiento de nuestros esfuerzos de ingeniería inversa puede configurarse de tal manera que sus cargas estén garantizadas para competir con las cargas del primer proceso, […] abusa de las mitigaciones de los ataques de caché de programación preventiva para hacer que las cargas de la víctima se pierdan en el caché, monitorea la contención del anillo mientras la víctima está computando y emplea un clasificador de aprendizaje automático estándar para eliminar los rastros y filtrar bits.

El estudio también marca la primera vez que se explota un canal de microarquitectura basado en contención para ataques de tiempo de pulsación de teclas para inferir datos confidenciales escritos por la víctima.

En respuesta a las revelaciones, Intel clasificó los ataques como un «canal lateral tradicional», que se refiere a una clase de ataques de Oracle que generalmente aprovechan las diferencias en el tiempo de ejecución para inferir secretos.

Las pautas del fabricante de chips para contrarrestar los ataques de tiempo contra las implementaciones criptográficas recomiendan adherirse a los principios de programación de tiempo constante al garantizar que:

  • El tiempo de ejecución es independiente de los valores secretos
  • El orden en que se ejecutan las instrucciones (también conocido como patrones de acceso al código) es independiente de los valores secretos, y
  • El orden en que se cargan y almacenan los operandos de la memoria (también conocidos como patrones de acceso a datos) son independientes de los valores secretos

Puede encontrar orientación adicional sobre prácticas de desarrollo seguras para mitigar los ataques de canal lateral tradicionales aquí. Se puede acceder al código fuente para reproducir la configuración experimental detallada en el documento aquí.

Continua leyendo