Descripción detallada de la característica Prevención de ejecución de datos (DEP) en el Service Pack 2 (SP2) de Windows XP, Windows XP Tablet PC Edition 2005 y Windows Server 2003

Seleccione idioma Seleccione idioma
Id. de artículo: 875352 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Prevención de ejecución de datos (DEP) es un conjunto de tecnologías de hardware y software que realizan comprobaciones adicionales en la memoria para ayudar a evitar que se ejecute en un sistema código malintencionado. En el Service Pack 2 (SP2) de Microsoft Windows XP y en Microsoft Windows XP Tablet PC Edition 2005, tanto el hardware como el software aplican DEP.

La principal ventaja de DEP es ayudar a evitar la ejecución del código desde las páginas de datos. Normalmente, el código no se ejecuta desde el montón predeterminado ni la pila. DEP forzada por hardware detecta código que se está ejecutando desde estas ubicaciones y produce una excepción cuando se lleva a cabo la ejecución. DEP forzada por software puede ayudar a evitar que el código malintencionado se aproveche de los mecanismos de control de excepciones de Windows.

INTRODUCCIÓN

En este artículo se describe la característica DEP en el Service Pack 2 de Windows XP y en Microsoft Windows Server 2003 con el Service Pack 1 (SP1), y se tratan los temas siguientes:

Más información

DEP forzada por hardware

DEP forzada por hardware marca todas las ubicaciones de memoria de un proceso como no ejecutables, a menos que la ubicación contenga explícitamente código ejecutable. Existe un tipo de ataque que intenta insertar y ejecutar código desde ubicaciones de memoria no ejecutables. DEP ayuda a evitar estos ataques interceptándolos y produciendo una excepción.

DEP forzada por hardware depende del hardware del procesador para marcar la memoria con un atributo que indica que no se debe ejecutar código desde esa memoria. DEP funciona por páginas de memoria virtual, y normalmente cambia un bit en la entrada de tabla de la página (PTE) para marcar la página de memoria.

La arquitectura del procesador determina cómo se implementa DEP en el hardware y cómo marca la página de memoria virtual. Sin embargo, los procesadores que admiten DEP forzada por hardware pueden producir una excepción cuando se ejecuta código desde una página que está marcada con el conjunto de atributos adecuado.

Advanced Micro Devices (AMD) e Intel han definido y distribuido arquitecturas compatibles con Windows que son compatibles con DEP.

A partir del SP2 de Windows XP, la versión de Windows de 32 bits utiliza una de estas características:
  • La característica de procesador de protección de página sin ejecución (NX) definida por AMD.
  • La característica Execute Disable Bit (XD) definida por Intel.
Para utilizar estas características de procesador, éste debe estar funcionando en modo de Extensión de dirección física (PAE). Sin embargo, Windows permitirá automáticamente que el modo PAE admita DEP. Los usuarios no tienen que habilitar PAE por separado utilizando el modificador de inicio /PAE.

Nota
Puesto que los núcleos de 64 bits son conscientes de las extensiones AWE (Address Windowing Extensions), no hay un núcleo de PAE independiente en las versiones de Windows de 64 bits.
Para obtener más información acerca de PAE y AWE en Windows Server 2003, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
283037 Hay disponible compatibilidad con gran cantidad de memoria en Windows Server 2003 y Windows 2000

DEP forzada por software

Se ha agregado un conjunto adicional de comprobaciones de seguridad de Prevención de ejecución de datos al Service Pack 2 de Windows XP. Estas comprobaciones, conocidas como DEP forzada por software, están diseñadas para bloquear el código malintencionado que se aprovecha de los mecanismos de tratamiento de excepciones de Windows. DEP forzada por software se ejecuta en cualquier procesador que pueda ejecutar el SP2 de Windows XP. De forma predeterminada, DEP forzada por software ayuda a proteger sólo algunos archivos binarios del sistema, sin tener en cuenta las capacidades de DEP forzada por hardware del procesador.

Ventajas

