NX bit


Атрибут (бит) NX-Bit (англ. no execute bit в терминологии фирмы AMD) или XD-Bit (англ. execute disable bit в терминологии фирмы Intel) — бит запрета исполнения, добавленный в страницы (см. таблицы страниц (англ.)) для реализации возможности предотвращения выполнения данных как кода. Используется для предотвращения уязвимости типа «переполнение буфера», позволяющей выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки (см. DEP) со стороны ядра операционной системы.

Некоторое ПО несовместимо с технологией NX-bit, поэтому BIOS предоставляет возможность отключения технологии.

NX (XD) — атрибут (бит) страницы памяти в архитектурах x86 и x86-64, добавленный для защиты системы от ошибок программ, а также использующих их вирусов, троянских коней и прочих вредоносных программ.

Фирма AMD назвала бит «NX» от англ. no execute. Фирма Intel назвала тот же бит «XD» от англ. execution disable.

Поскольку в современных компьютерных системах память разделяется на страницы, имеющие определённые атрибуты, разработчики процессоров добавили ещё один: запрет исполнения кода на странице. То есть, такая страница может быть использована для хранения данных, но не программного кода. При попытке передать управление на такую страницу возникнет прерывание, ОС получит управление и завершит программу. Атрибут защиты от исполнения давно присутствовал в других[каких?] микропроцессорных архитектурах; однако, в x86-системах такая защита реализовывалась только на уровне программных сегментов, механизм которых давно не используется современными ОС. Теперь она добавлена ещё и на уровне отдельных страниц.