Как отключить dep windows server

DEP (Data Execution Prevention) — это функция безопасности, которая предотвращает запуск вредоносных программ и атак на операционную систему Windows. Однако некоторым пользователям может потребоваться отключение DEP, чтобы решить определенные проблемы, связанные с совместимостью программного обеспечения или производительностью.

В этой статье мы расскажем, как отключить DEP в Windows Server 2016. Важно отметить, что отключение DEP может снизить уровень защиты вашей системы, поэтому не рекомендуется отключать DEP, если нет веских причин.

Чтобы отключить DEP, вам понадобится права администратора и доступ к командной строке. Следуйте инструкциям ниже, чтобы выполнить эту операцию без ошибок.

Содержание

  1. Как отключить DEP в Windows Server 2016
  2. Подробная инструкция по отключению DEP
  3. Советы по успешному отключению DEP

Как отключить DEP в Windows Server 2016

1. Откройте командную строку с правами администратора.

2. Введите команду bcdedit.exe /set {current} nx AlwaysOff и нажмите Enter. Она отключит DEP для текущей операционной системы.

3. Перезагрузите сервер, чтобы изменения вступили в силу.

Теперь DEP будет отключен на Windows Server 2016. Учтите, что это может повысить уязвимость системы, поэтому рекомендуется отключать DEP только в случае крайней необходимости.

Подробная инструкция по отключению DEP

Для того чтобы отключить DEP в Windows Server 2016, следуйте инструкциям:

  1. Откройте панель управления Windows Server 2016.
  2. Выберите раздел «Система и безопасность» и перейдите в «Систему».
  3. Нажмите на ссылку «Дополнительные параметры системы».
  4. В появившемся окне «Свойства системы» перейдите на вкладку «Дополнительно».
  5. В разделе «Производительность» нажмите на кнопку «Настройки».
  6. В открывшемся окне «Параметры производительности» перейдите на вкладку «Защита от данных».
  7. Установите флажок рядом с опцией «Включить DEP для всех программ и служб, за исключением указанных ниже:». Учтите, что это включение DEP только для определенных программ.
  8. Нажмите на кнопку «Добавить» и укажите путь к программе или службе, для которых нужно отключить DEP. Если вы хотите отключить DEP полностью, просто оставьте список пустым.
  9. Нажмите «ОК» во всех открытых окнах для применения изменений.
  10. Перезагрузите сервер, чтобы изменения вступили в силу.

После выполнения этих шагов DEP будет отключен на вашем сервере Windows Server 2016. Будьте осторожны при отключении DEP, так как это может снизить уровень безопасности системы.

Советы по успешному отключению DEP

Отключение DEP (Data Execution Prevention) может быть необходимо в некоторых случаях для совместимости программного обеспечения или решения определенных проблем. Вот несколько советов, которые помогут вам успешно отключить DEP в Windows Server 2016.

1. Проверьте наличие административных прав

Для отключения DEP вам потребуются административные права. Убедитесь, что у вас есть соответствующие полномочия и права доступа к системе.

2. Используйте командную строку

Для отключения DEP можно использовать командную строку. Откройте командную строку с правами администратора и выполните команду bcdedit.exe /set nx AlwaysOff. После перезагрузки компьютера DEP будет отключен.

3. Используйте параметры загрузки

Вы также можете отключить DEP, изменив параметры загрузки операционной системы. Для этого откройте командную строку с правами администратора и выполните команду bcdedit.exe /set nx AlwaysOff. Затем перезагрузите компьютер.

4. Запустите программу в режиме совместимости

Если отключение DEP недоступно или нежелательно, вы можете попробовать запустить проблемную программу в режиме совместимости с более ранней версией Windows. Щелкните правой кнопкой мыши на ярлыке программы, выберите «Свойства», перейдите на вкладку «Совместимость» и установите соответствующие параметры.

Следуя этим советам, вы сможете успешно отключить DEP в Windows Server 2016 и решить возможные проблемы совместимости или функционирования программного обеспечения.

I’ve been trying to disable DEP on my windows 2008 dev box and have not succeeded.

