заголовок

Настройка предотвращения выполнения данных (Data Execution Prevention, DEP)

Предотвращение выполнения данных DEP представляет собой возможность процессора по защите страниц от выполнения. DEP позволяет защититься от определенных типов переполнения буфера и обработки исключений. Цель поддержки DEP — обеспечить предсказуемость работы компьютера, сведя к минимуму потенциальные проблемы совместимости приложений.

Дополнительные сведения о DEP (на английском языке) см. в статье 875352 в базе знаний корпорации Майкрософт.

Системные администраторы и ПВТ могут настраивать возможность DEP, внося изменения непосредственно в файл Boot.ini или используя для этого файл Unattend.txt.

Файл Boot.ini должен включать следующие параметры:

/NoExecute={AlwaysOn | AlwaysOff | OptIn | OptOut}
Параметр Описание
AlwaysOn DEP распространяется полностью и на всю систему. Все процессы выполняются с применением DEP. Список исключений, позволяющий исключить отдельные приложения из DEP, не используется. Если системный администратор решит исключить из защиты DEP одно или несколько приложений с помощью инструментария настройки совместимости приложений (Application Compatibility Toolkit), DEP все равно будет действовать в отношении выбранных приложений. Средства устранения неполадок совместимости систем ("оболочки") в отношении DEP не действуют. ПВТ не могут использовать этот параметр.
AlwaysOff Защита DEP не применяется, независимо от наличия аппаратной поддержки DEP. Для процессора не действует режим PAE, если только в загрузочных записях не присутствует ключ /PAE. ПВТ не могут использовать этот параметр.
OptIn Для систем, процессор которых поддерживает аппаратную защиту DEP, таковая по умолчанию включена для ряда системных двоичных файлов, а также для "выбранных" приложений. При выборе этого параметра защита DEP по умолчанию действует только в отношении системных двоичных файлов Windows. Системные администраторы могут включить защиту DEP и для других приложений.
OptOut Защита DEP по умолчанию включена в отношении всех процессов. В окне «Свойства системы» пользователи могут вручную выбирать приложения, в отношении которых эта защита не будет действовать. Системные администраторы могут исключить из DEP одно или несколько приложений с помощью инструментария настройки совместимости приложений. В отношении DEP средства устранения неполадок совместимости систем ("оболочки") не действуют.

Файл загрузки Boot.ini системы Windows XP с пакетом обновлений 2 по умолчанию содержит параметр NoExecute = OptIn. В файле загрузки в семействе продуктов Windows Server 2003 с пакетом обновлений 1 по умолчанию установлен параметр NoExecute = OptOut.

Если в файле загрузки Boot.ini версии Windows с поддержкой DEP отсутствует параметр /NoExecute, поведение системы аналогично поведению установленном значении по умолчанию.

Ниже приводится образец файла Boot.ini с параметром /NoExecute:

[BootLoader]
Timeout = 30
Default = multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[OperatingSystems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS = "Microsoft Windows XP Professional" /fastdetect /NoExecute = OptIn

В процессе установки Windows программа обнаружения DEP не меняет значение параметра /NoExecute в файле Boot.ini. Благодаря этому, можно перемещать образ операционной системы, независимо от процессорной поддержки DEP как на основном, так и на конечном компьютерах.

Unattend.txt

Чтобы настроить предотвращение выполнения данных с помощью файла Unattend.txt, следует использовать запись OSLoadOptionsVar в разделе этого файла [SetupData]. Запись OSLoadOptionsVar изменяет параметр /NoExecute в файле Boot.ini.

Используется следующий синтаксис:

OSLoadOptionsVar = {"/noexecute=AlwaysOn" | "/noexecute=AlwaysOff" | "/noexecute=OptIn" | "/noexecute=OptOut"}

При обработке этой строки программой установки соответствующим образом изменяется параметр NoExecute в файле Boot.ini.