Red de conocimiento informático - Material del sitio web - Cómo desactivar la Prevención de ejecución de datos.

Cómo desactivar la Prevención de ejecución de datos.

Haga clic derecho en Mi PC => Propiedades => pestaña Avanzado

En la configuración de rendimiento => Protección de ejecución de datos, seleccione "Excepto seleccionado..." ...... ....." y luego agregue el Explorador de Windows en él

Adjunto: Descripción detallada de la función de protección de ejecución de datos en Windows XP SP2

Resumen

Microsoft Windows XP Service Pack 2 utiliza una nueva función de Prevención de ejecución de datos (DEP) para evitar la ejecución de código en páginas de datos. Al intentar ejecutar código en una página de datos etiquetada, se produce una excepción inmediatamente y se impide la ejecución del código. Esto evita que un atacante use código para desbordar un búfer de datos y luego ejecutar ese código.

Introducción

La Prevención de ejecución de datos (DEP) es una función del procesador compatible con Microsoft Windows XP Service Pack 2 (SP2) que deshabilita la ejecución en áreas de memoria marcadas para el almacenamiento de datos. Ejecutar código. Esta característica también se conoce como "no ejecutar" y "ejecutar protección". Al intentar ejecutar código en una página de datos marcada, se produce una excepción inmediatamente y se impide la ejecución del código. Esto evita que un atacante use código para desbordar un búfer de datos y luego ejecutar ese código.

Más información

La Prevención de ejecución de datos (DEP) ayuda a evitar que los virus y otras amenazas a la seguridad causen estragos al atacar desde una memoria que solo Windows y otros programas pueden usar para ejecutar código malicioso. Este tipo de amenaza causa daños al apoderarse de una o más ubicaciones de memoria que utiliza un programa y luego se propaga y daña otros programas, archivos e incluso sus contactos de correo electrónico.

A diferencia de un firewall o un programa antivirus, DEP no puede evitar que se instalen programas dañinos en su computadora. Sin embargo, monitorea sus programas para determinar si están usando la memoria del sistema de manera segura. Para hacer esto, el software DEP, solo o junto con un microprocesador compatible, marca ciertas ubicaciones de memoria como "no ejecutables". Si un programa intenta ejecutar código desde una ubicación protegida, DEP cerrará el programa y le notificará. Esta acción se realiza incluso si el código no es malicioso.

DEP en versiones de 64 bits de Windows

Las versiones de 64 bits de Windows en procesadores de 64 bits pueden ejecutar programas en modo de 64 bits. La versión de Windows de 64 bits del DEP en modo kernel funciona en pilas, grupos paginados y grupos de sesiones independientemente de la arquitectura del procesador.

DEP está habilitado de forma predeterminada en Windows XP SP2 y no se puede deshabilitar. Las aplicaciones de 64 bits no se ejecutarán desde la pila ni desde el montón de procesos predeterminado. Las aplicaciones que necesitan asignar memoria ejecutable se pueden ejecutar usando VirtualAlloc( ) con uno de los atributos de memoria PAGE_EXECUTE*.

¿DEP en versiones de 32 bits de Windows? DEP en modo de usuario

En un futuro próximo, muchas computadoras que ejecutan Windows y programas compatibles con Windows utilizarán versiones de 32 bits de Windows. Versiones de 32 bits de Windows. Sin embargo, los procesadores más nuevos, como AMD Opteron y Athlon-64, admiten modos operativos de 32 y 64 bits. (El modo operativo de 32 bits es el modo heredado; el modo operativo de 64 bits es el modo nativo).

Los nuevos procesadores que admiten modos operativos de 32 y 64 bits pueden ejecutarse en 32 bits. Sistemas operativos de bits y aplicaciones de 32 bits. Los programas que se ejecutan en un entorno de programas también pueden usar DEP cuando el modo de extensión de dirección física (PAE) está habilitado.

Veremos formas de deshabilitar o habilitar DEP para cada aplicación de 32 bits individualmente. DEP está habilitado de forma predeterminada para aplicaciones de 64 bits.

Las excepciones DEP causarán el código de estado STATUS_ACCESS_VIOLATION (0xc0000005) en los sistemas Windows. En la mayoría de los procesos, esta es una excepción no controlada y hace que el proceso finalice. DEP en modo kernel

DEP funciona igual para el modo usuario y el modo kernel. En el modo kernel, la región de memoria DEP no se puede habilitar o deshabilitar individualmente para cada controlador. De forma predeterminada, en las versiones de Windows de 32 bits, DEP solo funciona en pilas. En las versiones de 64 bits de Windows, DEP se aplica a la pila, al grupo paginado y al grupo de sesiones. Una infracción de acceso en modo kernel provocará una comprobación de error 0x000000FC:ATTEMPTED_EXECUTE_OF_NONEXECUTE_MEMORY.

Problemas de compatibilidad

Pueden ocurrir problemas de compatibilidad de DEP tanto con aplicaciones como con controladores. ? Compatibilidad de aplicaciones