I’ve tried:
System Properties->Performance Options->Data Execution Prevention->Turn on DEP for essential Windows programs and services only

(still happens)

System Properties->Performance Options->Data Execution Prevention->Turn on DEP for all programs and services except those I select

in this case, i tried to choose both inetinfo.exe and w3wp.exe in the c:\windows\system32\inetsrv\ folder, and when selected, I receive this error:

«You can not set DEP attributes on 64-bit executables».

I’m sure that there is some memory leak somewhere — but that is a separate problem. I’m happy to live with it for a while in my development environment (in fact that is where I need to let it go so I can see it)

Any help would be appreciated!

Thx,
Doug

asked Jul 30, 2009 at 20:12

Doug's user avatar

3

The GUI does not show the 4 modes of DEP operation.

You need to do it at boot time:Boot Parameters to Configure DEP and PAE

However, more info on the error message:

System DEP configuration settings
apply only for 32-bit applications and
processes when running on 32-bit or
64-bit versions of Windows. On 64-bit
versions of Windows, if
hardware-enforced DEP is available it
is always applied to 64-bit processes
and kernel memory spaces and there are
no system configuration settings to
disable it.

answered Jul 30, 2009 at 20:22

gbn's user avatar

gbngbn

423k82 gold badges587 silver badges677 bronze badges

1

Here is how to disable DEP at the command prompt:

BCDEDIT /set {current} nx AlwaysOff

John Conde's user avatar

John Conde

218k99 gold badges455 silver badges496 bronze badges

answered Dec 6, 2011 at 14:23

Brian C.'s user avatar

Brian C.Brian C.

611 silver badge1 bronze badge

On Windows Vista and later, DEP and PAE are enabled at boot time and are configured by setting values for the nx and pae parameters using the BCDEdit /set command.

To disable DEP on Windows Server 2008 type the following on an elevated Command Line

bcdedit /set nx AlwaysOff

Ed Bayiates's user avatar

Ed Bayiates

11.1k4 gold badges43 silver badges62 bronze badges

answered Jul 15, 2011 at 19:38

Satish's user avatar

you would want to edit boot.ini and change a section contaning /noexecute=optin to just /execute

answered Sep 1, 2009 at 19:19

Seth CaldwellSeth Caldwell

You should be able to turn DEP off in one of your BIOS settings.

answered Jul 30, 2009 at 20:20

zdan's user avatar

zdanzdan

28.7k7 gold badges60 silver badges71 bronze badges

1

DEP (Data Execution Prevention) — это механизм, встроенный в операционную систему Windows Server 2016, который предотвращает выполнение вредоносного кода в памяти. Он отслеживает попытки запуска программ или скриптов из области памяти, предназначенной только для хранения данных, и блокирует их выполнение.

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

Чтобы отключить DEP на Windows Server 2016, следуйте инструкциям ниже:

  1. Откройте командную строку с правами администратора.
  2. Введите команду bcdedit.exe /set {current} nx AlwaysOff и нажмите клавишу Enter.
  3. Перезагрузите сервер, чтобы изменения вступили в силу.

После выполнения этих шагов DEP будет полностью отключен на Windows Server 2016. Важно помнить, что отключение DEP может повысить уязвимость сервера к вредоносным программам, поэтому рекомендуется отключать DEP только на краткое время и только при необходимости.

Примечание: Если вам необходимо включить DEP снова, выполните те же шаги, но используйте команду bcdedit.exe /set {current} nx AlwaysOn.

Содержание

  1. Определение DEP
  2. Роль DEP на Windows Server 2016
  3. Прочины отключения DEP
  4. Последствия отключения DEP
  5. Как отключить DEP на Windows Server 2016
  6. Рекомендации по использованию DEP на Windows Server 2016

Определение DEP

DEP представляет собой дополнительный слой защиты, который позволяет операционной системе контролировать, какие области памяти могут быть использованы для выполнения кода, а какие нет. Это помогает предотвратить использование уязвимостей программного обеспечения для выполнения вредоносного кода и защищает систему от атак, например, от атак типа «buffer overflow».