La principal ventaja de DEP es que ayuda a evitar la ejecución de código desde las páginas de datos, como las páginas de montón predeterminadas, diversas páginas de pila y las páginas de bloque de memoria. Normalmente, el código no se ejecuta desde el montón predeterminado ni desde la pila. DEP forzada por hardware detecta código que se está ejecutando desde estas ubicaciones y produce una excepción cuando se lleva a cabo la ejecución. Si no se trata la excepción, se detendrá el proceso. La ejecución de código desde la memoria protegida en modo de núcleo produce un error Stop.

DEP puede ayudar a bloquear un tipo de intrusiones de seguridad. En concreto, DEP puede ayudar a bloquear un programa malintencionado en el que un virus u otro tipo de ataque ha insertado código adicional en un proceso y, a continuación, intenta ejecutar el código insertado. En un sistema con DEP, la ejecución del código insertado produce una excepción. DEP forzada por software puede ayudar a bloquear programas que se aprovechan de los mecanismos de control de excepciones en Windows.

Configuración de DEP para todo el sistema

La configuración de DEP para el sistema se controla a través de modificadores en el archivo Boot.ini. Si ha iniciado sesión como administrador, ahora puede configurar fácilmente los parámetros de DEP utilizando el cuadro de diálogo Sistema del Panel de control.

Windows admite cuatro configuraciones para todo el sistema, tanto para DEP forzada por hardware como para DEP forzada por software.
Contraer esta tablaAmpliar esta tabla
ConfiguraciónDescripción
OptInEsta configuración es la predeterminada. En los sistemas con procesadores que pueden implementar DEP forzada por hardware, DEP se habilita de forma predeterminada para algunos archivos binarios y programas del sistema que "se suscriben". Con esta opción, DEP cubrirá sólo los archivos binarios del sistema de Windows de forma predeterminada.
OptOutDEP se habilita de forma predeterminada para todos los procesos. Puede crear manualmente una lista de programas concretos que no tienen aplicada DEP; para ello, utilice el cuadro de diálogo Sistema del Panel de control. Los profesionales de las tecnologías de la información (IT) pueden utilizar Application Compatibility Toolkit para "no incluir" uno o varios programas en la protección de DEP. Las revisiones de compatibilidad de sistema, o emuladores, para DEP surten efecto.
AlwaysOnEsta configuración proporciona cobertura de DEP completa para todo el sistema. Todos los procesos se ejecutan siempre con DEP aplicada. La lista de excepciones para eximir a programas concretos de la protección de DEP no está disponible. Las revisiones de compatibilidad de sistema para DEP no tienen efecto. Los programas que se han excluido utilizando Application Compatibility Toolkit se ejecutan con DEP aplicada.
AlwaysOffEsta configuración no proporciona ninguna protección DEP para ninguna parte del sistema, cualquiera que sea la compatibilidad del hardware con DEP. El procesador no funciona en modo PAE a menos que la opción /PAE esté presente en el archivo Boot.ini.
Las características DEP forzada por hardware y por software se configuran de la misma manera. Si la directiva DEP para todo el sistema se establece en OptIn, la característica DEP forzada por hardware y por software protegerá los mismos archivos binarios del núcleo y programas de Windows. Si el sistema no puede utilizar DEP forzada por hardware, los archivos binarios del núcleo y los programas de Windows sólo estarán protegidos por DEP forzada por software.

Del mismo modo, si la directiva DEP para todo el sistema se establece en OptOut, los programas que se han excluido de la protección de DEP quedarán excluidos de la característica DEP forzada por hardware y por software.

La configuración del archivo Boot.ini es como sigue:
/noexecute=nivelDeDirectiva
Nota
nivelDeDirectiva se define como AlwaysOn, AlwaysOff, OptIn u OptOut.

La configuración /noexecute existente del archivo Boot.ini no cambia cuando se instala el SP2 de Windows XP. Esta configuración tampoco cambia si una imagen del sistema operativo Windows se cambia de un equipo a otro con o sin compatibilidad con DEP forzada por hardware.

Durante la instalación del SP2 de Windows XP y del SP1 de Windows Server 2003 o versiones posteriores, se habilita el nivel de directiva OptIn de forma predeterminada a menos que se especifique un nivel de directiva diferente en una instalación desatendida. Si la configuración /noexecute=nivelDeDirectiva no está presente en el archivo Boot.ini de una versión de Windows que admite DEP, el comportamiento es igual que si se hubiera usado la configuración /noexecute=OptIn.

