DEP
¿Qué es DEP?
DEPLa prevencion de ejecucion de datos (DEP / NX / W^X) marca paginas de memoria como no ejecutables para impedir que un atacante ejecute shellcode inyectado en pila o monton.
DEP, tambien llamada NX (No-eXecute) o W^X (escribible o ejecutable), garantiza que ninguna pagina sea a la vez escribible y ejecutable. El bit NX de la CPU bloquea la ejecucion de instrucciones desde paginas de datos como la pila o el monton, neutralizando los ataques clasicos de inyeccion de shellcode. AMD introdujo el bit en 2003 e Intel lo adopto poco despues; Windows XP SP2 incluyo DEP software y Linux lo recibio via PaX/grsecurity antes de pasar al kernel principal. Como DEP elimina la ejecucion directa de datos, los atacantes se volcaron en tecnicas de reutilizacion como return-to-libc y ROP, por lo que conviene combinarla con ASLR, CFI y shadow stacks.
● Ejemplos
- 01
La pila marcada como NX provoca un crash en lugar de ejecutar el shellcode.
- 02
mmap en Linux rechaza PROT_WRITE | PROT_EXEC en builds endurecidos.
● Preguntas frecuentes
¿Qué es DEP?
La prevencion de ejecucion de datos (DEP / NX / W^X) marca paginas de memoria como no ejecutables para impedir que un atacante ejecute shellcode inyectado en pila o monton. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa DEP?
La prevencion de ejecucion de datos (DEP / NX / W^X) marca paginas de memoria como no ejecutables para impedir que un atacante ejecute shellcode inyectado en pila o monton.
¿Cómo defenderse de DEP?
Las defensas contra DEP combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para DEP?
Nombres alternativos comunes: NX, Bit no ejecutable, W^X.