DEP разделяет память на две области: «выполняемую» и «неисполняемую». В области «выполняемой» памяти хранится код, который должен быть выполнен, в то время как в области «неисполняемой» памяти содержится данные, такие как переменные и структуры данных. Если вредоносное программное обеспечение попытается выполнить код в области «неисполняемой» памяти, DEP предотвращает его выполнение и защищает систему от потенциального вреда.

DEP по умолчанию включен на Windows Server 2016, но в некоторых случаях может потребоваться его отключение для совместимости с определенным программным обеспечением или настройками системы.

Роль DEP на Windows Server 2016

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

DEP использует «противозаписывающий» (NX) бит для отметки областей памяти, где должен выполняться только исполняемый код. Если злоумышленник попытается внедрить и выполнить свой вредоносный код в область данных, DEP блокирует его выполнение.

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

Прочины отключения DEP

1. Совместимость с устаревшими программами:

Некоторые старые версии программ могут быть несовместимы с DEP и не работать должным образом, что может вызывать ошибки или сбои в их работе. В этом случае, отключение DEP позволит запустить данные программы на Windows Server 2016.

2. Необходимость тестирования:

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

3. Установка драйверов и обновлений:

В некоторых случаях, некоторые драйверы или обновления могут требовать временное отключение DEP для успешной установки и корректной работы.

Важно отметить, что отключение DEP снижает уровень безопасности операционной системы и повышает риск заражения вредоносным кодом. Поэтому рекомендуется отключить DEP только в случаях, когда это действительно необходимо, и после выполнения необходимых действий включить DEP обратно или воспользоваться альтернативными способами обхода проблемы.

Последствия отключения DEP

Отключение DEP может привести к некоторым негативным последствиям, которые важно учитывать перед принятием такого решения:

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

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

Как отключить DEP на Windows Server 2016

Примечание: отключение DEP может повредить безопасность вашей системы. Поэтому прежде чем продолжить, убедитесь, что вы понимаете риски и причины, по которым вы хотите отключить DEP.

Шаг 1: Откройте командную строку с правами администратора. Для этого нажмите клавишу Win+X и выберите «Command Prompt (Admin)» из списка.

Шаг 2: В командной строке введите следующую команду:

bcdedit.exe /set {current} nx AlwaysOff

Шаг 3: Нажмите клавишу Enter, чтобы выполнить команду. Если выполнение прошло успешно, вы должны увидеть сообщение «The operation completed successfully».

Шаг 4: Перезагрузите сервер, чтобы изменения вступили в силу. Введите команду shutdown /r в командной строке и нажмите Enter.

После перезагрузки DEP должен быть отключен на вашем сервере Windows Server 2016. Убедитесь, что вы понимаете последствия отключения DEP, прежде чем продолжить.

Рекомендации по использованию DEP на Windows Server 2016

1. Включение DEP

DEP (Data Execution Prevention) включает защиту от вредоносного программного кода, который пытается выполниться из области памяти, используемой для хранения данных. Это важная мера безопасности, которую рекомендуется активировать.

2. Настройка DEP

DEP может быть настроен для работы в двух режимах: «DEP для всех программ и служб» или «DEP только для важных программ и служб». При использовании первого режима DEP будет применяться ко всем программам и службам, а при использовании второго режима — только к программам, выбранным как важные.

3. Проверка совместимости

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

4. Мониторинг событий DEP

Windows Server 2016 предоставляет возможность мониторинга событий DEP через Журнал событий Windows. Регулярный мониторинг поможет обнаружить любые проблемы, связанные с запуском программ и обработкой данных в контексте DEP.

5. Регулярное обновление

DEP является одной из мер безопасности операционной системы, поэтому регулярное обновление Windows Server 2016 и установка последних обновлений безопасности также являются важными рекомендациями. Это позволит поддерживать систему в актуальном состоянии и защищать от известных уязвимостей.

Важно помнить

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

This article explains how Data Execution Prevention (DEP) works and how to turn it off and on in Windows 7, Windows Vista, and Windows Server 2008 (R2).

