Las alarmas han saltado en Apple. Recientemente se ha descubierto una vulnerabilidad en la serie M de chips de Apple, que permite a los ciberdelincuentes extraer claves secretas de los Mac por medio de operaciones criptográficas. La única solución es implementar defensas en software criptográfico de terceros, que podrían degradar el rendimiento de la serie M al ejecutar operaciones criptográficas.

En concreto, son las generaciones M1 y M2 las afectadas. La vulnerabilidad cobra sentido cuando la operación criptográfica y la aplicación maliciosa con privilegios de sistema de usuario normales se ejecutan en el mismo clúster de CPU. La falla surge del diseño microarquitectónico del propio silicio, por lo que es imposible que sea reparada directamente.

Las claves de la investigación

Esta investigación concluye que el problema radica en las optimizaciones de hardware, que predice las direcciones de memoria de los datos a las que es probable que acceda el código en ejecución.

Cuando se carga el contenido en la memoria caché de la CPU, el DMP reduce la latencia entre la memoria principal y la CPU. Llama la atención que los DMP solo están presentes actualmente en los chips de la serie M y en la microarquitectura Raptor Lake de 13ª generación de Intel.

Hay que tener en cuenta que los captadores previos clásicos abren un canal lateral que los procesos maliciosos pueden sondear, permitiendo la obtención de material con clave secreta de operaciones criptográficas. A partir de ahí, tras las predicciones basadas en patrones de acceso anteriores, los ingenieros idean la programación en tiempo constante, de tal modo que todas las operaciones tardan el mismo tiempo en ejecutarse, independientemente de sus operandos.

El DMP suele leer los datos e intenta tratarlos como una dirección para tener acceso a la memoria. Si se pierde la referencia de indicadores y su filtración a través de un canal lateral, se producirá una violación del paradigma de tiempo constante. Así pues, una medida óptima es mantener el código libre de estructuras o acceso a la memoria dependientes de secretos.

Así es GoFetch

Los investigadores acuñaron el nombre de GoFech a este ataque. Funciona a través de una aplicación que no precisa de acceso de root, sino los privilegios que emplean el resto de aplicaciones instaladas en un sistema macOS. Todos los chips de la serie M se dividen en clusters.

Si la aplicación GoFetch y la aplicación criptográfica se ejecutan en el mismo clúster de rendimiento, se podrán extraer secretos para filtrar una clave específica. Así pues, podrá operar tanto contra los algoritmos de cifrado clásicos como contra una nueva generación de cifrado reforzada para resistir los ataques de las computadoras cuánticas.

En unos 54 minutos, GoFetch puede extraer una clave RSA de 2048 bits y en poco más de dos horas, una clave Diffie-Hellman de 2048 bits. Si se aporta un tiempo aproximado de 10 horas, su operatividad le permitirá extraer el material necesario para ensamblar una clave Kyber-512.

GoFetch se conecta a la aplicación de destino y proporciona entradas que firma o descifra a la par que extrae la clave secreta de la aplicación vehicular para estas operaciones criptográficas.

Las claves RSA y Diffie-Hellman se procesan en implementaciones de Go y OpenSSL y Kyber Dilithium de CRYSTALS-Kyber y CRYSTALS-Dilithium, con programación en tiempo constante. De este modo, los DMP en el silicio de Apple son más férreos que la defensa implementada.

La optimización quedó documentada por primera vez en una investigación de 2022, desconocido en el chip M1 y A14 Bionic de Apple para iPhone. Como consecuencia, se produjo Augury, un ataque capaz de identificar y explotar un canal lateral de la memoria que filtraba indicadores. No obstante, no era capaz de mezclar datos y direcciones cuando se utilizaron prácticas en tiempo constante. El DMP plantea más agresividad y un riesgo de seguridad mayor.

Una actuación contundente

El equipo de investigadores concluyó que la responsabilidad de mitigar los efectos dañinos de la vulnerabilidad es de las personas que desarrollan el código para el hardware de Apple. Así pues, los desarrolladores de software criptográfico que se ejecutan en procesadores M1 y M2, tendrán que emplear otras defensas, que traen consigo penalizaciones de rendimiento.

El cegamiento del texto cifrado actúa agregando o eliminando máscaras a valores sensibles después de ser almacenados desde la propia memoria. Así pues, se aleatoriza el estado interno del algoritmo criptográfico y se evita que el atacante lo controle y emplee con efectividad GoFetch. Es una defensa específica y costosa, que puede llegar a duplicar los recursos informáticos necesarios, como en los intercambios de claves Diffie Hellman.

De igual modo, se pueden ejecutar procesos criptográficos en los núcleos de eficiencia o Icestorm. De ahí la importancia de las defensas ad hoc, aunque son también muy problemáticas. Por consiguiente, a largo plazo, la solución correcta apunta que sería ampliar el contrato de hardware y software para tener en consideración el DMP.

Deja un comentario

Por favor, introduce tu comentario
Por favor, introduce tu nombre