El fallo de seguridad, identificado como CVE-2021-24092 y descubierto por investigadores de la firma de seguridad SentinelOne, se encontraba en el controlador BTR.sys que forma parte del proceso de reparación dentro de Windows Defender para eliminar el sistema de archivos y los recursos de registro creados por el software malicioso desde el modo kernel. Cuando dicho controlador se carga, crea un identificador para un archivo que contiene el registro de sus operaciones. El problema residía en una falta de comprobación de si este archivo es o no un enlace. Por lo tanto, crear un enlace en C:\Windows\Temp\BootClean.log permitiría sobrescribir archivos arbitrarios, eliminar programas e incluso ejecutar código malicioso.
Desde SentinelOne se ha propuesto la siguiente prueba de concepto que demostraría como eliminar un programa del sistema afectado:
- Crear un enlace que apunte a notepad.exe
- Simular la carga del controlador BTR.sys
- Como resultado el fichero notepad.exe se sobreescribe y deja de ser un programa ejecutable.
Los investigadores plantean la hipótesis de que el error habría permanecido sin descubrir durante tanto tiempo debido a que el controlador vulnerable no se almacena en el disco duro de una computadora a tiempo completo (como lo harían los controladores de una impresora, por poner un ejemplo), sino que forma parte de la «biblioteca de vínculos dinámicos» de Windows. De tal modo que el antivirus Windows Defender solamente lo carga cuando es necesario y, una vez que el controlador termina de funcionar, se borra nuevamente del disco.
Para entender la importancia de esta vulnerabilidad se debe tener en cuenta que el antivirus Windows Defender se incluye de forma predeterminada con el sistema operativo Microsoft Windows, que incluso lo activa si no detecta ningún otro software antivirus instalado en el sistema. Esto significa que el parque de máquinas vulnerables sería inmenso: más de mil millones de dispositivos en todo el mundo, aunque para aprovecharla un atacante debería contar con acceso previo (físico o remoto) al sistema objetivo.
El equipo de SentinelOne descubrió y reportó el error a Microsoft el 16 de noviembre de 2020. Toda la información al respecto se ha mantenido en secreto hasta que la empresa de Redmond ha lanzado el parche en su ciclo de actualizaciones de seguridad del pasado martes 9 de febrero para evitar que la vulnerabilidad fuese explotada por los cibercriminales.
No existen evidencias de la vulnerabilidad haya sido descubierta y explotada previamente al análisis de SentinelOne, aunque los investigadores han confirmado que el fallo se encontraba presente en todas las versiones de Windows Defender desde 2009 e incluso podrían existir versiones anteriores también afectadas.
Se recomienda aplicar los parches de seguridad a todos los usuarios de Microsoft Windows, incluso a aquellos que no utilicen Windows Defender dado que el sistema operativo podría activarlo si no detecta otro en el sistema.