Contents

  1. How DEP works: Hardware enforcement and the role of the OS
  2. Turn on and turn off DEP support in Control Panel
  3. Turn off and turn on DEP support as a boot option

Data Execution Prevention (DEP) is a security feature of the CPU that prevents an application from executing code from a non-executable memory region. This is supposed to prevent buffer overflow attacks from succeeding. Since Microsoft introduced support for Data Execution Prevention (DEP) on Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1, it’s included in every version of Windows.

How DEP works: Hardware enforcement and the role of the OS

Data execution prevention works by marking certain memory pages being indented to hold only data and no executable code. This is achieved by setting a special bit in its page table entry called NX, for No eXecute, or XD, for eXecute Disabled, respectively. It’s the responsibility of the OS to set the NX bit for the stack and heap memory areas. If a malfunctioning program – or malware – should try to execute code from an NX-marked memory page, the CPU will refuse to do so and trigger an interrupt instead, which causes the OS to shut down the application accordingly.

Turn on and turn off DEP support in Control Panel

DEP can not only prevent the execution of malware or malfunctioning applications, but it may also highlight problems with legacy (not DEP-compliant) software, which can cause it to crash. Another potential problem is the support for third-party plugins such as those found in browsers or office applications: While the application itself may be DEP compliant, chances are that one or more of the plugins aren’t. Microsoft recommends updating your software if it’s experiencing crashes with DEP, but this is not always possible. For such situations, DEP support in Windows can be configured to meet the user’s needs, handling exceptions for certain software.

Some limitations exist when you turn off or turn on DEP support, however. Because DEP support is a kernel mode option, it must be configured as a boot option. Thus, it is not possible to manage and deploy DEP settings centrally by group policies; they have to be configured at the local machine in each case and need a reboot of Windows to take effect.

The settings GUI can be invoked this way: Open Control Panel, click on System and SecuritySystem → Advanced system settings. In the Advanced tab, click on the Settings button in the Performance section (the first one). In Performance Options, Data Execution Prevention has its own tab. Here you can turn on DEP support for Windows essential programs and services only (OptIn, default on Windows 7 workstation) or for all programs, with the possibility to define exceptions for non-compliant software (OptOut, default on Windows Server 2008/2008 R2). This can be achieved via the Add button, where a local administrator can add non-compliant executable files one by one.

Turn off  Data Execution Prevention - DEP Server default

Exceptions can also be configured as a DisableNX compatibility fix using the Application Compatibility Toolkit (ACT). The resulting Custom Compatibility Database can be deployed in the Active Directory. Note that those kinds of exceptions do not show up in the DEP support configuration GUI.

Turn off and turn on DEP support as a boot option

There are two more DEP settings for a Windows machine. These settings cannot be configured in the control panel but only as a boot option via the service program bcdedit in a command prompt with elevated rights.

Turn off Data Execution Prevention - DEP bcdedit

One possible choice is to turn on DEP support unconditionally:

bcdedit /set {current} nx AlwaysOn

In this mode, the DEP support options GUI is disabled and no exceptions can be defined. Any DisableNX compatibility options will also be ignored.

The opposite is to turn off DEP support completely:

bcdedit /set {current} nx AlwaysOff

With this setting in effect, the DEP support options GUI will be disabled as well as with the first option. To return to one of the GUI switchable modes, use:

bcdedit /set {current} nx OptIn

for the workstation default, which enables DEP support for Windows essential programs and services, or:

bcdedit /set {current} nx OptOut

for the server default, enabling DEP support for all executable files. The Windows machine must be rebooted each time for the bcdedit command to take effect. The output of the command:

bcdedit /enum

will tell the current status in each case.

This article has been translated from German language. You can find the original posting: Datenausführungsverhinderung (DEP) konfigurieren oder abschalten

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

