A partir del SP2 de Windows XP aparece una nueva funcionalidad de seguridad del sistema operativo, llamada Prevención de ejecución de datos (DEP).
¿Qué hace la prevención de ejecución de datos?
La prevención de ejecución de datos (DEP) es un conjunto de tecnologías de hardware y software que realizan verificaciones adicionales en la memoria para ayudar a proteger contra explosiones de códigos maliciosos. En Windows XP SP2, DEP se aplica tanto por el hardware como por el software.
DEP aplicado por el hardware
DEP aplicado por hardware marca todas las ubicaciones de memoria en un proceso como no ejecutables a menos de que la ubicación contenga explícitamente código ejecutable. Existe una clase de ataques que intenta insertar y ejecutar código desde ubicaciones de la memoria que no son ejecutables. DEP ayuda a evitar esos ataques al interceptar tales ataques y elevar una excepción.
DEP aplicado por el hardware se basa en el hardware del procesador para marcar la memoria con un atributo que indica que el código no se debe ejecutar desde esa memoria. DEP funciona página por página de memoria virtual, normalmente modificando un bit en el registro de la tabla de la página (PTE) para marcar la página de la memoria.
La implementación real del hardware DEP y la marcación de la página de la memoria virtual varían por arquitectura de procesador. Sin embargo, los procesadores que soportan DEP aplicada por el hardware son capaces de generar una excepción cuando se ejecuta el código desde una página marcada con el conjunto de atributos apropiados.
TantoAdvanced Micro Devices™ (AMD) como Intel® Corporation han definido y lanzado arquitecturas compatibles con Windows que son compatibles con DEP.
Comenzando con Windows XP Service Pack 2, la versión de 32 bits de Windows utiliza la función del procesador de protección al no ejecutar de la página (NX) como la define AMD o la función del bit Ejecución deshabilitada como la define Intel. Para poder utilizar estas funciones de procesador, el procesador se debe ejecutar en el modo Extensión de dirección física (PAE). Las versiones de 64 bits de Windows XP utilizan la función NX del procesador en extensiones de 64 bits y en ciertos valores del campo del registro de tabla de página (PTE) con derechos de acceso en los procesadores IPF.
Se espera que todos los procesadores futuros de 32 a 64 bits proporcionen soporte para la prevención de ejecución de datos aplicada por el hardware. Microsoft sigue trabajando con los proveedores de procesadores para fomentar la adopción y el desarrollo de las tecnologías DEP.
DEP aplicada por el software
Un conjunto adicional de verificaciones de seguridad para la prevención de la ejecución de datos se ha agregado a Windows XP SP2. Estas verificaciones, conocidas como DEP aplicada por el software, están diseñadas para mitigar explosiones de mecanismos que manejan excepciones en Windows. DEP aplicada por el software se ejecuta en cualquier procesador capaz de ejecutar Windows XP SP2. Por predeterminación, DEP aplicada por el software sólo protege binarios de sistema limitados, sin importar las capacidades DEP aplicadas por el hardware del procesador.
Puede suceder que algunas aplicaciones de Windows no funcionen correctamente al tener activada la prevención de ejecución de datos para todas las aplicaciones, sobre todo al instanciar objetos COM.
En Capataz a partir de la versión 8.80.211 si se produce algún error al obtener la instancia de un objeto COM o un problema de registración, se chequea si está activa la funcionalidad DEP para todas las aplicaciones y se sugiere que verifique en la ayuda del sistema para obtener más información de como proceder para el correcto funcionamiento del sistema.