Compartir a través de


Protección de pila aplicada por hardware en modo kernel

Se aplica a: Windows Server 2025

La característica de seguridad Protección de pila aplicada por hardware se introdujo para proteger los procesos del modo de usuario y ayudar a evitar el secuestro en la pila en Windows 10. La protección de pila aplicada por hardware ahora se extiende al modo kernel, que protege las pilas del kernel frente a ataques basados en programación orientados a retorno (ROP). ROP es una manera común de que los atacantes secuestren el flujo de ejecución de un programa y continúen su cadena de ataque para ejecutar código deseado del atacante.

Ahora que las pilas del modo de usuario están protegidas y evitan la modificación de direcciones de devolución del código del modo kernel, los atacantes no pueden aprovechar las vulnerabilidades de seguridad de memoria. Los clientes ya ven cómo protección de pila aplicada al modo kernel impide que los controladores asociados con virus y malware ejecuten su carga malintencionada.

La protección de pila aplicada por hardware en modo kernel está desactivada de forma predeterminada, pero los clientes pueden activarla si se cumplen los requisitos previos. En este artículo se proporciona más información sobre la protección de pila aplicada por hardware en modo kernel y se muestra cómo habilitar la característica en la aplicación de Seguridad de Windows y a través de la directiva de grupo.

Requisitos previos

  • Actualización de Windows 11 2022 o posterior
  • Seguridad de Windows aplicación, versión 1000.25330.0.9000 o posterior
  • Hardware que admite intel Control-flow Enforcement Technology (CET) o AMD Shadow Stacks.
    • Para Intel, procesadores Intel Core Mobile de 11ª generación y AMD Zen 3 Core (y versiones más recientes).
  • La seguridad basada en virtualización (VBS) y la integridad de código aplicada por hipervisor (HVCI) están habilitadas.

Uso de pilas de sombras para aplicar la integridad del flujo de control

Con la protección de pila aplicada por hardware en modo kernel, todas las pilas de kernel tienen una pila de sombras correspondiente para aplicar la integridad de su flujo de control. Si los atacantes aprovechan una vulnerabilidad de seguridad de memoria, su siguiente paso es redirigir el flujo de control de un programa a la ubicación deseada de un atacante.

Las pilas de sombra impiden el secuestro de flujo de control. Windows usa Control Flow Guard para aplicar integridad en llamadas indirectas y Protección de pila aplicada por hardware para aplicar la integridad en los retornos con el fin de protegerse contra vulnerabilidades de seguridad que tienen como objetivo redirigir el flujo de ejecución de un programa. Control Flow Guard utiliza un mapa de bits para anotar destinos de salto válidos, para evitar que una llamada indirecta en peligro redirija el flujo de control a ubicaciones arbitrarias.

La pila de sombras mantiene una pila secundaria (protegida por hardware) para todas las pilas de llamadas y cada vez que una instrucción CALL o RET inserta o extrae un valor en la pila, una entrada correspondiente reside en la pila de sombras. Cuando se produce un error de coincidencia de direcciones de devolución, el sistema desencadena una pantalla azul para evitar el comportamiento de control de programa no deseado.

Para obtener más información, consulte la entrada de blog descripción de la protección de pila aplicada por hardware.

Habilitación de la protección de pila aplicada por hardware en modo kernel en Seguridad de Windows

La seguridad basada en virtualización (VBS) y la integridad de código aplicada por hipervisor (HVCI) son requisitos previos para la protección de pila aplicada por hardware en modo kernel, primero debe asegurarse de que estas características están habilitadas antes de continuar. Se pueden habilitar automáticamente en sistemas Windows que cumplen los requisitos mínimos de hardware.

Habilite VBS y HVCI con los pasos siguientes:

  1. Abra la aplicación Seguridad de Windows.

  2. Vaya a >aislamiento de Device Security > Core.

  3. Active la característica.

  4. Después de realizar este cambio, debe reiniciar el dispositivo.

Captura de pantalla del botón de alternancia para activar o desactivar la integridad de memoria.

Activar la protección de pila aplicada por hardware en modo kernel

  1. Abra la aplicación Seguridad de Windows.

  2. Vaya a Device Security > Core isolation details > Kernel-mode Hardware-forced Stack Protection(Protección de pila aplicada por hardware en modo kernel).

  3. Active la característica.

Captura de pantalla del botón de alternancia para activar o desactivar la protección de pila aplicada al modo kernel.

Habilitación de la protección de pila aplicada por hardware en modo kernel en el Editor de directivas de grupo local

Para los clientes empresariales, la protección de pila aplicada por hardware en modo kernel se puede habilitar mediante la directiva de grupo.

  1. Abra el Editor de directivas de grupo Local.

  2. Vaya a Configuración del > equipo Plantillas > administrativas System > Device Guard > Activar la seguridad basada en virtualización.

  3. Confirme que la seguridad basada en virtualización está habilitada.

  4. En Opciones , busque Protección de pila aplicada por hardware en modo kernel. Seleccione Habilitado en modo de cumplimiento.

  5. Seleccione Aplicar. Entonces ok.

Captura de pantalla de dónde habilitar la protección de pila aplicada por hardware en modo kernel mediante la directiva de grupo.

Controladores incompatibles

Hay un pequeño conjunto de controladores que aún no son compatibles. Los controladores que muestran un comportamiento potencialmente malintencionado, como el secuestro de direcciones de retorno para evitar las directivas de flujo de control, no son compatibles y se agregan a la lista de bloqueos de controladores vulnerables para la protección de pila aplicada por hardware en modo kernel. Después de trabajar con proveedores de controladores para realizar la ofuscación de código de una manera compatible con la pila de sombras, se permiten esos controladores.

Para proporcionar una buena experiencia de usuario y evitar pantallas azules de la máquina, Windows mantiene una lista de bloqueos de controladores conocidos incompatibles para la protección de pila aplicada por hardware en modo kernel. Estos son los conductores que se sabe que secuestran direcciones de retorno en el kernel. Cuando esta característica está activada, el controlador no puede cargarse (en lugar de una pantalla azul cuando se intenta un secuestro de dirección de retorno). Además, si el sistema ya tiene instalado un controlador en la lista de bloqueos, esta característica no se puede habilitar. Puede habilitar esta característica desinstalando el controlador asociado.

Revisión de controladores incompatibles

La característica no se puede habilitar hasta que se resuelvan las incompatibilidades, ya sea con una versión actualizada del proveedor del controlador o quitando la aplicación que instaló el controlador. Para ver la lista de controladores incompatibles, seleccione "Revisar controladores incompatibles".

Captura de pantalla de dónde encontrar los posibles controladores incompatibles.

Algunas aplicaciones usan controladores que no son compatibles con la protección de pila aplicada por hardware en modo kernel. Por ejemplo, las aplicaciones que usan motores de ofuscación para proteger el flujo de control IP y ofuscación, que son incompatibles con las pilas de sombras. Cuando el controlador no seguro intenta cargar con esta característica de seguridad habilitada, verá un mensaje que indica "Un controlador no se puede cargar en este dispositivo".

Captura de pantalla del cuadro de diálogo de alertas de no se puede cargar el controlador.

Opcionalmente, puede deshabilitar la característica de seguridad, aunque si lo hace, degrada la seguridad del dispositivo. Siempre puede volver a habilitar esta característica en la aplicación Seguridad de Windows.