Атаки, основанные на переполнении буфера, долгое время вызывали множество проблем и до сих пор являются одной из главных задач обеспечения безопасности в компьютерной индустрии. Первой атакой, основанной на переполнении буфера и распространяемой через Internet, стал червь Morris, нанесший серьезный ущерб в 1988 году. Особенно досадно, что создатели червя написали его из благих побуждений, а именно — для измерения масштабов Internet. Червь Morris взламывал несложные пароли и использовал известные уязвимые места программ для UNIX-платформ, таких как sendmail и Finger. Последние известные атаки, использующие переполнение буфера, черви CodeRed и SQL Slammer, перевели множество подключенных к Internet систем под управление хакеров. В 2001 году червь CodeRed взломал с помощью переполнения буфера сервер Microsoft Internet Information Services (IIS) 5.0 (версию Web-сервера IIS, поставляемую с системой Windows 2000), а в 2003 году червь SQL Slammer с помощью переполнения буфера проник на системы с установленным сервером баз данных Microsoft SQL Server 2000.

Можно противостоять атакам, использующим переполнение буфера, с помощью защитных механизмов, добавленных компанией Microsoft в системы Windows Vista и Windows Server 2008: Data Execution Prevention (DEP) и Address Space Layout Randomization (ASLR). Далее я объясню, почему эти механизмы так важны, и покажу, как выполняется их настройка и мониторинг.

Механизм переполнения буфера

Прежде чем более подробно рассматривать защитные механизмы систем Vista и Server 2008, стоит разобраться в процессе переполнения буфера и в том, каким рискам он подвергает ваши системы и данные.

Переполнение буфера возникает, когда вредоносная или просто плохо составленная программа сохраняет данные в память компьютера, превышая фиксированный размер буфера для данных. В результате такого переполнения данные перезаписывают соседние фрагменты памяти. Перезаписываемые данные могут содержать другие буферы, переменные, программную логику, которые искажают выходные результаты или приводят к аварийному завершению процесса. Еще большую угрозу представляют случаи, когда внедряемые данные содержат исполняемый код, который в итоге вынуждена выполнить атакованная программа. Этот код часто содержит основные механизмы атак, использующих переполнение буфера. Он используется для кражи или удаления данных, инициации отказов служб на основе состояния Denial of Service (DoS), изменения привилегий или распространения вредоносных программ на другие системы.

На рисунке приведен простой пример переполнения буфера. Программа определяет две переменные, которые сохраняются в соседних фрагментах памяти. Первая переменная — строка X длиной в 8 байт, вторая — целое число Y, размером 2 байт. Изначально строка X содержит только символы «0», а переменная Y — число 30. Представьте, что пользователь (случайно или умышленно) вводит строку OVERFLOW в эту программу. Программа пытается сохранить эту строку в память по адресу переменной Х и в конце записывает символ «0», чтобы обозначить конец строки. Алгоритм программы не проверяет длину строки и частично перезаписывает значение переменной Y. В результате, хотя программист не собирался менять значение Y, при вводе данных в переменную X значение переменной Y меняется с 30 на число, определяемое символом из строки, записываемой в память по адресу переменной X.

Разработчики могут избежать переполнения буфера, включив в код программы необходимые проверки на ограничения или применяя компиляторы и службы, работающие с активными процессами, для выполнения таких проверок. Проверки ограничений отслеживают объем вводимых данных. Хотя проверки ограничений и соответствующие принудительные меры доказали свою эффективность, множество существующих программ не содержат алгоритмов проверки ограничений. Кроме того, лучшие методики бесполезны, если некоторые программисты не следуют им.

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

Защита исполняемых данных

Как упоминалось выше, атаки, основанные на переполнении буфера, часто прописывают вредоносный исполняемый код в буферы памяти других приложений, после чего вынуждают приложения выполнять разрушающие систему действия. Вы можете прервать исполнение внедренного кода с помощью технологии DEP. Она позволяет системе Windows помечать те сегменты памяти, которые должны только хранить данные, как «неисполняемые» (NX). Если приложение пытается выполнить код из сегмента памяти с меткой NX, механизм DEP запретит это действие.

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

Компания Microsoft добавила поддержку DEP не только в системы Vista и Server 2008, но и в пакеты Windows XP SP2, Windows Server 2003 SP1 и Windows 2003 R2. Механизм DEP реализован компанией Microsoft в двух вариантах: аппаратном и программном.

