Un nuevo documento de investigación ha descubierto una vulnerabilidad de seguridad significativa en los chips M de Apple, y una que no se puede solucionar desde un punto de vista de hardware. La falla proviene de una característica de hardware llamada prefetcher dependiente de la memoria de datos (DMP), que está diseñada para acelerar la ejecución de programas al predecir y precargar datos que pueden ser necesarios en el futuro. Sin embargo, los investigadores han encontrado que estos DMP pueden filtrar inadvertidamente información sensible y que es una falla fundamental de hardware que lleva a su filtración.
Si tienes una Mac basada en Apple Silicon, lo único que puedes hacer es tener cuidado con el software que ejecutas. Hasta que se aplique una solución de software para GoFetch, el nombre de la vulnerabilidad, todas las Mac basadas en Apple Silicon son vulnerables. Aun así, una solución de software, alegan los investigadores, es muy probable que afecte el rendimiento de ciertas operaciones criptográficas.
Cómo los chips de la serie M de Apple son vulnerables a los ataques de canal lateral
Resulta que la seguridad es complicada
El problema surge porque los DMP pueden acceder y precargar datos basados en el contenido de la memoria del programa, incluso si esos datos nunca son utilizados directamente por el software en ejecución. Esto socava una defensa clave contra los llamados “ataques de canal lateral”, donde un atacante infiere secretos observando efectos sutiles de la ejecución de un programa, como cambios en el tiempo o el comportamiento de la caché. Muchos algoritmos criptográficos se implementan utilizando técnicas de “programación de tiempo constante” para evitar filtraciones como esta, pero los DMP, al menos en el caso de Apple, pueden eludir estas defensas.
En este caso particular, los investigadores encontraron que los DMP en procesadores como el Apple M1 son mucho más indiscriminados de lo que se creía anteriormente. Pueden activarse para casi cualquier programa y precargar cualquier dato que parezca una dirección de memoria. Al manipular cuidadosamente las entradas del programa, un atacante puede engañar al DMP para filtrar datos criptográficos secretos de una manera que puede medirse desde un programa en el dispositivo. Esto se debe a que cualquier dato que se asemeje a un puntero en la caché será filtrado por el DMP.
Usando estas técnicas, los investigadores demostraron ataques prácticos contra varias implementaciones criptográficas importantes. Pudieron extraer claves secretas de versiones “de tiempo constante” de cifrado RSA, intercambio de claves Diffie-Hellman e incluso algoritmos criptográficos post-cuánticos como CRYSTALS-Kyber y CRYSTALS-Dilithium.
Los investigadores sugieren que los diseñadores de procesadores deberían proporcionar una manera de desactivar los DMP para software sensible a la seguridad como una “solución drástica”. Sin embargo, existen algunas alternativas clave que pueden mitigar el impacto en el rendimiento.
- Uso de núcleos de eficiencia: El DMP no se activa en el código que se ejecuta en núcleos de eficiencia, lo que significa que no hay riesgo de filtración. Sin embargo, es probable que esto sea computacionalmente costoso y también puede cambiar en cualquier momento en el futuro.
- Ofuscación: Las técnicas de ofuscación criptográfica pueden usarse para enmascarar valores sensibles al almacenar/cargarlos desde la memoria. Sin embargo, esto requiere modificaciones personalizadas para cada implementación criptográfica vulnerable a ataques DMP, y puede degradar significativamente el rendimiento para ciertos esquemas.
- Soporte Ad-Hoc: Se pueden construir defensas que apunten a partes individuales del ataque, aunque esto dejaría sin abordar la causa raíz, el DMP.
Por ahora, si tienes una Macbook, realmente no hay mucho que puedas hacer respecto a este ataque. Aparte de ser vigilante con el software que ejecutas e instalar actualizaciones a medida que llegan, necesitarás esperar a que Apple lance una actualización que aborde específicamente esta vulnerabilidad del DMP. Suponiendo que haya algo que la empresa pueda hacer al respecto, es probable que el rendimiento criptográfico se vea afectado.