Apple: nuestros chips para los iPhone y Mac tienen una vulnerabilidad
Seguro que si has visto algún medio digital con publicidad o la televisión mismamente te habrás dado cuenta de que Apple está haciendo campaña por la privacidad y la seguridad. De hecho, lleva casi todo el año lanzando pequeñas campañas en momentos determinados para ello. Pues bien, científicos informáticos de MIT CSAIL lanzaron el viernes un informe que identifica y detalla una forma de eludir la autentificación del chip hasta ahora estrella de los de Cupertino, el M1. ¿Es tu iPhone y Mac seguro? ¿Por qué está afectada Apple por esta nueva vulnerabilidad?
No carentes precisamente de humor, los investigadores han denominado al artículo definitorio como PACMAN: Attacking Arm Pointer Authentication with Speculative Execution y sí, de nuevo la ejecución especulativa salta a la palestra, solo que ahora en vez de Intel y AMD es Apple, pero también Samsung y Qualcomm, aquí no se escapa nadie.
Apple y su última vulnerabilidad: los Pointer en los chips M1
Un Pointer o puntero, es una variable que está pensada para almacenar una dirección en la memoria que al mismo tiempo puede ser una variable. Normalmente, los punteros se diseñan para unas unidades concretas SIMD y por ello suelen ser de dos tipos: de función o normales.
Sin entrar en más detalles de arquitecturas y programación para las unidades SIMD, tenemos que entender que quien acceda a la información que trabajan los SIMD podrá acceder a estas unidades y con ello tener también acceso a los datos confidenciales que se almacenan en la memoria, normalmente caché de nivel 1 o 2, donde al mismo tiempo pueden inyectar código malicioso.
Aunque hay instrucciones que intentan "proteger" el asalto a estos Pointer, los cuales fueron implementados por todos los fabricantes con sus debidas modificaciones y personalizaciones para su arquitectura, Apple lo hizo al optar por ARM en sus chips y como tal, fue en la última revisión de estos en 2018 donde se basa la vulnerabilidad descubierta.
Toda la serie M1 afectada: iPhones y Mac en jaque
Los procesadores afectados son: M1, M1 Pro y M1 Max, además de otros no mencionados de Qualcomm y Samsung, por lo que solo podemos generalizar de momento con ellos. El informe indica que es la autentificación del Pointer mediante un hash criptográfico denominado como Pointer Authentication Code (PAC) el cual es curioso como trabaja por parte de Apple.
En una arquitectura actual como las que tienen los procesadores de 64 bits macOS solo usa 48 de ellos, mientras que el resto y según se necesite puede guardarse como PACs entre 11 y 31 bits. Aquí llega el problema, puesto que los investigadores pueden introducir un mecanismo de retroalimentación que no bloquee la instrucción y que mediante un "oráculo PAC" (tienen su gracia los desarrolladores) pueden discernir entre predicciones correctas e incorrectas y mediante fuerza bruta logran acceder a la información.
Tardan 2,94 minutos para lanzar un PAC de 16 bits y secuestrar el control de la información clave, hasta el punto en el que pueden controlar total o parcialmente el sistema operativo. Si esto no fuese grave de por sí, el atacante lanza su ataque y no necesita ningún tipo de nivel de privilegio para hacerse con el control y obtiene con ello información del kernel del sistema operativo. Por lo tanto y a saber si puede ser corregida total o parcialmente, todos los dispositivos Apple con un SoC M1 están afectados.
Si no vamos muy mal desencaminados, este parche podría suponer una merma del rendimiento de los iPhone y Mac con dicho SoC, puesto que la parte atacada es pura ejecución especulativa, y ya sabemos mucho sobre ellas y los TLB. Por otro lado, los investigadores no saben si Apple ya la ha parcheado porque no han obtenido respuesta, y tampoco saben si los M2 están afectados ya que no han llegado al mercado.