Аппаратная реализация службы DEP. Аппаратная реализация DEP использует функцию процессора, которую в AMD называют защитой неисполняемых страниц (NX), а в Intel — использованием запрещающего бита (XD). На момент написания статьи компания AMD поддерживает функцию NX только в 64-разрядных процессорах, а Intel поддерживает функцию XD только в модельном ряду 64-разрядных машин Itanium и EM64 T, а также в некоторых 32-разрядных моделях процессоров Prescott. Компания Microsoft — не единственный поставщик операционных систем, применяющий процессорные функции NX и XD для защиты от переполнения буфера: программное обеспечение, использующее функции NX и XD, поддерживается и в других операционных системах, таких как Linux и UNIX BSD (дополнительную информацию можно найти по адресу en.wikipedia.org/wiki/Nx-bit).

Программная реализация службы DEP. Программная реализация DEP позволяет компании Microsoft предоставлять данную технологию пользователям 32-разрядных систем, не оборудованных процессором с функциями NX или XD. При использовании данного продукта возможности процессорных функций NX и XD реализуются с помощью множества специальных указателей, автоматически добавляемых операционной системой Windows для объектов, хранящихся в системной памяти.

Поддерживает ли ваша система аппаратную реализацию службы DEP, легко проверить, просмотрев настройки DEP. Чтобы просмотреть эти настройки, щелкните на ярлыке Advanced Settings в окне System панели управления Control Panel и выберите в открывшемся окне Advanced and Performance Settings.

В нижней части окна настроек конфигурации службы DEP указан тип реализации данной службы, поддерживаемый вашей системой. На экране 1 отображено окно настроек DEP в системе Vista. Об остальных параметрах конфигурации я расскажу далее. Внизу экрана читаем: Your computer’s processor supports hardware-based DEP.

Экран 1. Настройка DEP

Если ваша система поддерживает программную реализацию службы DEP (т. е. процессор компьютера не поддерживает функции NX или XD), вы увидите сообщение Your computer’s processor does not support hardware-based DEP. However, Windows can use DEP software to help prevent some types of attacks.

Другой способ проверить, поддерживает ли ваша система аппаратную или программную реализацию службы DEP, — задействовать команды из инструментария Windows Management Instrumentation (WMI). Эта процедура описана в статье Microsoft, опубликованной по адресу support.microsoft.com/kb/912923.

В системах XP SP2, Windows 2003 SP1 и более поздних системах Microsoft технология DEP активирована по умолчанию. Однако механизмы DEP не всегда защищают все программы, работающие в системе. Точный список программ, защищаемых службой DEP, определяется уровнем защиты. Служба DEP поддерживает два уровня защиты:

  1. Level 1. Первый уровень защищает только системный и исполняемый код платформы Windows и не распространяет механизм защиты DEP на остальные приложения компании Microsoft или независимых производителей;

  2. Level 2. Второй уровень защищает весь исполняемый код в системе. Механизмы DEP применяются и к системному коду Windows, и к приложениям компании или независимых производителей.

По умолчанию системы XP SP2 и Vista запускают службу DEP на первом уровне защиты, системы Windows Server 2003 SP1 и Windows Server 2008 — на втором.

Администраторы могут настраивать уровни защиты посредством конфигурационного экрана службы DEP, показанного на экране 2. В этом примере (изображающем настройку службы DEP «по умолчанию» в системе Vista) механизмы DEP активированы только для важнейших программ и служб системы Windows — первый уровень защиты. Для переключения службы DEP на уровень 2 можно использовать переключатель Turn on DEP for all programs and services except those I select. По умолчанию данный режим устанавливается в системах Windows Server 2003 SP1 и Windows Server 2008.

Экран 2. Проверка состояния DEP для конкретного процесса в Task Manager

