Compartir a través de


grupo no paginado de No-Execute (NX)

Como procedimiento recomendado, los controladores para Windows 8 y versiones posteriores de Windows deben asignar la mayoría o todas sus memorias no paginadas del grupo no paginado (NX). Al asignar memoria del grupo no paginado de NX, un controlador en modo kernel mejora la seguridad evitando que el software malintencionado ejecute instrucciones en esta memoria.

A partir de Windows 8, los controladores en modo kernel pueden asignar memoria desde un grupo de memoria no paginada de NX. Este grupo se administra mediante un asignador de memoria en modo kernel de uso general que funciona de forma similar al asignador de montón win32 en modo de usuario. La memoria de este grupo es NX y no paginada. Las arquitecturas de procesador x86, x64 y Arm permiten designar páginas de memoria como NX para evitar la ejecución de instrucciones en estas páginas. Normalmente, un controlador en modo kernel usa memoria asignada desde un grupo no paginado para almacenar datos y no requiere la capacidad de ejecutar instrucciones en esta memoria.

Compatibilidad con controladores heredados

En Windows 7 y versiones anteriores de Windows, toda la memoria asignada desde el grupo no paginado es ejecutable. Para fomentar la portabilidad de estos controladores para usar el grupo no paginado de NX en Windows 8 y versiones posteriores de Windows, Microsoft proporciona varios mecanismos de participación para permitir a los desarrolladores actualizar sus controladores con un esfuerzo mínimo. Para obtener más información, consulte Mecanismos de Opt-In del grupo de NX.

Por motivos de compatibilidad con versiones anteriores, los archivos binarios de controladores que se ejecutan en Windows 7 y versiones anteriores de Windows, y que asignan memoria del grupo no paginado ejecutable, se ejecutarán en Windows 8 y versiones posteriores de Windows sin modificaciones. Sin embargo, estos controladores no aprovechan la seguridad mejorada del grupo no paginado de NX.