Configurar o desactivar DEP (Prevención de ejecución de datos) en Windows

La prevención de ejecución de datos(Data Execution Prevention) ( DEP ) es una de esas cosas 'borrosas'. Es una bendición la mayor parte del tiempo cuando hace su trabajo y no interfiere, pero maldito cuando interfiere. 

Veamos DEP y cómo configurarlo o desactivar DEP , según sus necesidades.

¿Qué es DEP y qué hace?(What Is DEP & What Does It Do?)

Según Microsoft, 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 código malicioso en un sistema. (a set of hardware and software technologies that perform additional checks on memory to help prevent malicious code from running on a system.)”  

Dell lo simplifica un poco y nos dice que DEP

"... puede ayudar a proteger su computadora al monitorear sus programas para asegurarse de que usen la memoria del sistema de manera segura".(“…can help protect your computer by monitoring your programs to make sure that they use system memory safely.”)

¿Que significa eso? Hay ciertas áreas en la memoria de la computadora que no están destinadas a tener código ejecutándose en ellas, pero a veces el código sí se ejecuta allí. 

Por lo general, el código que se ejecutará allí es malicioso. DEP monitoreará esas áreas y si ve que algo sucede en esas áreas, lo cerrará. Si desea profundizar en cómo funciona, lea la descripción detallada de Microsoft de Prevención de ejecución de datos( Microsoft’s detailed description of Data Execution Prevention) .

Entonces, ¿por qué DEP causa problemas?(So Why Does DEP Cause Problems?)

Incluso hoy en día, las computadoras son tontas. No pueden razonar, solo pueden usar la lógica más básica. Además, los humanos ponen esa lógica en ellos, por lo que las computadoras también obtienen nuestros errores. 

A veces, los buenos programas vagarán por las áreas que el DEP supervisa y trabajan en esos espacios. 

Cuando esto sucede, DEP a veces cerrará todo el programa y le informará a través de un mensaje de error(error message) . Pero a veces , DEP solo hará que el programa funcione muy mal y no habrá nada obvio que le diga por qué. 

¿Qué programas tienen problemas con DEP?(What Programs Have Problems With DEP?)

Los programas que entran en conflicto con DEP suelen ser programas más antiguos o se basan en bases de código antiguas. Una gran cantidad de software de planificación de recursos empresariales(Enterprise Resource Planning) ( ERP ) se basa en bases de código que se remontan a la década de 1970. No había DEP entonces, por lo que el programa irá a las áreas que DEP patrulla.

Los programas de 64 bits se crearon después de que DEP estuviera bien establecido, por lo que se desarrollaron para cumplir. La mayoría de los programas que entran en conflicto con DEP serán programas de 32 bits(will be 32-bit programs)

Los programas que no son de Microsoft que interactúan intensamente con los servicios de (Services)Windows o ejecutan sus propios servicios de (Services)Windows pueden verse afectados por DEP . Si ese es el caso, el proveedor recomendará desactivar DEP por completo .

Para el usuario doméstico(home user) , los juegos antiguos de 32 bits y algunos emuladores para jugar juegos aún más antiguos( emulators for playing even older games) son los que tienen más probabilidades de entrar en conflicto con DEP .

Los controladores de dispositivos antiguos(Old device) o los controladores descargados de fuentes no oficiales también pueden desencadenar errores DEP . Solo descargue controladores del fabricante del hardware o(hardware manufacturer or Microsoft) de Microsoft y actualícelos periódicamente( update your drivers regularly) .

¿Cómo sé si DEP es el problema?(How Do I Know If DEP Is The Problem?)

Es posible que deba ingresar al Visor de eventos y buscar en los registros el ID de evento 1000(Event ID 1000) . Si encuentra uno, puede verse así:

Event ID : 1000 - DEP Error : Generic host for Win32 servicesGeneric Host Process for Win32 Services - DEP : Application Error
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000

 Es posible que vea otros errores que hacen referencia a cosas como:

  • 0xFC:ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY : ocurre cuando un controlador de dispositivo(device driver) intenta ejecutarse en la memoria. Puede ser un controlador malo o desactualizado. Querrás actualizar tus controladores. 
  • STATUS_ACCESS_VIOLATION (0xc0000005) : ocurre cuando los programas intentan ejecutarse en el espacio de memoria(memory space) protegido por DEP .

Cómo configurar o desactivar DEP(How To Configure Or Turn Off DEP)

En Windows 10 , DEP está(DEP) predeterminado en la configuración Activar DEP solo para programas y servicios esenciales de Windows(Turn on DEP for essential Windows programs and services only) . La mayoría de las veces, esto es suficiente. Significa que DEP(DEP) ignorará la mayoría de sus programas . 

