Operar en el “espacio del kernel” (la capa con más privilegios de un sistema operativo, con acceso directo a la memoria, el hardware, la gestión de recursos y el almacenamiento) es de vital importancia para los productos de seguridad. Les permite supervisar el “espacio de usuario” (el entorno sin privilegios donde se ejecutan las aplicaciones) y proteger contra el malware que se ejecuta en ese entorno, incluso cuando intenta eludir la detección. Pero el acceso al kernel también permite a los productos de seguridad contrarrestar amenazas más peligrosas dentro del propio kernel. Como hemos informado anteriormente, por ejemplo, algunos actores de amenazas utilizan ataques BYOVD (Bring Your Own Vulnerable Driver), o intentan conseguir sus propios controladores maliciosos firmados criptográficamente, para acceder al espacio del kernel y aprovechar ese elevado nivel de acceso.
Sin embargo, desde el punto de vista de la seguridad, trabajar en el espacio del kernel conlleva sus propios riesgos. Un paso en falso en este entorno, como una mala actualización de un controlador del kernel, puede causar interrupciones. Si el controlador en cuestión se inicia en el momento del arranque, cuando el sistema operativo se carga por primera vez, eso puede provocar impactos prolongados, que pueden requerir que los hosts afectados se inicien en un modo de recuperación para mitigar el problema y permitir que las máquinas arranquen con normalidad.
Intercept X Advanced de Sophos utiliza cinco controladores de kernel a partir de la versión 2024.2. Todos los controladores se someten a pruebas exhaustivas* con los indicadores aplicables activados y desactivados, y se envían con los nuevos indicadores desactivados. Sophos Intercept X y Sophos Central utilizan indicadores de funciones para activar gradualmente nuevas funciones. Los indicadores de funciones se despliegan a través de Sophos Central. Las nuevas funciones suelen estar “protegidas” por indicadores de funciones (desactivadas a menos que el indicador esté activado) para que la función pueda desplegarse gradualmente y revisarse potencialmente antes de una activación más amplia.
En este artículo, en aras de la transparencia, exploraremos cuáles son esos controladores, qué hacen, cuándo se inician, cómo se firman y cuáles son sus entradas. También exploraremos algunas de las salvaguardas que ponemos en marcha en torno a estos controladores para minimizar el riesgo de interrupción (como las implantaciones escalonadas, como se ha mencionado anteriormente; más adelante en el artículo daremos un ejemplo de ello), y las opciones de que disponen los clientes a la hora de configurarlos. También merece la pena señalar que Intercept X Advanced y todos sus componentes, incluidos los controladores del kernel, forman parte de un programa externo de recompensas por fallos desde el 14 de diciembre de 2017; agradecemos el escrutinio a través de envíos externos de recompensas por fallos y fomentamos una cultura de colaboración con la comunidad investigadora.
* “Pruebas” se refiere a una serie de pruebas internas, incluidas herramientas y verificadores proporcionados por Microsoft.
Resumen
La siguiente tabla ofrece una visión general de los cinco controladores del kernel que forman parte de la versión 2024.2 de Intercept X Advanced.
Driver | Versión | Tipo | Tipo de inicio | ¿Firmado por Microsoft? | Firma | Descripción |
SophosEL.sys | 3.2.0.1150
|
Driver del kernel | Inicio de arranque temprano | Si | ELAMP* | Controlador ELAM de Sophos: puede evitar la ejecución de controladores de inicio de arranque maliciosos SophosED.sys 3.3.0.1727 |
SophosED.sys | 3.3.0.1727
|
Driver del sistema de archivos | Inicio de arranque | Si | WHCP+ | El controlador antimalware principal de Sophos |
Sntp.sys | 1.15.1121
|
Driver del filtro de red | Inicio de arranque | Si | WHCP+ | Driver de Sophos Network Threat Protection |
Hmpalert.sys | 3.9.4.990
|
Driver del sistema de archivos | Inicio de arranque | Si | WHCP+ | Driver de Sophos HitmanPro.Alert |
SophosZtnaTap.sys | 9.24.6.3
|
Driver del filtro de red | Bajo demanda | Si | WHCP+ | Driver de Sophos Zero Trust Network Access (ZTNA) Tap |
Tabla 1: resumen de los controladores del kernel en Intercept X Advanced2024.2
* Microsoft Windows Early Launch Anti-malware Publisher
+ Editor de compatibilidad de hardware de Microsoft Windows
SophosEL.sys
Qué hace: SophosEL.sys es el controlador de Sophos Early Launch Anti-Malware (ELAM).
Entradas: este controlador tiene una fuente: una lista de bloqueo de controladores conocidos como malos, a los que hay que impedir que se ejecuten como controladores de arranque al iniciarse la máquina. La lógica de detección de amenazas en el espacio de usuario de Sophos establece esta lista de bloqueo, que se encuentra en la siguiente clave del registro, cuando detecta un controlador malicioso. En el siguiente ciclo de arranque, SophosEL.sys se asegura de que este controlador no se cargue.
Entrada | Descripción | Protección |
HKLM\SYSTEM\CurrentControlSet\Services\Sophos ELAM\Config | Lista de bloqueo de controladores malos conocidos | DACLs; Sophos Tamper Protected |
Opciones del cliente: los clientes pueden configurar la reparación y los elementos permitidos en la política de Protección frente a amenazas desde Sophos Central.
Medidas adicionales: cualquier controlador firmado por Microsoft o Sophos está exento de limpieza/bloqueo.
SophosED.sys
Qué hace: SophosED.sys (Endpoint Defense) es un controlador de arranque, que se inicia durante el procesamiento ELAM y antes de que se carguen muchos otros controladores del kernel, se inicialice el espacio de usuario de Windows y se monte la unidad del sistema. Tiene tres grandes responsabilidades:
-
Proporcionar protección contra manipulaciones para la instalación y configuración de Sophos
-
Exponer los eventos de actividad del sistema a los componentes del espacio de usuario de Sophos para su protección y detección
-
Registrar los eventos de actividad del sistema de bajo nivel en los diarios de eventos de Sophos para su análisis forense a posteriori
Entradas: como SophosED.sys se inicia antes de que el sistema de archivos esté disponible, toda su configuración se proporciona a través de su clave de servicio. Ten en cuenta que todas las entradas siguientes están en HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense.
Entradas de altitud del controlador de filtrado
SophosED.sys se registra en Windows como controlador de minifiltro en varias altitudes (un identificador único que define la posición de un controlador en la “pila” de controladores, en la que los controladores “inferiores” están más cerca del hardware) asignadas y aprobadas por Microsoft.
Entrada | Descripción | Protección |
HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\Instances\ | Múltiples altitudes allocated by Microsoft | DACLs; Sophos Tamper Protected |
Entradas de Protección contra manipulaciones
Sophos Tamper Protection se configura mediante una combinación de políticas del cliente, indicadores de funciones de Sophos y manifiestos firmados integrados en el agente.
Input | Description | Protection |
HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\TamperProtection\Config\ | Política del cliente (Activado/Desactivado, contraseña de configuración*) | DACLs; Sophos Tamper Protected |
HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\TamperProtection\Components\
HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\TamperProtection\Services\ |
Manifiesto de claves, carpetas, servicios, etc. protegidos | Firmado; verificado por el controlador antes de la carga |
* La contraseña de configuración es hasheada con PBKDF2-SHA512 y salteada
Entradas de eventos de actividad del sistema
La política Sophos Central Threat Protection admite varias opciones de configuración, que los procesos del espacio de usuario de Sophos escriben en la clave del registro SophosED.sys, para que estén disponibles cuando se cargue el controlador.
Entrada | Descripción | Protección |
HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\Scanning\Config\ | Política del cliente (Activar/Desactivar, exclusiones y mucho más) | DACLs; Sophos Tamper Protected |
HKLM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\EndpointFlags\ | Indicadores de funciones de Sophos (varias) | DACLs; Sophos Tamper Protected |
Entradas del Diario de Eventos
Entrada | Descripción | Protección |
HLKM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\EventJournal\Config\ | Política del cliente (exclusiones, límites de disco) | DACLs; Sophos Tamper Protected |
HLKM\SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\EventJournal\Features\ | Si existe una subclave con un valor DWORD Enabled =1, los diarios de eventos están activados | DACLs; Sophos Tamper Protected |
Opciones del cliente: los clientes pueden configurar límites de disco y gestionar exclusiones en la política de Sophos Central Threat Protection.
Medidas adicionales: si se dispone de una función de controlador (basada en una combinación de la Política del cliente más el indicador de Sophos), los procesos del espacio de usuario de Sophos pueden configurar varios parámetros en tiempo de ejecución:
-
Una máscara de bits de mitigaciones a aplicar por proceso
-
Qué eventos activar o desactivar para cada proceso
-
La cantidad de tiempo que el controlador debe esperar una respuesta del espacio de usuario (o si debe ser una notificación asíncrona)
Sntp.sys
Qué hace: Sntp.sys (Sophos Network Threat Protection) es un controlador del kernel que se registra en varios eventos de la Plataforma de filtrado de Windows para interceptar y potencialmente modificar los datos del flujo de red. Dependiendo de las funciones activadas por las políticas de Sophos Central Threat Protection y Control Web, se registran distintos filtros y llamadas.
Entradas: la configuración de las funciones se comunica al controlador desde uno o varios de los siguientes procesos en modo usuario:
-
SophosNtpService.exe
-
SophosNetFilter.exe
-
SophosIPS.exe
-
SSPService.exe
Los procesos del espacio de usuario se comunican con el controlador a través de Windows Driver Framework, utilizando IOCTLs, Read y Write. Las comunicaciones hacia y desde el controlador están protegidas, aceptando solo conexiones de procesos autorizados y auténticos de Sophos.
Opciones del cliente: el controlador de filtrado intercepta el tráfico de red de los procesos con y sin navegador en función de las políticas definidas en Sophos Central. El procesamiento del tráfico interceptado se realiza en el espacio de usuario por SophosNetFilter.exe y SophosIPS.exe, que pueden enviar contenido modificado de vuelta al controlador (por ejemplo, para mostrar una página de bloqueo de contenido malicioso).
Medidas adicionales: los clientes pueden añadir sitios individuales a su lista de permitidos o bloqueados en Sophos Central.
Hmpalert.sys
Qué hace: Hmpalert.sys implementa Sophos CryptoGuard, que detecta e impide el cifrado masivo de archivos por ransomware. También configura qué mitigaciones de exploits se implementan cuando se ejecutan los procesos.
Entradas: Hmpalert.sys tiene varias entradas, incluidas varias subclaves del registro e IOCTLS.
Entrada | Descripción | Protección |
HKLM\SYSTEM\CurrentControlSet\Services\hmpalert | Configuración del software | DACLs; Sophos Tamper Protected |
HKLM\ SYSTEM\CurrentControlSet\Services\hmpalert\Config | Política del cliente | DACLs; Sophos Tamper Protected |
HKLM\ SYSTEM\CurrentControlSet\Services\Sophos Endpoint Defense\EndpointFlags | Indicadores de funciones de Sophos (varios) | DACLs; Sophos Tamper Protected |
Opciones del cliente: los clientes pueden activar/desactivar las mitigaciones de exploits y gestionar las exclusiones en la política de Sophos Central Threat Protection.
Medidas adicionales: N/A
SophosZtnaTap.sys
Qué hace: SophosZtnaTap.sys es un controlador TAP OpenVPN desarrollado por Sophos. Si el cliente despliega el agente Sophos Zero Trust Network Access (ZTNA), el controlador intercepta las búsquedas DNS de las aplicaciones gestionadas y redirige el tráfico de dichas aplicaciones a las pasarelas ZTNA de Sophos correspondientes. Las aplicaciones y pasarelas ZTNA se configuran mediante las políticas de Sophos Central y se almacenan en el registro.
Entradas: las entradas en SophosZtnaTap.sys se realizan a través de una subclave del registro.
Entrada | Descripción | Protección |
HKLM\SOFTWARE\Sophos\Management\Policy\NetworkPerimeter\ | Política del cliente (aplicaciones ZTNA, puertas de enlace y certificados) | DACLs; Sophos Tamper Protected |
Opciones del cliente: los clientes pueden gestionar sus aplicaciones y puertas de enlace protegidas por ZTNA desde Sophos Central.
Medidas adicionales: N/A
Ejemplo de despliegue gradual: CryptoGuard ExFAT
Sophos CryptoGuard lleva más de una década protegiendo contra el cifrado masivo en discos permanentes. La versión 2024.1.1 de Intercept X introdujo una nueva función, CryptoGuard ExFAT, que amplía esta protección a las particiones ExFAT (que suelen encontrarse en las unidades USB extraíbles).
El desarrollo y las pruebas de CryptoGuard ExFAT tuvieron lugar entre septiembre de 2023 y marzo de 2024. Esta función se protegió mediante el indicador ‘hmpa.cryptoguard-exfat.available’.
Sophos Engineering ejecutó el software internamente con el indicador activado (nuestra “versión Dogfood”) a partir del 22 de marzo de 2024.
La versión 2024.1.1 de Intercept X se lanzó a Sophos, y luego a los clientes mediante nuestro proceso de despliegue gradual de software, entre el 21 de mayo de 2024 y el 6 de junio de 2024. En esta fase, la función seguía inactiva para todos, salvo para los ingenieros de Sophos.
El indicador ‘hmpa.cryptoguard-exfat.available’ se activó mediante nuestro proceso gradual de activación de indicadores, entre el 10 de junio de 2024 y el 26 de junio de 2024.
Control del cliente
Los clientes pueden seleccionar una versión de software fija (Gestión del Software Endpoint: Soporte a plazo fijo, Soporte a largo plazo). Esto bloquea el software y los indicadores hasta que el cliente seleccione un paquete de software diferente. Los clientes que utilizan la opción “Sophos recomendado” reciben nuevo software periódicamente. Aparte de los lanzamientos de software, también reciben activaciones graduales de indicadores para nuevas funciones del software, como con un lanzamiento normal de software. Sophos ha evolucionado este proceso para mejorar la estabilidad y evitar habilitar nuevas funciones de forma global para todos los clientes.
Conclusión
Los controladores del kernel son fundamentales para el producto Intercept X Advanced (y para una seguridad sólida de los endpoints de Windows, en general), pero también reconocemos que operar en el espacio del kernel no está exento de riesgos.
En este artículo, hemos repasado los controladores del kernel de Intercept X Advanced (a partir de la versión 2024.02), lo que hacen, cómo se firman, cuáles son sus entradas, el control que tienen los clientes sobre su gestión y las protecciones adicionales que hemos implantado, como el despliegue gradual y escalonado de nuevas funciones y las exenciones para minimizar el riesgo de interrupción.
Aunque ninguna protección puede eliminar el riesgo por completo, queríamos compartir los detalles de nuestros controladores en aras de la transparencia y explicar en profundidad cómo enfocamos el complejo problema de intentar proteger a nuestros clientes de las amenazas, de la forma más segura posible.