Algunos comportamientos de aplicaciones pueden ser incompatibles con DEP. Las aplicaciones que generan código dinámico (como la generación de código en tiempo real) y las aplicaciones que no marcan explícitamente el código generado con permisos de "ejecución" pueden tener problemas de compatibilidad con DEP.

Las aplicaciones que intenten violar el DEP generarán una excepción con el código de estado STATUS_ACCESS_VIOLATION (0xc0000005). Si su aplicación requiere memoria ejecutable, debe establecer explícitamente esta propiedad en la memoria correspondiente especificando PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE o PAGE_EXECUTE_WRITECOPY en el parámetro de protección de memoria de la función de asignación de memoria virtual*.

Para obtener más información, consulte el siguiente artículo de MSDN:

/security/productinfo/XPSP2/memoryprotection/exec_imp.aspx

(/security/productinfo /xpsp2 /memoryprotection/exec_imp.aspx) Compatibilidad de controladores

Los problemas de compatibilidad entre controladores y DEP se refieren principalmente a problemas de compatibilidad causados ​​por el modo PAE. El propio DEP puede tener problemas de compatibilidad con controladores que generan código o que utilizan otros métodos para generar código ejecutable sobre la marcha. La compatibilidad con DEP siempre está habilitada para los controladores cargados en versiones de Windows de 64 bits. Aunque es posible que muchos controladores que crean código ejecutable se hayan corregido en Windows XP SP2, no hay garantía de que todos los controladores se hayan actualizado.

Sin embargo, debido a que muy pocos controladores utilizan estos métodos, el DEP en sí no crea muchos problemas de compatibilidad de controladores. La mayoría de los problemas de compatibilidad de controladores están relacionados con la ejecución del modo PAE en sistemas de 32 bits. Es posible que algunos controladores no se carguen si el modo PAE está habilitado porque es posible que el dispositivo no sea direccionable de 64 bits o que el controlador suponga que el modo PAE requiere más de 4 GB de RAM. Estos controladores creen que cuando están en modo PAE siempre recibirán una dirección de 64 bits y asumen que ellos (o su dispositivo) no pueden interpretar esa dirección.

Otros controladores pueden modificar directamente las entradas de la tabla de páginas del sistema para cargar en modo PAE, pero esto puede provocar inestabilidad en el sistema. Estos controladores esperan entradas de tabla de páginas de 32 bits, pero en modo PAE reciben entradas de tabla de páginas de 64 bits. Los mayores problemas de compatibilidad entre los controladores y PAE se relacionan con las transferencias de acceso directo a la memoria (DMA) y la asignación de registros mapeados. Muchos dispositivos habilitados para DMA (normalmente adaptadores de 32 bits) no son capaces de realizar direccionamiento físico de 64 bits. Cuando un dispositivo se ejecuta en modo de 32 bits, puede direccionar todo el espacio de direcciones físicas.

En modo PAE, los datos pueden residir en direcciones físicas superiores a 4 GB. En este caso, para permitir que los dispositivos con estas limitaciones funcionen correctamente, Windows XP SP2 proporciona doble almacenamiento en búfer para transacciones DMA al proporcionar una dirección de 32 bits indicada por un registro de mapa. El dispositivo puede realizar transacciones DMA a direcciones de 32 bits y el kernel copia la memoria a la dirección de 64 bits proporcionada al controlador.

Cuando el sistema se ejecuta con PAE desactivado, los controladores para dispositivos de 32 bits no requieren ninguna memoria real para admitir sus registros mapeados. Esto significa que no hay necesidad de doble almacenamiento en búfer porque todos los dispositivos y controladores están contenidos en el espacio de direcciones de 32 bits. Según las pruebas de controladores de dispositivos de 32 bits en computadoras basadas en x86 y x64, la mayoría de los controladores probados por clientes que admiten DMA requieren registros de mapas sin restricciones.

Para limitar los problemas de compatibilidad, Windows XP SP2 realizó cambios en la capa de abstracción de hardware (HAL) para emular el comportamiento de HAL DMA de 32 bits. El HAL modificado permite que el sistema tenga registros de mapas ilimitados cuando se ejecuta en modo PAE. Además, el administrador de memoria del kernel ignora cualquier dirección física mayor a 4 GB.

Como resultado de estos cambios en HAL y el administrador de memoria, esperamos que los problemas de compatibilidad de controladores de dispositivos se minimicen en sistemas habilitados para DEP que ejecutan Windows XP SP2.

Notas del desarrollador

Las aplicaciones que requieren un área de memoria ejecutable deben usar el atributo PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE o PAGE_EXECUTE_WRITECOPY al asignar memoria. Además, las aplicaciones no pueden ejecutarse desde el montón o pila de procesos predeterminados.

La mayoría de las aplicaciones que realizan operaciones que son incompatibles con DEP deben actualizarse para seguir siendo compatibles con DEP. Si una aplicación asigna memoria ejecutable desde el montón privado, debe asegurarse de que el indicador EXECUTE esté configurado en esa memoria del montón. La aplicación puede utilizar la interfaz de programación de aplicaciones (API) VirtualAlloc para asignar memoria con la configuración de protección adecuada.