Si ha iniciado sesión como administrador, puede configurar manualmente la función DEP para que cambie entre las directivas OptIn y OptOut empleando la ficha Prev. de ejecución de datos en Propiedades del sistema. El procedimiento siguiente describe cómo configurar manualmente DEP en el equipo:
  1. Haga clic en Inicio y en Ejecutar, escriba sysdm.cpl y haga clic en Aceptar.
  2. En la ficha Opciones avanzadas, en Rendimiento, haga clic en Configuración.
  3. En la ficha Prev. de ejecución de datos, utilice uno de los procedimientos siguientes:
    • Haga clic en Activar DEP sólo para los programas y servicios de Windows esenciales para seleccionar la directiva OptIn.
    • Haga clic en Activar DEP para todos los programas y servicios excepto los que seleccione para seleccionar la directiva OptOut y, a continuación, haga clic en Agregar para agregar los programas que no desee que utilicen la función DEP.
  4. Haga clic dos veces en Aceptar.
Los profesionales de IT pueden controlar la configuración de DEP en todo el sistema mediante diversos métodos. El archivo Boot.ini se puede modificar directamente con mecanismos de secuencias de comandos o con la herramienta Bootcfg.exe, incluida en el SP2 de Windows XP.

Para configurar DEP para cambiar a la directiva AlwaysOn utilizando el archivo Boot.ini, siga estos pasos:
  1. Haga clic en Inicio, haga clic con el botón secundario del mouse (ratón) en Mi PC y, después, haga clic en Propiedades.
  2. Haga clic en la ficha Opciones avanzadas y, después, haga clic en la opción Configuración del campo Inicio y recuperación.
  3. En el campo Inicio del sistema, haga clic en Modificar. El archivo Boot.ini se abrirá en el Bloc de notas.
  4. En el Bloc de notas, haga clic en Buscar en el menú Edición.
  5. En el cuadro Buscar, escriba /noexecute y, a continuación, haga clic en Siguiente.
  6. En el cuadro de diálogo Buscar, haga clic en Cancelar.
  7. Reemplace nivelDeDirectiva con AlwaysOn.

    ADVERTENCIA
    Asegúrese de escribir con precisión el texto. El modificador de archivo Boot.ini debería indicar ahora:
    /noexecute=AlwaysOn
  8. En el Bloc de notas, haga clic en Guardar en el menú Archivo.
  9. Haga clic dos veces en Aceptar.
  10. Reinicie el equipo.
Para las instalaciones desatendidas del SP2 de Windows XP o versiones posteriores, puede utilizar el archivo Unattend.txt para rellenar previamente una configuración DEP concreta. Puede utilizar la entrada OSLoadOptionsVar en la sección [Data] del archivo Unattend.txt para especificar una configuración DEP para todo el sistema.

La configuración DEP por programa

Para fines de compatibilidad con los programas, puede deshabilitar selectivamente DEP para determinados programas de 32 bits cuando DEP se establece en el nivel de directiva OptOut. Para ello, utilice la ficha Prev. de ejecución de datos de Propiedades del sistema para desactivar selectivamente DEP para un programa. Para los profesionales de IT, con el SP2 de Windows XP se incluye una nueva revisión de compatibilidad de programas denominada DisableNX. Esta revisión deshabilita la Prevención de ejecución de datos para el programa al que se aplica la revisión.

La revisión de compatibilidad DisableNX se puede aplicar a un programa utilizando Application Compatibility Toolkit. Para obtener más información sobre la compatibilidad de aplicaciones para Windows, vea Windows Application Compatibility en el siguiente sitio Web de Microsoft:
http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx
Para obtener más información al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
912923 Cómo determinar que DEP por hardware está disponible y configurado en su equipo

Referencias

Para obtener más información al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
899298 En el tema de Ayuda que define la Prevención de ejecución de datos, "Understanding Data Execution Prevention", se indica incorrectamente la configuración predeterminada para DEP en el Service Pack 1 de Windows Server 2003

Propiedades

Id. de artículo: 875352 - Última revisión: lunes, 10 de junio de 2013 - Versión: 14.3
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003 Service Pack 1 sobre las siguientes plataformas
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
Palabras clave: 
kbtshoot kbinfo KB875352

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com