Tercera Protección: No ejecución de Datos
—————————————————————-
DEP (Data Execution Prevention) Bit NX (Non Execute)
—————————————————————-
La tecnología DEP está disponible en Windows XP SP2, Windows Server SP1, Windows Server 2003 R2 y además viene incluida también en Windows Vista y puede aplicarse tanto por Software como por Hardware. ¿Qué quiere decir que puede aplicarse por Hardware o por Software? ¿Funcionan igual?
DEP por Hardware
Para activar DEP por hardware es necesario que el microprocesador que estemos utilizando venga con esta característica, ya que éste es un avance tecnológico de la industria de microprocesadores que es aprovechada por los sistemas operativos. El objetivo es evitar que un programa pueda ser inyectado en un sistema por medio de un desbordamiento de buffer. Para ello se dividen, en tiempo de ejecución, las páginas de la memoria en dos clases: Paginas de ejecución en las que se cargarán los procesos o páginas de NO ejecución donde se van a almacenar datos y/o parámetros de llamada a procedimientos. Para realizar esto las páginas de memoria llevan asociadas un NX (Non eXecute) que indica si se puede ejecutar lo que esté allí o sí por el contrario, nada que esté almacenado en esa zona de memoria puede ser ejecutado.
El realizar esta división y marcado de las páginas permite, que, aunque se produzca un desbordamiento de buffer, este nunca podrá ser utilizado para inyectar un código a través de un parámetro, con lo cual estamos garantizando que el sistema no ejecuta nada que no esté ya introducido previamente.