Второй уровень защиты позволяет освободить определенные приложения от действия защитного механизма DEP. Эта возможность необходима, так как некоторые устаревшие приложения при включенном механизме DEP работают некорректно: например, в момент записи Microsoft Word автоматически освобождается от действия механизма DEP. Перед переключением на второй уровень защиты службы DEP требуется запустить для всех приложений тест совместимости и убедиться, что все приложения при включенном механизме DEP работают корректно. Чтобы освободить одно из приложений от действия DEP, можно добавить исполняемый файл приложения в список исключений на экране настройки с помощью кнопки Add.

Вы можете проверить, защищено ли данное приложение механизмом DEP, просмотрев столбец DEP в приложении Windows Task Manager для процесса, порожденного этим приложением (см. экран 2). Если столбец DEP в системе не отображается, можно добавить его с помощью пункта View, Select Columns службы Task Manager.

Освободить приложения от действия механизма DEP можно и другим способом — создать программную модификацию, распространяемую по вашим системам, которая будет автоматически отключать механизм DEP для выбранных в них приложений. В качестве примера компания Microsoft приводит такую программную модификацию, как слой DisableNX. Для создания этой модификации следует ознакомиться с инструментарием Microsoft Application Compatibility Toolkit (ACT), который, помимо прочего, включает в себя полезную в данном вопросе программу Compatibility Administrator (technet.microsoft.com/en-us/windowsvista/aa905078.aspx). Разработчики приложений могут применить и обратный подход — прописать поддержку механизма DEP в исполняемом коде приложений. Для этого они при компиляции используют параметр/NXCompat.

И наконец, одно немаловажное замечание: если активирован второй уровень защиты механизма DEP, система будет работать немного медленнее, так как все дополнительные проверки проводятся на уровне процессора и системной памяти. Поэтому для систем, не имеющих доступа в Internet, стоит рассмотреть возможность полного отключения механизма DEP. Единственный способ отключить службу DEP в системе — добавить параметр/NoExecute=AlwaysOff в системный файл boot.ini.

Имейте в виду, что вы можете использовать тот же параметр/NoExecute= с другими значениями для активации механизма DEP и установки уровня защиты. В табл. 1 приведены все значения параметра/NoExecute.

Файл boot.ini доступен только в системах XP и Windows 2003, и вы можете редактировать его с помощью приложения Notepad или раздела Startup and Recovery в свойствах системы.

В системах Vista и Server 2008 файл boot.ini заменен на файл Boot Configuration Data (BCD). Для редактирования файла BCD компания Microsoft предоставляет утилиту командной строки bcdedit.exe.

При запуске приложения bcdedit без параметров оно отображает текущую загрузочную конфигурацию. На  экране 3 приведен результат действия приложения bcdedit в системе Vista. Обратите внимание на последнюю строку, содержащую конфигурацию механизма NX OptIn. Для перевода механизма NX в состояние «выключен всегда» нужно выполнить следующую команду:

bcdedit/set nx alwaysoff  

Значения, приведенные в табл. 1 для параметра/NoExecute= файла boot.ini, также могут быть использованы в параметре nx файла BCD.

Дополнительную информацию о механизме Microsoft DEP и методах его настройки можно найти в статье компании Microsoft по адресу support.microsoft.com/kb/875352/en-us.

Рандомизация размещения адресного пространства

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

Этот тип атаки относительно легко провести, если операционная система всегда загружает определенные библиотеки в одни и те же сегменты памяти. Например, в системе XP точки размещения системных библиотек не меняются — они незначительно отличаются только в зависимости от установленной версии пакета обновлений. Новая служба ASLR в системах Vista и Server 2008 усложняет использование служб из системных библиотек путем рандомизации точек размещения библиотек DLL в памяти. В отличие от механизма DEP, служба ASLR в ранних версиях Windows недоступна.

Каждый раз при перезапуске систем Windows Vista и Windows Server 2008 служба ASLR случайно привязывает системный код (обычно системные библиотеки DLL и исполняемый код) к определенным точкам в системе. Это означает, что точки начала системного кода (адреса, используемые вирусом для вызова службы) невозможно определить заранее. В системах Windows Vista и Windows Server 2008 библиотеки DLL или исполняемый код могут быть загружены в любой из 256 регистров. Это означает, что хакер имеет шанс 1 к 256 на получение нужного адреса. Служба ASLR также усложняет хакерам процесс написания рекурсивного кода, например червей, целью которого являются идентичные ресурсы на нескольких машинах.

