Zombieload: nuevos bugs que permiten extraer información de procesadores Intel

Varios investigadores de distintas universidades han encontrado una nueva clase de vulnerabilidades en los procesadores de Intel que pueden usarse para robar información confidencial directamente del procesador.

Los errores recuerdan a otros de canal lateral como Meltdown, Spectre o Foreshadow, que explotaron una vulnerabilidad en la ejecución especulativa, una parte importante de cómo funcionan los procesadores modernos. La ejecución especulativa es una técnica de optimización que Intel agregó a sus CPU para mejorar la velocidad de procesamiento de datos y el rendimiento. Digamos que esta técnica ayuda a los procesadores a predecir en cierta medida lo que una aplicación o sistema operativo podría necesitar en un futuro próximo, lo que hace que la aplicación se ejecute más rápido y más eficiente. El procesador ejecutará sus predicciones si son necesarias, o las descartará si no lo son.

El ataque ha sido bautizado como "ZombieLoad" porque toma su nombre de "carga zombie", una cantidad de datos que el procesador no puede entender o procesar adecuadamente, lo que obliga al procesador a pedir ayuda al microcódigo del procesador para evitar un bloqueo. Las aplicaciones generalmente solo pueden ver sus propios datos, pero este error permite que los datos se filtren a través de esos límites. Los investigadores dijeron que ZombieLoad filtrará cualquier dato actualmente cargado por el núcleo del procesador. Intel dijo que los parches al microcódigo ayudarán a borrar los buffers del procesador, evitando que se lean los datos.

En la práctica, los investigadores demostraron en un video que los fallos se podían explotar para ver qué sitios web visitaba una persona en tiempo real, pero se podían reutilizar fácilmente para capturar contraseñas o tokens de acceso que se utilizan para iniciar sesión online de la víctima:


Los investigadores reportaron estas vulnerabilidades al fabricante hace un mes. Las vulnerabilidades afectan a casi todos los ordenadores con chips Intel desde 2011.

Intel ha lanzado microcódigo para parchear procesadores vulnerables, incluidos los chips Intel Xeon, Intel Broadwell, Sandy Bridge, Skylake y Haswell. Los chips Intel Kaby Lake, Coffee Lake, Whiskey Lake y Cascade Lake también se ven afectados, al igual que todos los procesadores Atom y Knights.

Pero otros gigantes tecnológicos, como Apple, Microsoft o Google han lanzado parches, y se espera que otras compañías los sigan.

Como nota negativa, Intel ya ha dicho que las actualizaciones de microcódigo, como parches anteriores, tendrá un impacto en el rendimiento del procesador, dicen un 3 por ciento en el peor de los casos, y hasta un 9 por ciento en un entorno de centro de datos, aunque aseguran que no se notará en la mayoría de los escenarios.

De momento no han publicado el código del exploit, por lo que no existe una amenaza directa e inmediata para el usuario normal, pero habrá que estar atentos porque de filtrarse cualquier atacante podrá filtrar información de otras aplicaciones, el sistema operativo, las máquinas virtuales en la nube y de otros entornos en producción.

Además Zombieload no es el único fallo descubierto en procesadores Intel:

- RIDL permite que el código sin privilegios robe datos de otros programas a través de cualquier límite de seguridad: otras aplicaciones, el kernel, otras máquinas virtuales (por ejemplo, en la nube) o incluso SGX.
- Fallout demuestra que se pueden filtrar datos de Store Buffers, que se utilizan cada vez que una pipeline de la CPU necesita almacenar cualquier información. Para empeorar las cosas, un atacante sin privilegios puede luego elegir qué datos filtrarán del almacén de la CPU. Irónicamente, las recientes contramedidas de hardware introducidas por Intel en las recientes CPUs de Coffee Lake Refresh i9 para evitar el Meltdown las hacen más vulnerables a Fallout, en comparación con el hardware de generaciones más antiguas.

CVEs:

- CVE-2018-12126 - MSBDS - Microarchitectural Store Buffer Data Sampling
- CVE-2018-12127 - MLPDS - Microarchitectural Load Port Data Sampling
- CVE-2018-12130 - MFBDS - Microarchitectural Fill Buffer Data Sampling
- CVE-2019-11091 - MDSUM - Microarchitectural Data Sampling Uncacheable Memory

Fuentes:
- https://zombieloadattack.com/
- https://hardzone.es/2019/05/14/zombieload-store-to-leak-vulnerabilidades-intel/
- https://techcrunch.com/2019/05/14/zombieload-flaw-intel-processors/
- https://arstechnica.com/gadgets/2019/05/new-speculative-execution-bug-leaks-data-from-intel-chips-internal-buffers/
- https://www.zdnet.com/article/intel-cpus-impacted-by-new-zombieload-side-channel-attack/

Comentarios