Un equipo de investigadores de seguridad del Instituto de Tecnología de Georgia y la Universidad del Ruhr en Bochum ha demostrado dos nuevos ataques de canal lateral dirigidos al silicio de Apple que podrían explotarse para filtrar información confidencial de navegadores web como Safari y Google Chrome.
Los ataques han recibido el nombre en clave de Ataques de Especulación de Datos a través de la Predicción de Dirección de Carga en Apple Silicon (SLAP) y Ruptura de la CPU Apple M3 a través de Predicciones de Salida de Carga Falsa (FLOP). Apple fue notificada de los problemas en mayo y septiembre de 2024, respectivamente.
La ejecución especulativa se refiere a un mecanismo de optimización del rendimiento en los procesadores modernos que tiene como objetivo predecir el flujo de control que debe tomar la CPU y ejecutar instrucciones a lo largo de la rama de antemano.
En el caso de una predicción errónea, los resultados de las instrucciones transitorias se descartan y revierten todos los cambios realizados en el estado después de la predicción.
Estos ataques aprovechan el hecho de que la ejecución especulativa deja rastros para obligar a una CPU a realizar una predicción errónea y ejecutar una serie de instrucciones transitorias, cuyo valor podría inferirse a través de un canal lateral incluso después de que la CPU revierta todos los cambios en el estado debido a la predicción errónea.
"En SLAP y FLOP, demostramos que las CPU recientes de Apple van más allá de esto, no solo prediciendo el flujo de control que debe tomar la CPU, sino también el flujo de datos en el que debe operar la CPU si los datos no están disponibles en el subsistema de memoria", dijeron los investigadores.
"A diferencia de Spectre, las predicciones erróneas en el flujo de datos no dan lugar directamente a que la CPU ejecute especulativamente las instrucciones incorrectas. En su lugar, dan como resultado que la CPU ejecute instrucciones arbitrarias sobre los datos incorrectos. Sin embargo, demostramos que esto se puede combinar con técnicas de direccionamiento indirecto para ejecutar instrucciones incorrectas".
SLAP, que afecta a los chips M2, A15 y más nuevos, se dirige a lo que se llama un predictor de dirección de carga (LAP) que los chips de Apple utilizan para adivinar la próxima dirección de memoria de la que la CPU recuperará datos en función de los patrones de acceso a la memoria anteriores.
Sin embargo, si el LAP predice una dirección de memoria incorrecta, puede hacer que el procesador realice cálculos arbitrarios en datos fuera de límites bajo ejecución especulativa, abriendo así la puerta a un escenario de ataque en el que un adversario puede recuperar el contenido del correo electrónico de un usuario registrado y el comportamiento de navegación desde el navegador Safari.
Por otro lado, FLOP afecta a los chips M3, M4 y A17, y apunta a otra característica llamada Load Value Predictor (LVP) que está diseñada para mejorar el rendimiento de la dependencia de datos al "adivinar el valor de los datos que devolverá el subsistema de memoria en el próximo acceso del núcleo de la CPU".
FLOP hace que "se eludan las comprobaciones críticas en la lógica del programa para la seguridad de la memoria, abriendo superficies de ataque para la fuga de secretos almacenados en la memoria", señalaron los investigadores, y agregaron que podría usarse como arma contra los navegadores Safari y Chrome para realizar varias primitivas de lectura de memoria arbitrarias, como recuperar el historial de ubicaciones, eventos del calendario e información de tarjetas de crédito.
La revelación se produce casi dos meses después de que los investigadores de la Universidad de Corea detallaran SysBumps, que describieron como el primer ataque de ruptura de la aleatorización del diseño del espacio de direcciones del kernel (KASLR) en macOS para Apple Silicon.