En los últimos dos meses, tanto los fabricantes de procesadores (Intel y AMD)como los creadores de sistemas operativos (en este caso, Microsoft) han estado lanzando diversos parches para solventar las vulnerabilidades de Meltdown y Spectre. El problema es que muchos de estos parches generaban cuelgues, pantallazos azules, o diversos problemas. Incluso los parches para Windows 7introdujeron vulnerabilidades.
Cuando un parche estropea algo que debía arreglar
Así lo afirma el investigador Ulf Frisk, conocido por haber descubierto previamente problemas de seguridad en el sistema de cifrado FileVault de Apple. Frisk descubrió que los parches para Windows 7 y Windows Server 2008 R2 en sus versiones de 64 bits para Meltdown dejaban una tabla clave de la memoria del kernel vulnerable, pudiéndose leer y editar.
Esto implica que se podía crear malware en ordenadores vulnerables si se tenía acceso a ellos, ya que se podía manipular el mapa de memoria del ordenador,obtener permisos de administrador, o extraer información de los programas ejecutándose en la RAM.
Meltdown de por sí permitía leer contraseñas, información personal, y otra información que se supone que se encontraba segura en el kernel. Sin embargo, los parches que lanzaron en enero y febrero acababan dándole a los programas acceso de lectura y escritura a la memoria física. Esto implica la introducción de una vulnerabilidad aún peor que Meltdown, ya que permitía acceso a la memoria del kernel sin tener que hacer uso de APIs o syscalls.
Cualquier programa podía tener acceso al kernel
Frisk ha detallado cómo funciona la vulnerabilidad y ha creado una prueba de concepto para demostrar cómo funciona, centrándose en una tabla PML4 con dirección fija que puede ser localizada y modificada por el código del exploit. Esta dirección permite al procesador saber dónde está la memoria y dirimir qué puede acceder a ella. Con esto, cualquier programa podía obtener y modificar las direcciones de memoria que se supone que no deberían poder. La tabla PML4, en concreto, es una parte importante que se usa para traducir direcciones virtuales de un proceso a ubicaciones físicas en la propia memoria RAM.
Windows 8.1 y Windows 10 no están afectados por esta vulnerabilidad, la cual fue parcheada al parecer el pasado 13 de marzo en Windows 7 y Windows Server 2008 R2. Si tienes unas actualizaciones antiguas anteriores a enero, estarás a salvo de esta gran vulnerabilidad. Si no, deberás parchear tu sistema operativo de inmediato. El parche que incluía el fallo de seguridad es el lanzado en enero que parcheaba CVE-2017-5754.
Microsoft es conocida por romper cosas cuando lanza parches a través de Windows Update, pero esta de una de las pocas veces que hacen algo aún peor, que es introducir una vulnerabilidad que permita control total de nuestro ordenador a un atacante. Y esto fue así durante algo más de dos meses, que es el tiempo que Microsoft tardó en darse cuenta y parchear el fallo.