Una nueva deficiencia de seguridad descubierta en los chips de la serie M de Apple podría aprovecharse para extraer claves secretas utilizadas durante las operaciones criptográficas.
Apodado ir a buscar, la vulnerabilidad se relaciona con un ataque de canal lateral de microarquitectura que aprovecha una característica conocida como captador previo dependiente de la memoria de datos (DMP) para apuntar a implementaciones criptográficas de tiempo constante y capturar datos confidenciales del caché de la CPU. Apple se enteró de los hallazgos en diciembre de 2023.
Los captadores previos son una técnica de optimización de hardware que predice a qué direcciones de memoria accederá un programa actualmente en ejecución en un futuro próximo y recupera los datos en la memoria caché en consecuencia desde la memoria principal. El objetivo de este enfoque es reducir la latencia de acceso a la memoria del programa.
DMP es un tipo de captador previo que tiene en cuenta el contenido de la memoria en función de los patrones de acceso observados previamente al determinar qué captar previamente. Este comportamiento hace que sea propicio para ataques basados en caché que engañan al captador previo para que revele los contenidos asociados con un proceso de víctima que de otro modo debería ser inaccesible.
GoFetch también se basa en los cimientos de otro ataque de microarquitectura llamado Augurio que emplea DMP para filtrar datos de forma especulativa.
«DMP activa (e intenta desreferenciar) datos cargados desde la memoria que ‘parecen’ un puntero», dijo un equipo de siete académicos de la Universidad de Illinois Urbana-Champaign, la Universidad de Texas, el Instituto de Tecnología de Georgia, la Universidad de California, Berkeley. , Universidad de Washington y Universidad Carnegie Mellon dicho.
«Esto viola explícitamente un requisito del paradigma de programación de tiempo constante, que prohíbe mezclar datos y patrones de acceso a la memoria».
Al igual que otros ataques de este tipo, la configuración requiere que la víctima y el atacante tengan dos procesos diferentes ubicados en la misma máquina y en el mismo clúster de CPU. Específicamente, el actor de amenazas podría atraer a un objetivo para que descargue una aplicación maliciosa que explote GoFetch.
Es más, aunque el atacante y la víctima no comparten memoria, el atacante puede monitorear cualquier canal lateral de microarquitectura disponible, por ejemplo, la latencia de la caché.
GoFetch, en pocas palabras, demuestra que «incluso si una víctima separa correctamente los datos de las direcciones siguiendo el paradigma de tiempo constante, el DMP generará acceso a la memoria dependiente del secreto en nombre de la víctima», haciéndola susceptible a ataques de extracción de claves.
En otras palabras, un atacante podría utilizar al captador previo como arma para influir en los datos que se captan previamente, abriendo así la puerta al acceso a datos confidenciales. La vulnerabilidad tiene serias implicaciones ya que anula por completo las protecciones de seguridad que ofrece la programación en tiempo constante contra ataques de canal lateral.
«GoFetch muestra que el DMP es significativamente más agresivo de lo que se pensaba anteriormente y, por lo tanto, plantea un riesgo de seguridad mucho mayor», señalaron los investigadores.
La naturaleza fundamental de la falla significa que no se puede solucionar en las CPU de Apple existentes, lo que requiere que los desarrolladores de bibliotecas criptográficas tomen medidas para evitar las condiciones que permitan que GoFetch tenga éxito, algo que también podría introducir un impacto en el rendimiento. Por otro lado, se insta a los usuarios a mantener sus sistemas actualizados.
Sin embargo, en los chips Apple M3, se ha descubierto que habilitar la sincronización independiente de datos (DIT) desactiva DMP. Esto no es posible en los procesadores M1 y M2.
«El silicio de Apple proporciona sincronización independiente de datos (DIT), en la que el procesador completa ciertas instrucciones en un período de tiempo constante», Apple notas en su documentación. «Con DIT habilitado, el procesador utiliza la mayor cantidad de tiempo, en el peor de los casos, para completar la instrucción, independientemente de los datos de entrada».
El fabricante de iPhone también enfatizó que aunque activar DIT evita fugas basadas en el tiempo, se recomienda a los desarrolladores adherirse a «evitar ramas condicionales y ubicaciones de acceso a la memoria basadas en el valor de los datos secretos» para impedir de manera efectiva que un adversario infiera secretos mediante controlando el estado de la microarquitectura del procesador.
El desarrollo se produce cuando otro grupo de investigadores de la Universidad Tecnológica de Graz en Austria y la Universidad de Rennes en Francia demostraron un nuevo ataque de unidad de procesamiento de gráficos (GPU) que afecta a navegadores y tarjetas gráficas populares y que aprovecha el código JavaScript especialmente diseñado en un sitio web para inferir información confidencial como contraseñas.
La técnica, que no requiere interacción del usuario, ha sido descrita como el primer ataque de canal lateral de caché de GPU desde el navegador.
«Dado que la computación GPU también puede ofrecer ventajas para los cálculos dentro de sitios web, los proveedores de navegadores decidieron exponer la GPU a JavaScript a través de API como WebGL y el próximo estándar WebGPU», dijeron los investigadores. dicho.
«A pesar de las restricciones inherentes del entorno JavaScript y WebGPU, construimos nuevas primitivas de ataque que permiten ataques de canal lateral de caché con una efectividad comparable a los ataques tradicionales basados en CPU».
Un actor de amenazas podría convertirlo en un arma mediante un ataque desde vehículos, permitiendo la extracción de claves AES o la extracción de criptomonedas mientras los usuarios navegan por Internet. Afecta a todos los sistemas operativos y navegadores que implementan el estándar WebGPU, así como a una amplia gama de dispositivos GPU.
Como contramedida, los investigadores proponen tratar el acceso a la tarjeta gráfica del sistema host a través del navegador como un recurso sensible, exigiendo que los sitios web soliciten el permiso de los usuarios (como en el caso de la cámara o el micrófono) antes de su uso.