¿Está habilitando el DEP (Prevención de ejecución de datos) para todos los programas que vale la pena los riesgos?

13

Supuestamente, la prevención de ejecución de datos en Windows es una línea de defensa contra el código malicioso: "al monitorear sus programas para asegurarse de que usen la memoria de la computadora de forma segura". Sin embargo, también sé a ciencia cierta que no todos los programas están hechos para DEP, y pueden producirse bloqueos y otros problemas si se bloquea una aplicación "segura" y se la considera insegura.

En el panel de configuración de DEP (captura de pantalla a continuación), tengo la capacidad de habilitar este servicio para todos los programas instalados en mi computadora.

¿Funciona realmente DEP en la protección contra ataques (supongamos que ya tengo un buen AV y firewall), o simplemente no vale la pena el riesgo de compatibilidad?

    
pregunta bubbles 23.02.2014 - 00:32
fuente

1 respuesta

14

Para comprender lo que hace DEP, primero debe saber un poco sobre cómo se distribuye la memoria en un proceso. El concepto clave es que el código (instrucciones que la CPU puede ejecutar) y los datos (pilas y objetos) existen en áreas separadas de la memoria. La entrada del usuario, los archivos, los datos del programa, etc., se encuentran en las áreas de datos de la memoria.

DEP permite aplicar esta separación marcando las páginas de códigos en la memoria como "ejecutable". De manera similar NO marcando páginas de datos, el procesador ahora puede reconocer cuándo una región de la memoria está destinada a las instrucciones de la CPU y cuándo no lo está. Como protección, la CPU fallará, lo que permitirá que el sistema operativo finalice el proceso cuando DEP esté habilitado y el procesador intente ejecutar el código desde la memoria de datos.

En resumen, esto significa que un usuario no puede simplemente ingresar datos que contengan código ejecutable y, a través de una vulnerabilidad, apuntar el puntero de instrucción del procesador a esos datos y comenzar a ejecutar el código, como antes era posible antes de la adopción generalizada de DEP.

Como mecanismo de seguridad, esta es una estrategia para mitigar una vulnerabilidad que ejecuta código arbitrario / malicioso en un sistema. Sin embargo, las hazañas modernas son típicamente capaces de derrotar a DEP.

Nunca he encontrado un programa que no pueda manejar DEP, y lo he activado desde que se ofreció por primera vez en Windows XP SP2. Esto no quiere decir que no haya programas que puedan ser interrumpidos por él, pero los programas modernos, incluso los más complejos, como los navegadores web, pueden funcionar cuando DEP está habilitado.

Dado el soporte de hardware para DEP como se indica en la captura de pantalla anterior y el soporte de la aplicación moderna y extendida para DEP (así como las mitigaciones más avanzadas como ASLR), no debería notar ninguna diferencia de rendimiento con DEP habilitado. está desactivado. Teniendo en cuenta esto, no tengo sentido ejecutar DEP solo para servicios del sistema: no hay ningún problema en ejecutarlo para todo. Si encuentra algo que falla debido a DEP, podría agregar ese programa individual a la lista negra, aunque también consideraría encontrar un producto más actual y no permitiría que una aplicación orientada a Internet se ejecute sin DEP (y todo otras mitigaciones de explotación disponibles) habilitadas. No estoy al tanto de los riesgos causados por la habilitación de DEP a nivel mundial: afirmaría que acepta el riesgo al no hacerlo.

    
respondido por el antik 23.02.2014 - 01:56
fuente

Lea otras preguntas en las etiquetas