Pero si DEP ayuda a proteger la computadora y no tiene un impacto en el rendimiento(performance hit) , es posible que desee seleccionar Activar DEP para todos los programas, excepto los que yo seleccione(Turn on DEP for all programs except those that I select) . Luego, si encuentra un programa que tiene un problema con DEP , podemos agregarlo como una excepción. Veamos cómo hacerlo.

  • Abra el Panel de control(Control Panel ) y luego abra Sistema(System) .

  • En el lado izquierdo de la ventana Sistema , haga clic en (System )Configuración avanzada del sistema(Advanced System Settings) .

  • La ventana Propiedades del sistema(System Properties ) debería abrirse y ya estar configurada en la pestaña Avanzado . (Advanced)En el área Rendimiento(Performance ) , haga clic en Configuración(Settings) .

  • En la ventana Opciones de rendimiento(Performance Options ) , haga clic en la pestaña Prevención de ejecución de datos .(Data Execution Prevention )

  • Con Activar DEP para todos los programas, excepto los que(Turn on DEP for all programs except those that I select) seleccioné, haga clic en el botón Agregar(Add ) cerca de la parte inferior de la ventana.

  • Navegue hasta el ejecutable del programa que nos gustaría agregar como excepción. Lo más probable es que esté en C:/Program Files (x86)
  • En este ejemplo, estamos agregando MediaMonkey , una antigua utilidad de reproducción de música(music player utility) . Pulsamos(Click) sobre el archivo .exe una vez que lo encontremos y pulsamos en Abrir(Open) .

  • En Opciones de rendimiento, haga clic en Aplicar(Apply) . Ahora, MediaMonkey se ejecutará fuera de la protección DEP,(DEP protection) mientras que todos los demás se ejecutarán dentro de la protección DEP(DEP protection) .

Apague DEP completamente(Turn DEP Completely Off)

Si desea desactivar DEP por completo, le recomendamos que solo lo haga como parte de la resolución de un problema. DEP está ahí para su protección. 

Dado que es algo que no se recomienda, no existe una buena forma de apuntar y hacer clic para hacerlo. Veamos cómo podemos desactivar DEP .

  • Abra la ventana de comandos como (Command )administrador(Administrator) . Haga esto escribiendo cmd en el campo de búsqueda de programas(program search field) cerca del menú Inicio(Start) .

  • Ingrese el comando bcdedit.exe /set {current} nx AlwaysOff y presione enter.

bcdedit.exe es una utilidad de Windows para editar datos de configuración de arranque , por (c)lo(bdcedit) tanto , (d)bdcedit(b) .

/set le dice a bcedit que establezca una entrada de valor de opción(option value entry) en la configuración de arranque(boot configuration) .

{current} le dice a becedit que trabaje con la configuración de arranque que(boot configuration) se está usando en este momento.

nx es la abreviatura de no e xecute (n)y(x) es el nombre de ajuste(setting name) para DEP en la configuración de arranque(boot configuration) .

AlwaysOff se explica por sí mismo.

  • Reinicia la computadora.
  • DEP ahora estará completamente y permanentemente apagado.

Active DEP para todo(Turn DEP On For Everything)

Para activar DEP para absolutamente todo, el proceso y el comando(process and command) son como los anteriores.

  • Abra la ventana Comando como (Command )Administrador(Administrator) , siguiendo las instrucciones del procedimiento anterior.
  • Ingrese el comando bcdedit.exe /set {current} nx AlwaysOn

  • Reinicia la computadora.
  • DEP se activará y todos los programas serán monitoreados.

Después de cambiar DEP para que esté siempre encendido o siempre apagado, NO SE(NOT) PUEDE cambiar a través de la pestaña Prevención de ejecución de datos(Data Execution Prevention tab) en la configuración del sistema. 

Veamos cómo cambiarlo para que los botones de radio en la pestaña DEP(DEP tab) se puedan usar nuevamente.

Establecer DEP de nuevo al comportamiento predeterminado(Set DEP Back To Default Behavior)

Para restablecer el comportamiento de DEP a sus valores predeterminados y hacerlo manejable nuevamente a través de la configuración del sistema, haga lo siguiente.

  • Abra la ventana de comandos como (Command )administrador(Administrator) .
  • Ingrese el comando bcdedit.exe /set {current} nx OptIn .

  • Reinicia la computadora.
  • Ahora los botones de radio en la pestaña DEP(DEP tab) en la configuración del sistema son accesibles nuevamente.

A DEP O No A DEP(To DEP Or Not To DEP)

Recomendamos dejar DEP en su configuración predeterminada(default setting) de Activar DEP solo para programas y servicios esenciales de Windows,(Turn on DEP for essential Windows programs and services only, ) a menos que sea necesario cambiarlo para solucionar problemas que puedan estar relacionados con DEP(DEP-related) .



About the author

Soy un científico informático con más de 10 años de experiencia trabajando en el campo de los navegadores, Microsoft Office y OneDrive. Me especializo en desarrollo web, investigación de experiencia de usuario y desarrollo de aplicaciones a gran escala. Mis habilidades son utilizadas por algunas de las principales empresas del mundo, incluidas Google, Facebook y Apple.



Related posts