Вы можете увидеть эффект работы механизмов ASLR с помощью службы SysInternals, загрузить которую можно по адресу www.microsoft.com/technet/sysinternals/utilities/processexplorer.mspx. Для использования данного средства запустите службу Process Explorer и убедитесь, что в меню View отмечен параметр Show Lower Pane.

После этого выберите процесс explorer.exe в верхнем окне и зафиксируйте базовый адрес библиотеки ntdll.dll в столбце base нижнего окна. Если вы не видите столбец base, то можете добавить его с помощью пункта меню View, Select Columns — столбец Base добавляется из вкладки DLL.

Запишите базовый адрес и перезагрузите компьютер. В системе XP базовый адрес библиотеки ntdll.dll остается неизменным после перезагрузки (система XP не поддерживает технологию ASLR). В системе Vista после перезагрузки базовый адрес меняется (так как система Vista поддерживает технологию ASLR).

Экран 4. Наблюдение за работой ASLR с помощью Sysinternals Process Explorer

На экране 4 изображен интерфейс Process Explorer и базовый адрес библиотеки ntdll.dll. В табл. 2 приведены базовые адреса библиотек ntdll.dll и user32.dll, зафиксированные при запуске Process Explorer в системах XP SP2 и Vista.

Механизм ASLR можно использовать не только для рандомизации точек размещения в памяти системных файлов Windows, но и для рандомизации точек размещения исполняемого кода и библиотек DLL для любых приложений, работающих в системах Vista или Windows Server 2008. Для этого разработчики приложений должны провести компиляцию кода с использованием указателя/dynamicbase. Инструментарий Microsoft Visual Studio поддерживает такую возможность начиная с версии Visual Studio 2005 SP1.

Как и механизм DEP, ASLR не является разработкой исключительно компании Microsoft. Механизмы ASLR были реализованы задолго до появления систем Vista и Windows Server 2008, на таких платформах, как Linux и UNIX. Кроме того, определенные решения Host Intrusion Detection System (HIDS) поддерживали технологию ASLR в линейке систем Windows задолго до того, как системы Windows получили ее встроенную поддержку.

Подробный анализ использования Microsoft ASLR в системе Vista приведен в статье компании Symantec по адресу: www.symantec.com/avcenter/reference/Address_Space_Layout_Randomization.pdf. В отличие от службы DEP, компания Microsoft не предлагает специализированного шаблона настройки для оптимального использования технологий ASLR.

Основные механизмы проактивной защиты

Механизмы проактивной защиты от переполнения буфера, предлагаемые технологиями ASLR и DEP, несколько отличаются друг от друга. В то время как служба ASLR усложняет поиск вирусом нужного кода, механизм DEP не дает вирусу выполнить код по найденному адресу. Обе технологии можно применять одновременно, а также использовать их в виртуальных системах, таких как продукты семейств Microsoft Virtual PC и VMware.

С точки зрения поддержки приложений важно помнить, что необходимо тестировать приложения на совместимость с механизмом DEP, прежде чем использовать их в системах с активированной службой DEP. Действие механизма DEP может привести к нарушению работы некоторых приложений или даже к их аварийному завершению.

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

Жан де Клерк (jan.declerq@hp.com) — член Security Office корпорации HP. Специализируется на проблемах управления идентичностью и вопросах безопасности продуктов Microsoft

Рисунок. Простой пример работы механизма переполнения буфера

Экран 3. Пример работы bcdedit в Windows Vista

Таблица 1. Значения параметра NoExecute= в boot.ini и пояснения

Таблица 2. Воздействие ASLR на базовый адрес DLL

  • Как отключить hyper v в windows 10 bluestacks
  • Как отключить edge в windows 10 при запуске explorer
  • Как отключить meltdown и spectre в windows 11
  • Как отключить hyper threading windows 10
  • Как отключить edge windows 10 навсегда