Bit NX
- NX puede referirse también a software de Siemens antes conocido como Unigraphics.
NX significa No eXecute (no ejecutar). Es una tecnología utilizada en CPUs para separar las áreas de memoria usadas para albergar las instrucciones del procesador (código) y las de almacenamiento de datos. Cualquier sección de memoria designada con el atributo NX significa que sólo se usa para datos, por lo tanto las instrucciones del procesador no pueden ni deben residir ahí. Es una técnica utilizada para prevenir que cierto tipo de software malicioso tome el control de la máquina insertando su código en el área de almacenamiento de datos de otro programa y ejecute su propio código desde dentro de esta sección; esto se conoce como desbordamiento de búfer, y NX puede prevenirlo.
Hardware
Aunque este tipo de mecanismo se ha venido utilizando durante años en otras arquitecturas de procesadores como SPARC de Sun, Alpha de HP, PowerPC de IBM, e incluso la arquitectura IA64 de Intel, el término ha sido acuñado por AMD para su uso en la línea de procesadores AMD64, como el Athlon 64 y Opteron. Parece que se ha convertido en un término común para describir genéricamente tecnologías similares en otros procesadores
El bit NX se refiere específicamente al bit número 63 (al último bit, si el primer bit empieza en el 0, en enteros de 64 bits) en la entrada de la tabla de páginas de un procesador x86. Si este bit está marcado a 0, entonces el código puede ser ejecutado desde esa página; si está marcado a 1, el código no puede ser ejecutado desde esa página, y todo lo que ahí resida será considerado como datos. Hay que tener en cuenta que estas páginas tienen que cumplir el formato de tabla de páginas PAE (extensión de dirección física), en lugar del formato de tabla de páginas original del x86. Esta característica primero fue implementada en los procesadores AMD64, ya que la arquitectura AMD64 es una extensión directa de la arquitectura x86, pero esta característica no requiere que el procesador funcione en modo 64 bits - también funcionará en modo 32 bits. Como funciona en modo 32 bits, otros fabricantes de x86, como VIA Technologies, Transmeta, y por supuesto Intel están portando esta función a sus últimas implementaciones de x86.
Intel ha decidido llamarlo XD bit, que significa Execute Disable (Deshabilitar ejecución). Sin embargo, está implementado exactamente de la misma manera que el bit NX de AMD, así que realmente es lo mismo.
Emulación por software
Previamente a que esta característica estuviera integrada dentro del hardware, varios sistemas operativos intentaron emularla mediante software.
Un sistema operativo con la habilidad de emular o tener las ventajas de un bit NX puede prevenir que las áreas de memoria, como la pila (stack) y montículo (heap) sean ejecutables, y puede prevenir que la memoria ejecutable sea escribible. Esto ayuda a impedir que ciertos exploits de desbordamiento de búfer tengan éxito, particularmente aquellos que inyectan y ejecutan código, como los gusanos Sasser y Blaster. Estos ataques se basan en que alguna parte de la memoria, normalmente la pila, es tanto escribible como ejecutable; y si no lo es, el ataque fracasa.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.