Los chips diseñados por Apple que alimentan Mac, iPhones y iPads contienen dos vulnerabilidades recientemente descubiertas que filtran información de tarjetas de crédito, ubicaciones y otros datos confidenciales de los navegadores Chrome y Safari mientras visitan sitios como el calendario de iCloud, Google Maps y Proton Mail.
Las vulnerabilidades, que afectan las CPU en las generaciones posteriores de los conjuntos de chips de la serie A y M de Apple, los abren a ataques del canal lateralUna clase de exploit que infiere secretos midiendo manifestaciones como el tiempo, el sonido y el consumo de energía. Ambos canales laterales son el resultado del uso de los chips de ejecución especulativaUna optimización del rendimiento que mejora la velocidad al predecir el flujo de control que debe tomar las CPU y seguir esa ruta, en lugar de la orden de instrucción en el programa.
Una nueva dirección
El silicio de Apple afectado toma la ejecución especulativa en nuevas direcciones. Además de predecir el flujo de control que debe tomar las CPU, también predice el flujo de datos, como qué dirección de memoria se cargar y qué valor se devolverá de la memoria.
El más poderoso de los dos ataques de canales laterales se llama Flop. Explota una forma de ejecución especulativa implementada en el predictor del valor de carga de los chips (LVP), que predice el contenido de la memoria cuando no están disponibles de inmediato. Al inducir el LVP a reenviar los valores de los datos malformados, un atacante puede leer el contenido de la memoria que normalmente estaría fuera de los límites. El ataque se puede aprovechar para robar el historial de ubicación de un objetivo de Google Maps, contenido de bandeja de entrada de Proton Mail y eventos almacenados en el calendario de iCloud.
Mientras tanto, abusa del predictor de la dirección de carga (LAP). Mientras que LVP predice los valores del contenido de memoria, LAP predice las ubicaciones de memoria donde se puede acceder a los datos de instrucciones. Slap obliga a la vuelta a predecir las direcciones de memoria incorrecta. Específicamente, el valor en la dirección predicha de una instrucción de carga anterior se reenvía a instrucciones arbitrarias más jóvenes. Cuando Safari tiene una pestaña abierta en un sitio web dirigido como Gmail, y otra pestaña abierta en un sitio de atacante, esta última puede acceder a cadenas confidenciales del código JavaScript de la primera, lo que permite leer el contenido de correo electrónico.