1. [Вики](https://feex.it/wiki/)
2. [Оборудование](https://feex.it/wiki/hardware/)
3. [Системы и архитектура](https://feex.it/wiki/hardware/system/)
4. Execute Disable (NX)

# Execute Disable (NX)

Справочник по архитектуре: Feex

Execute Disable, также называемый NX или XD в терминологии x86, позволяет таблицам страниц помечать память как неисполняемую. Это аппаратный базовый блок, используемый политиками защиты выполнения операционной системы.

## Что необходимо знать

Execute Disable, также называемый NX или XD в терминологии x86, позволяет таблицам страниц помечать память как неисполняемую. Это аппаратный базовый блок, используемый политиками защиты выполнения операционной системы.

## Как это работает

При включении в соответствующей среде страничной организации выборка инструкции со страницы, помеченной как неисполняемая, вызывает сбой вместо выполнения ее байтов. Права доступа к страницам разграничивают выполнение и доступ к данным; программное обеспечение отвечает за назначение подходящих прав и обработку переходов для легитимного сгенерированного кода.

## Области применения

ОС может сопоставить буфер данных без права на выполнение, поэтому запись байтов машинного кода в этот буфер не делает его исполняемой страницей кода. Среды выполнения JIT используют документированные API управления памятью и политики разрешений для сгенерированного кода.

## Как проверить поддержку и активацию

Бит 20 в CPUID.80000001H:EDX перечисляет возможность execute-disable x86 в соответствии с определением соответствующего поставщика. Фактическое применение также зависит от режима страничной организации и включения в ОС. Изучите документированный статус защиты ОС, а не делайте выводы о нем на основе модели процессора.

Аппаратную возможность, активацию и фактическое применение политик необходимо проверять раздельно. Процессор может поддерживать технологию защиты, в то время как ОС, приложение или политика виртуальной машины ее не задействуют. Наличие отметки о поддержке в базе данных не является аттестацией работающей системы.

## Чего не гарантирует данная функция

NX не подтверждает безопасность исполняемого файла, не блокирует все атаки с повторным использованием кода и не доказывает соответствие требованиям Windows. Данные остаются доступными для чтения или записи в соответствии с отдельными правами доступа. Флаг функции не означает, что каждое сопоставление памяти следует строгой политике записи/выполнения.

## Совместимость и производительность на практике

Поддерживайте ОС, микрокод и соответствующую среду выполнения в актуальном состоянии. Если механизм защиты вызывает проблемы совместимости, в первую очередь используйте средства диагностики и поддерживаемые обновления от поставщика. Изменение глобальных параметров защиты может затронуть сторонние приложения и должно производиться согласно регламенту развертывания и плана отката.

## Практический чек-лист для проверки

1. Зафиксируйте точную модель процессора или платформы, а также задействованные версии приложения, ОС и среды выполнения. Сохраните точную формулировку возникшей ошибки или требования.
2. Сверьтесь со справочными материалами производителя для этой точной модели, затем проверьте действующую поддержку и состояние активации в окружении, где выполняется программа.
3. Сопоставьте каждое требование выбранного бинарного файла или бэкенда. Похожего названия функции, псевдонима или общего маркетингового обозначения технологии недостаточно.
4. Убедитесь, что приложение выбрало предполагаемую реализацию. Используйте его документированные средства диагностики и поддерживаемый резервный код при несоблюдении требований.
5. Вносите по одному поддерживаемому изменению за раз и повторяйте ту же рабочую нагрузку. Сохраняйте исходную конфигурацию и возможность отката.

## Если функция указана в списке, но ПО не может ее использовать

Начните с точного сбойного компонента. База данных оборудования описывает зафиксированные возможности; операционная система или гипервизор могут предоставлять иное фактическое окружение. Ошибка недопустимой инструкции также требует анализа конкретной сбойной команды и сборки бинарного файла, так как повреждение данных или сторонняя неподдерживаемая инструкция могут вызывать аналогичный симптом.

Установите версию приложения, драйвера или среды выполнения, поддерживаемую для данной платформы, и при необходимости используйте документированную производителем базовую или резервную сборку. Обновление ПО не может создать инструкцию, отсутствующую в процессоре. Изменения микрокода и политик безопасности должны выполняться по процедуре производителя системы и с планом восстановления, а не по общим шаблонам оптимизации.

## Связанные функции и полезные различия

[OS Guard и SMEP](https://feex.it/wiki/l/ru/hardware/system/os-guard/) · [SMAP](https://feex.it/wiki/l/ru/hardware/system/smap/) · [Control-flow Enforcement (CET)](https://feex.it/wiki/l/ru/hardware/system/cet/)

## Источники и границы применимости пояснения

[Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)

Эти материалы определяют архитектурное поведение и требования к программному обеспечению. Они не подтверждают независимо каждое значение параметров на странице конкретной модели оборудования. Для проверки поддержки моделью используйте данные производителя на этой странице и проверяйте действующую конфигурацию системы. Данная статья не содержит результатов тестов производительности, сертификатов или дат независимых обзоров.

## Связанное

Эти объекты связаны с данной статьей. Тип указан у каждой ссылки.

[OS Guard и SMEP: Справочник по архитектуре](https://feex.it/wiki/l/ru/hardware/system/os-guard/)[SMAP: Справочник по архитектуре](https://feex.it/wiki/l/ru/hardware/system/smap/)[Control-flow Enforcement (CET): Справочник по архитектуре](https://feex.it/wiki/l/ru/hardware/system/cet/)

## Источники и проверка

Редакционная принадлежность: Feex. Дата независимой проверки не зарегистрирована. [Как мы проводим исследования](https://feex.it/wiki/research/).

- [Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 ](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)· Тома 1 и 2 описывают указанные семейства инструкций и CPUID; том 3 описывает управление состоянием, страничную адресацию, VMX и средства защиты. Архитектурная документация не определяет факт поддержки конкретной моделью.

## Была ли эта статья полезна?

Достаточно ответа "да" или "нет". При желании выберите причину или оставьте короткую заметку.

Краткие факты

Краткая характеристика этой страницы. Характеристики, источники и полная информация остаются в статье.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/ru/hardware/system/execute-disable/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
