Windows 10, al igual que todos los sistemas operativos, cuenta con un montón de vulnerabilidades. Ningún sistema es perfecto, y por ello es muy importante que haya un correcto sistema de actualizaciones de Windows que las evite. Sin embargo, Microsoft ha encontrado una manera aún mejor de solucionar un problema que generaba el 10% de los fallos de Windows 10.
El cambio que ha hecho Microsoft ha sido introducir dos nuevas APIs para ayudar a los desarrolladores de drivers a crear software más seguro. El objetivo de Microsoft es reducir los fallos de seguridad relacionados con la memoria, que suponen en torno al 70% de los parches que Microsoft ha lanzado en la última década, debido en parte a que Windows 10 está escrito en C y C++, motivo por el cual están intentando migrar algunos de sus componentes de Windows a Rust.
Entre el 5 y 10% de las CVE de Windows 10 podrían dejar de ocurrir
El fallo que genera tiene que ver con la memoria no inicializada, afectando en concreto a recursos en el kernel no inicializados que representan en torno a la mitad de todos los problemas de memoria que fueron reportados Microsoft entre 2017 y mediados de 2018.
La solución de Microsoft se llama «pool zeroing«, introducida a través de la API de Windows Kernel Pool en Windows 10 May 2020 Update (2004). Según Microsoft, esta mitigación eliminará todas las vulnerabilidades de ese estilo de un plumazo, siendo responsables de entre el 5 y el 10% de todas las CVE de los últimos años.
Las APIs, llamadas ExAllocatePool2 y ExAllocatePool3 permitirán a los desarrolladores de drivers ser más explícitos con lo que están haciendo en su programa, de manera que no habrá dudas de si un desarrollador quería que una parte de la memoria se quedase sin utilizar, ya que ese comportamiento estará especificado en la API, y no será posible aprovecharse de ese espacio vacío porque ya no existirá.
Para poder usar las nuevas APIs, Microsoft ha tenido que introducir algunos cambios en el código. Así, por ejemplo, han tenido que mejorar el sistema de gestión de memoria de Windows, además de hacer cambios en lanzamientos futuros del Hyper-V y componentes de red. El objetivo es convertir todo el código de kernel a la nueva API, y también está explorando cómo hacerlo para evitar problemas con drivers de terceros.
Microsoft ha descubierto este año más fallos que nunca
Aunque Microsoft afirma que todavía será posible realizar ataques contra la memoria no utilizada, la probabilidad de que éstas vuelvan a aparecer es mucho menor. Esperemos que esto ayude a reducir las vulnerabilidades y fallos descubiertos en Windows 10, donde la compañía lanzó el pasado mes de junio el parche que más fallos de seguridad arreglaba en la historia del sistema operativo con un total de 129. En lo que llevamos de 2019 se han lanzado 616 parches, por lo que vamos camino de que 2020 sea un nuevo año récord.