El nuevo ataque resistente al ruido en las CPU Intel y AMD hace que los ataques basados ‚Äč‚Äčen color sean efectivos

El nuevo ataque resistente al ruido en las CPU Intel y AMD hace que los ataques basados ‚Äč‚Äčen color sean efectivos 1

Los modernos procesadores Intel y AMD son susceptibles a una nueva forma de ataque de canal lateral que hace que los ataques de cach√© basados ‚Äč‚Äčen vaciado sean resistentes al ruido del sistema, seg√ļn revel√≥ una investigaci√≥n recientemente publicada compartida con The Hacker News.

Los hallazgos provienen de un art√≠culo “DABANGG: Tiempo para ataques de cach√© basados ‚Äč‚Äčen Flush sin miedo” publicado por un par de investigadores, Biswabandan Panda y Anish Saxena, del Instituto Indio de Tecnolog√≠a (IIT) Kanpur a principios de esta semana.

Apodado “Dabangg” (que significa intr√©pido), el enfoque se basa en los ataques Flush + Reload y Flush + Flush, que han sido explotados previamente por otros investigadores para filtrar datos de las CPU de Intel.

Sin embargo, la nueva variante tiene como objetivo mejorar la precisi√≥n de estos ataques incluso en un ruidoso sistema multin√ļcleo. Tambi√©n funciona a la perfecci√≥n contra sistemas operativos que no son Linux, como macOS.

“Al igual que cualquier otro ataque de cach√©, los ataques de cach√© basados ‚Äč‚Äčen vaciado dependen de la calibraci√≥n de la latencia de cach√©”, dijo a The Hacker News Biswabandan Panda, profesor asistente de IIT Kanpur. “Los ataques de sincronizaci√≥n de cach√© de √ļltima generaci√≥n no son efectivos en el mundo real, ya que la mayor√≠a de ellos trabajan en un entorno altamente controlado”.

“Con DABANGG, hacemos un caso para los ataques de cach√© que pueden tener √©xito en el mundo real que es resistente al ruido del sistema y funciona perfectamente incluso en un entorno altamente ruidoso”, agreg√≥.

Los ataques Flush + Reload y Flush + Flush funcionan mediante el vaciado de la l√≠nea de memoria (utilizando la instrucci√≥n “clflush”), luego esperando que el proceso de la v√≠ctima acceda a la l√≠nea de memoria y posteriormente recargando (o vaciando) la l√≠nea de memoria, midiendo el tiempo necesitaba cargarlo.

DABANGG se parece mucho a los ataques Flush + Reload y Flush + Flush en el sentido de que es un ataque basado en color, que depende de la diferencia de tiempo de ejecuci√≥n entre los accesos de memoria en cach√© y no en cach√©. Pero a diferencia de los dos √ļltimos, DABANGG hace que los umbrales utilizados para diferenciar un hit de cach√© de una din√°mica de fallas.

Las t√©cnicas de administraci√≥n de energ√≠a como el escalado din√°mico de voltaje y frecuencia (DVFS) en los procesadores modernos permiten cambios de frecuencia basados ‚Äč‚Äčen la utilizaci√≥n general de la CPU, con n√ļcleos que ejecutan procesos intensivos en c√≥mputo que funcionan a una frecuencia m√°s alta que aquellos que no lo hacen.

Esta diferencia de frecuencia en el n√ļcleo resulta en una latencia de ejecuci√≥n variable para las instrucciones, y hace que los umbrales elegidos para distinguir un acierto de cach√© de una falla sean in√ļtiles, afirmaron los investigadores.

“Hacemos que estos umbrales sean din√°micos en funci√≥n de la frecuencia del procesador (que se acelera seg√ļn los controladores DVFS), lo que a su vez hace que los ataques basados ‚Äč‚Äčen el flujo sean resistentes al ruido del sistema”, dijo el profesor Panda.

DABANGG refina las deficiencias capturando la distribución de frecuencia del procesador en la etapa previa al ataque y usando un código de cálculo pesado para estabilizar la frecuencia, antes de proceder con un ataque Flush + Reload o Flush + Flush para calcular la latencia y verificar un golpe de caché.

La consecuencia de estos ataques de canal lateral es una manera confiable de espiar la entrada del usuario, extraer la clave privada de AES, extraer datos a trav√©s de un canal secreto entre un proceso malicioso y su v√≠ctima, y ‚Äč‚Äčllevar a cabo una ejecuci√≥n especulativa similar a Spectre para acceder a la informaci√≥n almacenada en cach√©.

Dado que DABANGG también es un ataque basado en color, puede mitigarse utilizando las mismas técnicas correspondientes a Flush + Reload y Flush + Flush, es decir, modificando la instrucción clflush y monitoreando las fallas de caché, así como haciendo cambios de hardware para prevenir tales ataques.

“Los ataques basados ‚Äč‚Äčen la descarga deben ser conscientes de la frecuencia del procesador para una mejor precisi√≥n”, dijo el profesor Panda. “En t√©rminos generales, si un ataque no puede atacar efectivamente el acceso de una v√≠ctima a menos que se controlen todas las condiciones, ese ataque no representa un riesgo en el mundo real. Creemos que esto es solo el comienzo en t√©rminos de empujar los ataques de cach√© al mundo real , y provocar√° ataques de cach√© mejores y m√°s robustos en el futuro “.

Los investigadores lanzarán el código fuente para la prueba de concepto en Github después del 15 de junio de 2020.