La optimización utilizada en los procesadores AMD se basa en la verificación de etiquetas μ. μTag se calcula aplicando una función hash específica a la dirección virtual. Durante la operación, el mecanismo de predicción de canal usa μTag para determinar el canal de caché de la tabla.
Según los investigadores, el problema puede bloquearse en el nivel de actualización de microcódigo al proporcionar bits MSR para deshabilitar selectivamente el sistema de predicción de canales, de forma similar a como lo hizo Intel para administrar el apagado de los mecanismos de predicción de transición.
Durante la ingeniería inversa de la implementación del sistema de predicción de canales en varias generaciones de procesadores AMD fabricados entre 2011 y 2019, se revelaron dos nuevas técnicas para atacar canales de terceros:
- Collide+Probe: permite a un atacante rastrear el acceso a la memoria para los procesos que se ejecutan en el mismo núcleo lógico de la CPU.
La esencia del método es usar direcciones virtuales que causan colisiones hash de la función utilizada para calcular μTag para rastrear el acceso a la memoria. A diferencia de los ataques Flush+Reload y Prime+Probe utilizados en los procesadores Intel, Collide+Probe no utiliza memoria compartida y funciona sin conocer las direcciones físicas.
- Load+Reload: permite determinar con mucha precisión los rastros de acceso a la memoria en el mismo núcleo físico de la CPU. El método se basa en el hecho de que una celda de memoria física puede ubicarse en la caché L1D solo una vez.
Es decir el acceso a la misma ubicación de memoria en una dirección virtual diferente forzará a la celda a salir de la caché L1D, lo que le permite rastrear el acceso a la memoria. A pesar de que el ataque depende de la memoria compartida, no restablece las líneas de caché, lo que hace posible llevar a cabo ataques ocultos que no desplazan los datos del caché de último nivel. Basado en las técnicas Collide+Probe y Load+Reload, los investigadores demostraron varios escenarios de ataque a través de canales de terceros:
Se muestra la posibilidad de utilizar métodos para organizar un canal de comunicación indirecto oculto entre dos procesos, que permite transmitir datos a velocidades de hasta 588 kB por segundo.
Utilizando colisiones en μTag, fue posible reducir la entropía para diferentes variantes de la asignación aleatoria del diseño del espacio de direcciones (ASLR) y evitar la protección ASLR en el núcleo en un sistema Linux completamente actualizado.
Se muestra la posibilidad de un ataque para reducir la entropía ASLR tanto de las aplicaciones de usuario como del uso del código JavaScript ejecutado en el entorno sandbox y el código que se ejecuta en otro entorno invitado.
Fuente : muylinux
- Visto: 1044