De por sí la vulnerabilidad Meltdown que afecta a la mayoría de las CPU existentes, ya era mala y Microsoft de alguna manera empeoró aún más la precaria situación de seguridad para los usuarios de Windows 7, permitiendo que cualquier aplicación de nivel de usuario sin privilegios leyera contenido e incluso escribiera datos en la memoria de kernel del sistema operativo.
Para los que no lo sabían, Specter and Meltdown fueron fallas de seguridad reveladas por investigadores a principios de este año en procesadores de Intel, ARM y AMD, dejando casi todas las PC, servidores y teléfonos móviles del planeta vulnerables al robo de datos.
Poco después de que los investigadores revelaran los exploits de Spectre y Meltdown, los proveedores de software, incluido Microsoft, comenzaron a lanzar parches para sus sistemas operativos que corrieran en una CPU vulnerable.
Sin embargo, un investigador de seguridad sueco independiente Ulf Frisk descubrió que los parches de seguridad de Microsoft para PCs con Windows 7 vulnerables a Meltdown, que originalmente permitía a los atacantes leer la memoria de kernel a una velocidad de 120 KBps, ahora luego del parche de seguridad, permitía a los atacantes leer la misma memoria de kernel a un velocidad de Gbps, empeorando el problema aún más para las PC con Windows 7 y las servidores con Windows Server 2008 R2.
Frisk es el mismo investigador que descubrió una forma de robar la contraseña de prácticamente cualquier computadora Mac en tan solo 30 segundos explotando fallas en el sistema de cifrado de disco FileVault de Apple, permitiendo a los atacantes desbloquear cualquier sistema Mac e incluso descifrar archivos en su disco duro.
El descubrimiento es el último problema que rodea a los parches para proteger nuestras PCs contra las vulnerabilidades Meltdown y Spectre, que a veces se encuentran incompletos y otras veces sencillamente no funcionan, lo que plantea problemas como el reinicio espontáneo y otros comportamientos “impredictibles” del sistema operativo en las PC afectadas.
Según Frisk, el problema con los parches iniciales de MS para Meltdown ocurre debido a que un solo bit (que controla el permiso para acceder a la memoria kernel) se pasa accidentalmente del modo sólo-supervisor al modo cualquier-usuario en un traductor de memoria virtual a memoria física llamado PLM4, lo que permite que cualquier aplicación en modo usuario acceda a las tablas de páginas del kernel.
El PML4 es la base de la jerarquía de tablas de páginas en memoria de 4 niveles que usa la Unidad de administración de memoria (MMU) de los CPU de Intel para traducir las direcciones de memoria virtual de un proceso en direcciones de memoria física en la RAM.
Si el bit es correctamente establecido, normalmente asegura que el núcleo tenga acceso exclusivo a estas tablas. Pero como Frisk explica en su blog:
El bit de permiso Usuario/Supervisor se establece a Usuario en la entrada de autorreferencia de PML4. Esto hace que las tablas de páginas estuvieran disponibles para el código del modo de usuario en cada proceso. Normalmente, las tablas de páginas sólo deben ser accesibles por el propio kernel,
Para demostrar su afirmación, Frisk también proporcionó una descripción detallada de las error y ademós proporcionó un exploit de prueba de concepto. El problema solo afecta a las versiones de 64 bits de Windows 7 y Windows Server 2008 R2 y no a las versiones de Windows 10 o Windows 8.1, ya que aún requieren que los atacantes tengan acceso físico a un sistema específico.
Dado que este error permite a cualquier programa sin privilegios de supervisor leer la memoria de Kernel del sistema operativo, no se necesita ningún programa especial para leer el contenido de esta. Lo único que necesitan hacer los atacantes es escribir sus propias entradas de tabla de páginas (PTE) en las tablas de página para acceder a cualquier memoria física arbitrariamente.
Frisk dijo que no ha podido vincular la nueva vulnerabilidad a nada en la lista pública de vulnerabilidades y exploits comunes. También invitó a los investigadores a probar la falla utilizando un kit de explotación que lanzó en GitHub.
A raíz de los hallazgos del investigador sueco, Microsoft lanzó un parche de emergencia el jueves para la vulnerabilidad (CVE-2018-1038) presentada como un parche de Meltdown emitido por la compañía a principios de este año.
De acuerdo con el aviso de seguridad de Microsoft, la falla de elevación de privilegios ocurre cuando el kernel de Windows no maneja los objetos en la memoria correctamente. La explotación exitosa de esta falla podría permitir a un atacante ejecutar código arbitrario en modo kernel.
Ninguna otra versión del sistema operativo Windows se ve afectada, excepto Windows 7 Service Pack 1 (x64) y Windows Server 2008 R2 Service Pack 1 (x64).
Por lo tanto, se recomienda encarecidamente a todos los administradores y usuarios de Windows 7 y Windows 2008R2 que actualicen sus sistemas lo antes posible.