Bit NX

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

El bit NX (sin ejecución) es una tecnología utilizada en las CPU para segregar áreas de un espacio de direcciones virtuales para almacenar datos o instrucciones del procesador. Un sistema operativo compatible con el bit NX puede marcar ciertas áreas de un espacio de direcciones como no ejecutables. Luego, el procesador se negará a ejecutar cualquier código que resida en estas áreas del espacio de direcciones. La técnica general, conocida como protección del espacio ejecutable, también llamada Write XOR Execute, se utiliza para evitar que ciertos tipos de software malicioso se apoderen de las computadoras insertando su código en el área de almacenamiento de datos de otro programa y ejecutando su propio código desde dentro. esta sección; Una clase de este tipo de ataques se conoce como ataque de desbordamiento de búfer.

El término bit NX se originó con Advanced Micro Devices (AMD), como término de marketing. Intel comercializa la función como bit XD (desactivación de ejecución). La arquitectura MIPS se refiere a la función como XI bit (inhibición de ejecución). La arquitectura ARM se refiere a la característica, que se introdujo en ARMv6, como XN (nunca ejecutar). El término bit NX se utiliza a veces para describir tecnologías similares en otros procesadores.

Soporte de arquitectura

X86

Los procesadores x86, desde el 80286, incluían una capacidad similar implementada a nivel de segmento. Sin embargo, casi todos los sistemas operativos para procesadores x86 80386 y posteriores implementan el modelo de memoria plana, por lo que no pueden utilizar esta capacidad. No había ningún archivo 'ejecutable' en la entrada de la tabla de páginas (descriptor de página) en esos procesadores, hasta que, para que esta capacidad esté disponible para los sistemas operativos que utilizan el modelo de memoria plana, AMD agregó una opción "no-ejecutable" o NX bit a la entrada de la tabla de páginas en su arquitectura AMD64, proporcionando un mecanismo que puede controlar la ejecución por página en lugar de por segmento completo.

Intel implementó una característica similar en su procesador Itanium (Merced), con arquitectura IA-64, en 2001, pero no la llevó a las familias de procesadores x86 más populares (Pentium, Celeron, Xeon, etc.). En la arquitectura x86, AMD lo implementó por primera vez, como bit NX, para su uso en su línea de procesadores AMD64, como Athlon 64 y Opteron.

Después de la decisión de AMD de incluir esta funcionalidad en su conjunto de instrucciones AMD64, Intel implementó la característica de bits XD similar en procesadores x86 comenzando con los procesadores Pentium 4 basados en iteraciones posteriores del núcleo Prescott. El bit NX se refiere específicamente al bit número 63 (es decir, el bit más significativo) de una entrada de 64 bits en la tabla de páginas. Si este bit se establece en 0, entonces el código se puede ejecutar desde esa página; si se establece en 1, el código no se puede ejecutar desde esa página y se supone que todo lo que reside allí son datos. Solo está disponible con los formatos de tabla de páginas de modo largo (modo de 64 bits) o de extensión de dirección física (PAE) heredados, pero no con el formato de tabla de páginas original de 32 bits de x86 porque las entradas de la tabla de páginas en ese formato carecen de la 64.º bit utilizado para deshabilitar y habilitar la ejecución.

Windows XP SP2 y versiones posteriores admiten la Prevención de ejecución de datos (DEP).

BRAZO

En ARMv6, se introdujo un nuevo formato de entrada de tabla de páginas; incluye un comando "ejecutar nunca" poco. Para ARMv8-A, descriptores de bloque y página VMSAv8-64, y descriptores de página y bloque de descriptor largo VMSAv8-32, para las traducciones de la etapa 1 tienen la opción "ejecutar nunca" bits para los modos privilegiado y no privilegiado, y los descriptores de bloque y página para las traducciones de la etapa 2 tienen un único comando "ejecutar nunca" bit (dos bits debido a la función ARMv8.2-TTS2UXN); Los descriptores de la tabla de traducción de descriptores cortos VMSAv8-32 en el nivel 1 tienen la opción "nunca ejecutarse". Los bits tanto para el modo privilegiado como para el modo no privilegiado y en el nivel 2 tienen un único comando "ejecutar nunca" poco.

Alfa

A partir de la cuarta edición del manual de arquitectura Alpha, DEC (ahora HP) Alpha tiene un bit de falla en ejecución en las entradas de la tabla de páginas con OpenVMS, Tru64 UNIX y Alpha Linux PALcode.

SPARC

La MMU de referencia SPARC para Sun SPARC versión 8 tiene valores de permiso de Solo lectura, Lectura/Escritura, Lectura/Ejecución y Lectura/Escritura/Ejecutar en las entradas de la tabla de páginas, aunque no todos los procesadores SPARC tienen una MMU de referencia SPARC.

Una MMU SPARC versión 9 puede proporcionar, pero no está obligada a proporcionar, cualquier combinación de permisos de lectura/escritura/ejecución. Una entrada de la tabla de traducción en un búfer de almacenamiento de traducción en la arquitectura Oracle SPARC 2011, borrador D1.0.0, tiene bits ejecutables y grabables separados.

PowerPC/PowerISA

Las entradas de la tabla de páginas para las tablas de páginas hash de IBM PowerPC tienen un bit de página de no ejecución. Las entradas de la tabla de páginas para las tablas de páginas de árbol de base en Power ISA tienen bits de permiso separados que otorgan acceso de lectura/escritura y ejecución.

PA-RISC

Las entradas del búfer de traducción (TLB) y las entradas de la tabla de páginas en PA-RISC 1.1 y PA-RISC 2.0 admiten páginas de solo lectura, lectura/escritura, lectura/ejecución y lectura/escritura/ejecución.

Itanio

Las entradas TLB en Itanium admiten páginas de solo lectura, lectura/escritura, lectura/ejecución y lectura/escritura/ejecución.

Z/Arquitectura

A partir de la duodécima edición de los Principios de operación de z/Architecture, los procesadores de z/Architecture pueden admitir la función Protección de ejecución de instrucciones, que agrega un bit en las entradas de la tabla de páginas que controla si las instrucciones de una región, segmento o La página se puede ejecutar.

Contenido relacionado

Precisión y exactitud

En un conjunto de medidas, la exactitud es la cercanía de las medidas a un valor específico, mientras que la precisión es la cercanía de las medidas entre...

Evidencia empírica

La evidencia empírica de una proposición es evidencia, es decir, lo que apoya o contrarresta esta proposición, que está constituida por o accesible a la...

Teoría del flogisto

La teoría del flogisto es una teoría científica superada que postulaba la existencia de un elemento parecido al fuego llamado flogisto contenido dentro de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save