el bit NX y los mecanismos de proteccion

20/06/2004 - 14:09 por simon | Informe spam
He leido por alguna revista que el SP2 de XP va a traer
mecanismos de proteccion: el bit NX en los procesadores
que lo soporten y la proteccion por software en todos los
casos.

¿alguien que lo haya probado me puede hablar un poco de
ellos?

grax.
 

Leer las respuestas

#1 JM Tella Llop [MVP Windows]
20/06/2004 - 15:05 | Informe spam
Antes de nada, repasemos un poco la chapuceria que se está montando.
En las CPU's serias (de grandes procesadores), no es posible el "error" que existe en los microprocesadores: es decir es impensable que un area de datos se use para ejecutar codigo: esta automaticamente dispara una excepcion. En los microprocesaroes, por contra, sirgieron como algo totalmente libre: no existian mecanismos de proteccion. Por desgracia los sistemas operativos (mas exactamente incluso el diseño de los propios compiladores) ha dejado tambien mucho que desear.

La solucion pasa ahora por intentar corregir un error de diseño de hace años. Y en vez de atajar de raiz e impedir en las paginas de datos la ejecucion de codigo, han decidido el implementarlo condicionalmente. Es decir, si se activa un determinado bit (llamado NX) en los registros de control del procesador, esta proteccion será efectiva y disparará la excepcion cuando un software intente ejecutar codigo en la pila (o en cualuqier area no asignada explicitamente a pagina de codigo ejecutable). En la actualizad el bit lo tiene AMD en sus procesadores de 64, y en breve se espera que todos los procesadores (al menos Intel) lo incorpore en su nueva generacion de procesadores (incluidos los 32).

Pero... y todo tiene un pero... el software actual no está correctamente diseñado: hay muchos programas que usan tecnicas de este estilo y dichos programas dejaran de funcionar.

Microsoft, ha decidido en el SP2, corregir el problema de la ejecucion en la pila, ya que esta era una fuente de entrada de gusanos: inyectan codigo en la pila y le ceden control: ese codigo era un gusano.

Para poderlo abordar, lo primero que hizo fue la depuracion de todo el codigo del propio windows. Una vez depurado, se vio tambien que incluso así, existia la posibilidad de inyeccion de codigo (desbordamiento de buffer) debido a tal y como los compiladores desarrolaban el codigo fuente. Por tanto, hubo que modificar dichos compiladores a tal efecto (un compilador es un programa traductor de un codigo fuente -en el cual se escriben las instrucciones- a codigo maquina). Es por ello uno de los motivos por los que el SP2 ocupa 265 megas: todo el sistema ha necesitado ser recompilado aunque no se haya modificado en muchos casos su codigo fuente.

Una vez corregido el codigo, es necesario igualmente la proteccion, ya que nadie está a salvo de errores. Bajo este prisma hay dos formas: usar el actual -y futuro- bit NX para impedir la ejecucion en pila, y sobrecarga de las funciones software para verificar mediante el propio software que no se ejecute codigo en la pila.

A la combinacion de ambos mecanismos, Microsoft la ha denominado DEP (Data Execution Prevention). Por tanto, por defecto, el SP2 traerá activada la proteccion DEP con el bit NX, (es desactivable) y la proteccion DEP por software (esta ultima no lo es). Igualmente, se pueden seleccionar los programas que queramos que no quedan protegidos, debido precisamente a que para su funcionamiento y por su mal diseño, necesitan ejecutar codigo en la pila. La proteccion software, siempre nos sacará una ventana de aviso cuando un programa intente esto, y permitirá o bien que continue su ejecucion, o bien cancelarlo con error. Si autorizamos a que continue, automaticamente lo añadira a la lista de programas que no quedan protegidos por el DEP.

La configuracion del DEP se hace en una nueva pestaña que aparece con boton derecho sobre Mi PC, propiedades, pestaña de avanzado, boton de rendimiento.

Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use.




"simon" wrote in message news:1ef4c01c456bf$6ffa3f70$
He leido por alguna revista que el SP2 de XP va a traer
mecanismos de proteccion: el bit NX en los procesadores
que lo soporten y la proteccion por software en todos los
casos.

¿alguien que lo haya probado me puede hablar un poco de
ellos?

grax.

Preguntas similares