Предотвращение выполнения данных (Data Execution Prevention, DEP) – это набор программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого памяти и предотвращать запуск вредоносного кода.Подробное описание функции DEP для Windows XP с пакетом обновлений 2 (SP2), Windows XP Tablet PC Edition 2005 и Windows Server 2003 приведено в статье базы знаний Microsoft KB 875352.
В Windows 7, как и в Windows Vista, это средство также входит. Его назначение и механизм действия не претерпели изменений. По-прежнему, призвание DEP – это обеспечение защиты компьютера путем наблюдения за программами для гарантии безопасного использования системной памяти, поскольку программы резервируют часть компьютерной памяти для хранения данных, а другую часть — для используемых ими инструкций. Различные коды, содержащиеся во-вредоносном ПО в могут пытаться заставить программы запустить или выполнить вредоносные данные, размещенные в памяти компьютера и выдаваемые ими за инструкции. Очевидным тому результатом станет утрата контроля над компьютером.
Предотвращение выполнения данных помогает защитить компьютер путем наблюдения за программами, в частности за тем, как они используют системную память. Обнаружив, что программа пытается выполнить инструкции из раздела памяти, используемого для хранения данных, средство предотвращения выполнения данных закрывает ее и выдает соответствующее сообщение.
Изначально Windows настроена для пользователей таким образом, при котором DEP автоматически контролирует основные программы и службы Windows. Если средство DEP контролирует все программы, защита усиливается.
Чтобы получить доступ к настройкам средства DEP нажмите сочетание клавиш Win+R и в поле введите команду sysdm.cpl. Откроется окно Свойства системы. Перейдите во-вкладку Дополнительно и в блоке Быстродействие нажмите на кнопку Параметры, далее нажмите на кнопку Предотвращение выполнения данных. Появившееся окно средства по-умолчанию выглядит следующим образом:
Рис. 1.
Как видно настроек там всего две: активность DEP только для основных программ и служб, и исключение выбранных пользователем программ и служб для контроля со-стороны DEP. Тем, кому это все в диковинку, будет познавательным почитать раздел справки Microsoft «Предотвращение выполнения данных: Вопросы и ответы».
Мы же в этой статье не станем акцентировать внимание на базовых сведениях, а поговорим лучше о тех возможностях DEP, которые принято называть «недокументированными». Оными, к слову сказать, я пока располагаю только двумя, и условно я бы их подразделил на вредную (или выражаясь дипломатичней – бесполезную) и справочную.
Бесполезность первой состоит, прежде всего, в сознательном подвержении своей машины риску. Какому – описано достаточно ясно в начале статьи. Но, тем не менее, если вдруг кому приспичит…. Итак:
1. Отключение DEP
Вызовите командную строку от имени администратора. В ней введите:
bcdedit.exe /set {current} nx AlwaysOff
после чего нажмите Enter и перезагрузитесь.
ВНИМАНИЕ: команда рабочая, она действительно фактически отключает DEP, но в случае, если после ее выполнения Windows поплохеет и она откажется запускаться, выполните загрузку в Безопасном режиме (F8) и в cmd выполните следующую команду:
bcdedit.exe /set {current} nx AlwaysOn
DEP таким образом снова будет включен.
Не представляю, какими нуждами может быть вызван этот фатальный отказ от защиты системы данным средством, лично на моей практике я с таким не сталкивался. Но, тем не менее, данная возможность существует.
2. Проверка состояния DEP
В командной строке с правами администратора выполните команду:
WMIC OS Get DataExecutionPrevention_SupportPolicy
и нажмите Enter.
Рис. 2
Цифра, которая появится в результате выполнения команды будет обозначать статус DEP на вашей машине.
- 0 – DEP отключен для всех процессов;
- 1 – DEP включен для всех процессов;
- 2 – DEP включен только для основных программ и служб Windows (по умолчанию).
Рис. 3