Si una aplicación no asigna memoria ejecutable del montón privado, se debe modificar para que asigne memoria ejecutable del montón privado. La aplicación debe crear este montón utilizando la API VirtualAlloc y especificar al menos el indicador EXECUTE para esta memoria. Cualquier código generado debe colocarse en este montón de ejecutables.

Después de generar el código ejecutable, le recomendamos que configure la protección de la memoria para que la aplicación no permita el acceso de escritura al montón a través de la API VirtualProtect. Esta medida proporcionará más protección para aquellas regiones ejecutables del espacio de direcciones del proceso.

Configuración y solución de problemas

Los síntomas de fallas relacionadas con el soporte de Prevención de ejecución de datos incluyen: Infracciones de acceso en aplicaciones que intentan ejecutarse desde la memoria cuando DEP está habilitado. En este caso, aparece un cuadro de diálogo que indica que la aplicación encontró un error debido a DEP. El cuadro de diálogo contiene un mensaje similar al siguiente:

Prevención de ejecución de datos

Las funciones de seguridad de Windows detectaron un problema y cerraron este programa.

Nombre: Nombre de la aplicación

Editor: Editor de la aplicación

La Prevención de ejecución de datos ayuda a proteger contra virus y otras amenazas a la seguridad. ¿Cómo funciona?

(Seguido de los botones Avanzado y Aceptar).

Si DEP es la causa del error en su aplicación, le recomendamos que se comunique con el proveedor de la aplicación para determinar si hay actualizaciones. disponible para permitir que las aplicaciones funcionen correctamente cuando DEP está habilitado. Para resolver estos problemas, se recomienda instalar esta actualización.

Después de hacer clic en Aceptar, aparece un mensaje estándar de Informe de errores de Windows con una opción para enviar un informe de errores.

También puede ver qué información se recopila a través de la opción "haga clic aquí".

Después de hacer clic en el enlace "Haga clic aquí" en la interfaz de informe de errores, aparecerá la interfaz de detalles. En la sección Firma de error de los datos, puede ver si este error se identifica como Tipo de evento: BEX indica un error relacionado con DEP.

Esta interfaz también proporciona información adicional, que proviene principalmente de algunos. parámetros de excepción: Datos del parámetro

1 Nombre de la aplicación

2 Versión de la aplicación

3 Marca de tiempo de la aplicación

4 Nombre del módulo

5 Versión del módulo

6 Marca de tiempo del módulo

7 Desplazamiento del módulo

8 Código de excepción (c0000005=infracción de acceso, c0000409 = desbordamiento del búfer)

En la pantalla inicial, también puede hacer clic en Avanzado para acceder a los ajustes de configuración de DEP. Puede utilizar estos ajustes para agregar excepciones para aplicaciones que experimenten errores.

El cuadro de diálogo Prevención de ejecución de datos ofrece los tres siguientes. opciones: Habilitar DEP para todos los programas (recomendado) Desactivar DEP (no recomendado) Ayudar a proteger todos los programas excepto:

Pasar Seleccionar una de estas opciones le permite excluir una o más aplicaciones o configurar los ajustes de DEP para La configuración de la opción Desactivar DEP agrega un interruptor de inicio al archivo de configuración boot.ini para la instalación de Windows actualmente en ejecución. Los interruptores .ini son los siguientes: /noexecute: este es el interruptor predeterminado /execute: lo desactiva. DEP. Nota: Se recomienda no desactivar DEP globalmente.

También se puede acceder a estas configuraciones de DEP en Propiedades del sistema.

Si no hay ninguna actualización disponible. su aplicación, siga los pasos a continuación para acceder a ella y configurar los ajustes de configuración de DEP: 1. Cuando se produzca un error en la aplicación, haga clic en Avanzado

2. En el cuadro de diálogo Prevención de ejecución de datos, seleccione Ayudar a proteger los programas excepto aquellos. Todos los programas se enumeran a continuación:"

3. Haga clic en la casilla de verificación junto a la aplicación y luego haga clic en Aplicar.

4. Aparecerá un mensaje que le indicará que debe volver a presentar la solicitud. Inicie el sistema. Haga clic en Aceptar.

5. Haga clic en Aceptar nuevamente y luego reinicie el sistema.

También puede realizar este procedimiento en las propiedades del sistema: 1. . luego haga clic en Panel de control.

2. En la vista Clásica, haga doble clic en Sistema

3. Haga clic en la pestaña Avanzado, y luego haga clic en Configuración.

4. En el cuadro de diálogo Opciones de rendimiento, haga clic en la pestaña Prevención de ejecución de datos.

5. Seleccione "Habilitar DEP para todos los programas y servicios excepto los que selecciono:" y luego haga clic en Agregar.

6. En el cuadro de diálogo Abrir, busque y seleccione la aplicación y luego haga clic en Abrir.

7. Haga clic en Aplicar y luego haga clic en Aceptar. Aparecerá un mensaje informándole que debe reiniciar el sistema para que la configuración surta efecto. Haga clic en Aceptar.