El parche de Meltdown abre una vulnerabilidad en Windows 7

La solución Meltdown de Microsoft abrió un gran vacío en la seguridad de Windows 7, advierten investigadores.

Meltdown y Spectre son, probablemente, las peores vulnerabilidades descubiertas en la historia de la informática. Estos dos fallos de seguridad se hicieron públicos a principios de año y afectan a prácticamente todos los procesadores modernos al estar relacionados con la forma en la que el Kernel y la CPU se comunican entre sí, comenta in investigador de seguridad de la información. Además, la complejidad de estas vulnerabilidades hace que su solución sea muy complicada, tanto que, a veces, los correspondientes parches abren nuevas brechas de seguridad en los sistemas operativos, como acaba de suceder con Windows 7.

windows 7

Los primeros parches de Microsoft para la vulnerabilidad del procesador Intel Meltdown crearon un problema aún mayor en Windows 7 que permitía a cualquier aplicación sin privilegios leer la memoria del kernel, afirma un experto en seguridad de la información.

Los parches de enero y febrero de Microsoft detuvieron el error de Meltdown que expuso las contraseñas en la memoria protegida, pero el investigador de seguridad de la información Ulf Frisk descubrió que los parches introdujeron un error del kernel mucho peor, que permite que cualquier proceso lea y escriba en cualquier lugar de la memoria kernel.

Frisk dice que la vulnerabilidad afecta a Windows 7 x64 y Windows 2008R2 con los parches de enero o febrero.

Los dos parches defectuosos configuraron erróneamente un poco en el traductor de memoria virtual a física conocido como PLM4 para permitir que cualquier aplicación en modo usuario acceda a las tablas de páginas del núcleo, según Frisk.

La CPU de Intel usa estas tablas de página para traducir la memoria virtual de un proceso en memoria física. El bit correctamente establecido normalmente aseguraría que el kernel tenga acceso exclusivo a estas tablas.

“El bit de permiso Usuario / Supervisor se estableció en Usuario en la entrada de autorreferencia PML4. Esto hizo que las tablas de páginas estuvieran disponibles para el código de modo de usuario en cada proceso. Normalmente, las tablas de páginas solo deberían ser accesibles por el núcleo”, dijo. “El PML4 es la base de la jerarquía de tabla de páginas en memoria de 4 niveles que utiliza la Unidad de administración de memoria de la CPU (MMU) para traducir las direcciones virtuales de un proceso en direcciones de memoria física en la RAM”.

Además, el profesional de seguridad de la información dice que el error sería “trivialmente fácil” de usar para acceder a toda la memoria física, debido a que la tabla de páginas PML4 se encuentra en una dirección de memoria fija en Windows 7. Esta situación significa que un atacante también podrá para ubicar la tabla de páginas de Windows 7 a la que ahora se puede acceder mediante aplicaciones en modo de usuario.

“Windows 7 ya hizo el arduo trabajo de mapeo en la memoria requerida en cada proceso en ejecución. La explotación era solo una cuestión de lectura y escritura en la memoria virtual en proceso ya mapeada”, escribe Frisk. “Una vez que se ha obtenido acceso de lectura / escritura a las tablas de páginas, será trivialmente fácil acceder a la memoria física completa, a menos que esté adicionalmente protegido por las tablas de páginas extendidas (EPT) utilizadas para la virtualización. Todo lo que uno tiene que hacer es escribir sus propias entradas de tabla de páginas (PTE) en las tablas de página para acceder a la memoria física arbitraria”.

El investigador de seguridad de la información Frisk aconsejó a todos los administradores y usuarios de Windows 7 y Windows 2008R2 que instalen el parche de marzo de Microsoft para resolverlo. Windows 10 y Windows 8.1 no se ven afectados.