Un error en el kernel de Windows podría impedir identificar un malware

Escrito por Javier Jiménez

Los desarrolladores de malware pueden abusar de un error de programación en el kernel de Windows para evitar que el software de seguridad identifique si se han cargado módulos maliciosos en tiempo de ejecución y cuándo ha ocurrido. El error afecta a PsSetLoadImageNotifyRoutine, uno de los mecanismos de bajo nivel que algunas soluciones de seguridad utilizan para identificar cuándo se ha cargado el código en el núcleo o en el espacio del usuario.

Error en el kernel de Windows

El problema es que un atacante puede explotar este error de forma que PsSetLoadImageNotifyRoutine devuelva un nombre de módulo no válido. Esto permite a un atacante disfrazar el malware como una operación legítima.

Este error salió a la luz a principios de este año. Fue cuando los investigadores de enSilo estaban analizando el código del kernel de Windows. Omri Misgav, investigador de seguridad de enSilo y el que descubrió el problema, dice que el error afecta a todas las versiones de Windows lanzadas desde Windows 2000. Esto quiere decir que ninguna versión en los últimos 17 años se ha librado del problema.

Las pruebas de Misgav demostraron que el error de programación ha sobrevivido hasta las versiones más recientes de Windows 10.

Microsoft introdujo el mecanismo de notificación PsSetLoadImageNotifyRoutine como una forma de notificar mediante programación a los desarrolladores de aplicaciones de los controladores recién registrados. Debido a que el sistema también podría detectar cuándo se cargó una imagen en la memoria virtual, el mecanismo también se integró con el software antivirus como una forma de detectar algunos tipos de operaciones maliciosas.

En este momento, el mayor problema es que el software de seguridad se basa en este método para detectar algunos tipos de operaciones maliciosas.

Explicaciones

“No probamos ningún software de seguridad específico”, explica Misgav. “Somos conscientes de que algunos proveedores utilizan este mecanismo, sin embargo en este momento no podemos decir si y cómo el uso de la información defectuosa (PsSetLoadImageNotifyRoutine) les afecta”.

“También contactamos a MSRC (Microsoft Security Response Center) sobre este tema a principios de este año. No lo consideraron como una cuestión de seguridad”, añade Misgav.

“Algunas referencias en línea indican que el error era algo conocido, pero en la medida en que podemos decir su causa raíz y las implicaciones completas no se describieron en detalle hasta ahora”, dijo el investigador.

Para detalles más técnicos, un blog de enSilo detalla las complejidades de cómo funciona PsSetLoadImageNotifyRoutine. Hablan de cómo el error altera su comportamiento normal.

Todas las versiones desde el 2000

Así pues, todas las versiones de Microsoft Windows, el sistema operativo más utilizado mundialmente, tienen un error en el kernel que permite ocultar malware cuando se ejecuta. Esto ocurre desde el año 2000, es decir, desde hace 17 años y hasta ahora.

Como siempre decimos, lo mejor es mantener nuestro equipo actualizado. También con software que nos proteja y poder hacer frente a posibles amenazas que pongan en riesgo el buen funcionamiento. Recientemente publicamos un artículo donde hablábamos de algunas de los mejores programas y herramientas de seguridad gratuitos para Windows.

Fuente > Bleeping Computer

Últimos análisis

Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
10
Valoración RZ
8
Valoración RZ
9
Valoración RZ
9
Valoración RZ
10