Как добавить приложение в исключение dep
Предотвращение выполнения данных (Data Execution Prevention, DEP) — это технология защиты оперативной памяти. Компьютер с помощью DEP помечает все ячейки памяти, используемые приложениями, как неисполняемые «только для данных», если ячейка не содержит исполняемого кода в явном виде.
Если приложение пытается выполнить код со страницы памяти, помеченной как неисполняемая, процессор может сгенерировать исключение и предотвратить исполнение кода.
Таким образом, система помешает вредоносной программе (например, вирусу) внедриться в память компьютера. Позволяя только особым областям памяти запускать исполняемый код, DEP защищает компьютер от многих типов самовоспроизводящихся вирусов. Предотвращение выполнения данных может быть аппаратным и программным.
Аппаратное DEP более надежно, так как распространяется на все программы и службы, исполняемые на компьютере. Программное DEP, как правило, служит хорошей защитой только программ и служб Windows.
Компании Advanced Micro Devices (AMD) и Intel поставляют совместимые с Windows процессоры, поддерживающие функцию DEP.
Начиная с пакета обновления 2 (SP2) для Windows XP 32-разрядная версия Windows использует один из следующих методов.
- Функцию no-execute page-protection (NX), разработанную компанией AMD.
- Функцию Execute Disable Bit (XD), разработанную компанией Intel.
Чтобы использовать указанные функции, необходимо, чтобы процессор работал в режиме расширения физических адресов (Physical Address Extension, PAE). Windows автоматически включает режим PAE для поддержки функции DEP, поэтому пользователям не нужно отдельно включать PAE.
Physical Address Extension (PAE) — режим работы встроенного блока управления памятью x86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), c помощью которых процессор может адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) всё равно может адресовать максимум до 4 ГБ виртуальной памяти.
64-разрядные версии Windows также поддерживают функцию NX, но режим работы с оперативной памятью РАЕ для них не обязателен. Кроме того, для 64-разрядных компьютеров возможны разные конфигурации памяти.
Чтобы узнать, поддерживают ли аппаратные средства вашего компьютера DEP, выполните следующие действия.
1. Откройте меню Пуск и выберите Панель управления.
2. Щелкните на категории Система и безопасность и откройте окно Система.
Категория Система и безопасность
3. Внизу в левой части щелкните на ссылке Счетчики и средства производительности.
Счетчики и средства производительности
4. Щелкните на ссылке Настройка визуальных эффектов. На экране появится диалоговое окно Параметры быстродействия.
Настройка визуальных эффектов
5. Откройте вкладку Предотвращение выполнения данных. Внизу вы найдете информацию о поддержке DEP.
Информацию о поддержке DEP
Во вкладке Предотвращение выполнения данных можно настроить работу DEP с помощью следующих параметров.
- Включить DEP только для основных программ и служб Windows. DEP работает только для сервисов, программ и компонентов операционной системы. Это параметр включен по умолчанию. Его рекомендуется выбирать, если компьютер поддерживает предотвращение выполнения и оно настроено правильно.
- Включить DEP для всех программ и служб, кроме выбранных ниже. DEP работает для всей операционной системы, а также для программ и сервисов, которые вы запускаете.
Поскольку некоторые приложения могут работать нестабильно или вообще не будут работать при программном DEP, для них придется сделать исключение.
Отключение предотвращение выполнения
Программа в исключении
Обратите внимание, в 64-разрядных версиях Windows механизм DEP всегда включен для 64-разрядных приложений. Поэтому если вы пожелаете его включить для 64-разрядных приложений, то появится диалоговое окно «Вы не можете задать атрибуты DEP для 64-разрядных исполняемых файлов».
DEP всегда включен для 64-разрядных приложений
Как убедиться, что аппаратная функция DEP работает в Windows
Чтобы убедиться, что аппаратная функция DEP работает в Windows, воспользуйтесь одним из следующих способов.
Способ 1. Используйте средство командной строки Wmic
С помощью средства командной строки Wmic можно проверить параметры DEP. Чтобы определить, доступна ли аппаратная функция DEP, выполните следующие действия:
1. В меню Пуск меню Пуск введите в поле Поиска команду cmd и нажмите кнопку ВВОД.
Вызов командной строки
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:
wmic OS Get DataExecutionPrevention_Available
Если в результате будет получено значение TRUE, аппаратная функция DEP включена.
Средство командной строки Wmic
Если FALSE, значит аппаратная функция DEP выключена. Включить ее можно в настройках BIOS. Как это сделать — лучше посмотреть документацию к материнской плате вашего компьютера.
Параметр no-execute page-protection (NX) включает аппаратный DEP на платах с чипсетом от AMD, а параметр Execute Disable Bit (XD) — на платах с чипсетами от Intel.
Чтобы определить текущую политику поддержки DEP, выполните следующие действия.
1. В меню Пуск меню Пуск введите в поле Поиска команду cmd и нажмите кнопку ВВОД.
Вызов командной строки
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:
wmic OS Get DataExecutionPrevention_SupportPolicy
В результате выполнения команды будет возвращено значение 0, 1, 2 или 3.
Политика поддержки DEP
Эти значения соответствуют политикам поддержки DEP, описанным ниже.
Преимущества DEP
Основным преимуществом, которое предоставляет функция DEP, является возможность предотвратить запуск кода из областей данных (таких как куча, стек или пул памяти). Как правило, содержимое стека и кучи по умолчанию не является исполняемым кодом.
При аппаратной реализации функция DEP вызывает исключение при запуске кода из указанных местоположений. Если исключение остается необработанным, то процесс останавливается. В режиме ядра исполнение кода, находящегося в защищенной памяти, вызывает появление стоп-ошибки.
Функция DEP позволяет отразить целый класс атак. В частности, DEP позволяет блокировать вредоносные программы, в результате работы которых вирус помещает в процесс дополнительный код, а затем пытается выполнить этот код. В системах, поддерживающих функцию DEP, выполнение такого кода вызывает исключение.
предотвращение выполнения данных (DEP) — это функция защиты памяти на уровне системы, встроенная в операционную систему, начиная с Windows XP и Windows Server 2003. Функция DEP позволяет системе помечать одну или несколько страниц памяти как не являющиеся исполняемыми. Пометка областей памяти как неисполняемых файлов означает, что код не может быть выполнен из этого региона памяти, что усложняет использование переполнения буфера.
DEP предотвращает запуск кода из страниц данных, таких как куча по умолчанию, стеки и пулы памяти. Если приложение пытается выполнить код из защищенной страницы данных, возникает исключение нарушения прав доступа к памяти, а если исключение не обрабатывается, вызывающий процесс завершается.
DEP не предназначен для обеспечения полной защиты от всех эксплойтов; Он предназначен для использования в качестве другого средства, которое можно использовать для защиты приложения.
Как работает предотвращение выполнения данных
Приложения не могут выполнять код из кучи процесса по умолчанию или стека.
DEP настраивается при загрузке системы в соответствии с параметром политики "без выполнения" в данных конфигурации загрузки. Приложение может получить текущий параметр политики, вызвав функцию жетсистемдепполици . В зависимости от параметра политики приложение может изменить параметр DEP для текущего процесса, вызвав функцию сетпроцессдепполици .
Замечания по программированию
Приложение может использовать функцию VirtualAlloc для выделения исполняемой памяти с соответствующими параметрами защиты памяти. Рекомендуется, чтобы приложение было задано как минимум с параметром " _ выполнить защиту памяти" на странице. После создания исполняемого кода рекомендуется настроить для приложения защиту памяти, чтобы запретить доступ на запись к выделенной памяти. Приложения могут запретить доступ на запись к выделенной памяти с помощью функции VirtualProtect . Запрет доступа на запись обеспечивает максимальную защиту для исполняемых регионов адресного пространства процесса. Следует попытаться создать приложения, использующие наименьшее возможное адресное пространство исполняемого файла, что снизит объем памяти, предоставляемой для использования памяти.
Также следует попытаться управлять макетом виртуальной памяти приложения и создавать регионы исполняемых файлов. Эти регионы исполняемых файлов должны находиться в меньшем объеме памяти, чем в неисполняемых регионах. Поиск регионов исполняемых файлов под неисполняемыми областями помогает предотвратить переполнение буфера в исполняемой области памяти.
Совместимость приложений
Некоторые функциональные возможности приложения несовместимы с DEP. Приложения, выполняющие динамическое создание кода (например, JIT-создание кода) и не позволяющие явно отмечать сформированный код с разрешением EXECUTE, могут столкнуться с проблемами совместимости на компьютерах, использующих DEP. Приложения, написанные в библиотеке активных шаблонов (ATL) версии 7,1 и более ранних версий, могут попытаться выполнить код на страницах, помеченных как не являющиеся исполняемыми, что запускает NX-ошибку и завершает работу приложения. Дополнительные сведения см. в разделе сетпроцессдепполици. Большинство приложений, выполняющих действия, несовместимые с DEP, должны быть обновлены для правильной работы.
Небольшое количество исполняемых файлов и библиотек может содержать исполняемый код в разделе данных файла изображения. В некоторых случаях приложения могут размещать небольшие сегменты кода (которые обычно называются преобразователями) в разделах данных. Однако DEP помечает разделы файла изображения, которые загружаются в память как неисполняемые, если в разделе не применен атрибут Executable.
Поэтому исполняемый код в разделах данных должен быть перенесен в раздел кода, или раздел данных, содержащий исполняемый код, должен быть явно помечен как исполняемый. Атрибут Executable, image _ SCN _ mem _, должен быть добавлен в поле характеристики соответствующего заголовка раздела для разделов, содержащих исполняемый код. Дополнительные сведения о добавлении атрибутов в раздел см. в документации, входящей в состав вашего компоновщика.
Эта функция, также известная как защита исполняемого пространства, включает набор аппаратных и программных технологий, которые выполняют дополнительные функции. проверка системной памяти чтобы остановить запуск вредоносного кода.
Когда вредоносная программа пытается выполнить код в определенных областях системной памяти, зарезервированных для авторизованных программ и Windows, DEP отмечает их как неисполняемые и выдает ошибку.
Все это происходит так, чтобы предотвратить повреждение вашего компьютера вирусами и другими угрозами безопасности. Однако DEP может иногда конфликтовать с законными программами, такими как ваш антивирус, и в этом случае вам, возможно, придется отключить эту функцию для определенных приложений.
Как работает предотвращение выполнения данных в Windows 10
DEP не является комплексной защитой от всех эксплойтов вредоносного кода; это просто еще один инструмент, который вы можете использовать вместе со своим программным обеспечением для обеспечения безопасности своих приложений.
Во многих операционных системах есть зарезервированные области памяти, в которых выполняются важные программы и функции. Это пространство памяти ограничено, поэтому, если что-то написано неправильно или попадет вредоносный код, он может занять слишком много места, в результате чего возникнет ситуация переполнения буфера.
Когда это произойдет, он может предоставить доступ к потенциально важным данным пользователям или программам, которые не должны иметь к ним доступ.
DEP вмешивается, чтобы противодействовать такому доступу или выполнению любых исполняемых программ, которым не разрешено загружаться в области системной памяти. Эта функция немедленно вызывает исключение, когда обнаруживает загрузку подозрительного кода и предотвращает его запуск.
Обратной стороной DEP является то, что он может помечать старые программы сторонних разработчиков, которые полагаются на службы Windows. Однако вы можете отключить DEP или создать исключение в настройках вашей системы, чтобы запускать такие программы.
Примечание. Некоторые ошибки DEP вызваны устаревшими драйверами устройств в системе.
Типы предотвращения выполнения данных в Windows 10
Есть два разных метода создания DEP:
Аппаратный DEP полагается на аппаратное обеспечение процессора, чтобы пометить память соответствующим набором атрибутов, указывающих, что код не должен выполняться из этой памяти.
Для использования аппаратного DEP должны быть соблюдены следующие условия:
- Процессор вашего компьютера должен поддерживать аппаратную поддержку DEP. Фактическая аппаратная реализация DEP зависит от архитектуры процессора, например AMD и Intel, чьи Windows-совместимые архитектуры также DEP-совместимы.
- Включите аппаратное DEP в BIOS.
- На вашем компьютере должна быть установлена Windows Server 2003 с пакетом обновления 1 или Windows XP с пакетом обновления 2.
- Включите аппаратное DEP для программ на вашем компьютере. В 32-битных программах аппаратное DEP может быть отключено в зависимости от вашей конфигурации, но в 64-битных версиях Windows этот параметр всегда включен для 64-битных встроенных программ.
Не уверены, какая версия Windows установлена на вашем компьютере? Вот 4 способа узнать, используете ли вы 32-разрядную или 64-разрядную версию Windows.
Этот тип DEP работает на любом процессоре, поддерживающем Windows XP Service Pack 2, и защищает только ограниченную системные двоичные файлынезависимо от аппаратных возможностей DEP вашего процессора.
Как узнать, активен ли DEP на вашем ПК с Windows 10
Вы можете проверить статус DEP на вашем ПК, выполнив следующие действия:
- Откройте Панель управления и выберите Система и безопасность.
- Введите Просмотр дополнительных настроек системы в поле поиска.
- Во всплывающем окне «Системные настройки» выберите «Настройки» в разделе «Производительность».
- Выберите вкладку Data Execution Prevention, чтобы открыть настройки DEP.
- Вы увидите свой текущий статус DEP в вашей системе, а также то, поддерживает ли процессор вашего компьютера аппаратное DEP.
- Вы также можете добавить исключения в DEP, если это необходимо, но делайте это, только если нет других альтернатив. Чтобы добавить исключения, выберите «Включить DEP для всех программ и служб, кроме выбранных мной», а затем нажмите «Добавить». Выберите исполняемый файл, который вы хотите исключить, а затем перезагрузите компьютер, чтобы изменения вступили в силу.
Примечание. Большинство конфликтов вызвано 32-битными программами, и вы не можете исключить 64-битные программы из DEP.
Как включить или отключить DEP в Windows 10
- Для начала выберите Пуск и введите CMD, чтобы открыть меню командной строки. Выберите Запуск от имени администратора, чтобы открыть командную строку с повышенными привилегиями.
- В окне командной строки введите эту команду: BCDEDIT / SET NX ALWAYSOFF и нажмите Enter. Изменение вступит в силу после перезагрузки компьютера. В некоторых случаях вам может потребоваться изменить настройки BIOS, чтобы отключить DEP с помощью этой команды.
Примечание. Если вы хотите отключить DEP для программы, которой доверяете, сначала проверьте, доступна ли у издателя DEP-совместимая версия или доступны обновления. Если доступна DEP-совместимая версия или обновление, установите их и оставьте DEP активным, чтобы вы могли пользоваться защитой, которую он может дать. В противном случае отключение DEP может сделать вашу систему уязвимой для атаки, которая может распространиться на другие файлы и программы.
- Чтобы снова включить DEP, откройте командную строку с повышенными привилегиями и введите эту команду: BCDEDIT / SET NX ALWAYSON. Перезагрузите компьютер, чтобы изменения вступили в силу.
Наслаждайтесь защитой DEP
Однако DEP является одним из самых простых средств защиты системы на базе Windows. Если нет веской причины для его отключения, DEP всегда должен оставаться активным по умолчанию, и к нему следует относиться с осторожностью.
Как отключить DEP в Windows
Всем привет сегодня расскажу как отключить DEP в Windows.
В этой инструкции поговорим о том, как отключить DEP (Data Execution Prevention, предотвращение выполнения данных) в Windows 7, 8 и 8.1. То же самое должно работать и в Windows 10. Отключение DEP возможно как для системы в целом, так и для отдельных программ, при запуске которых появляются ошибки Data Execution Prevention.
Смысл технологии DEP заключается в том, что Windows, опираясь на аппаратную поддержку NX (No Execute, для процессоров AMD) или XD (Execute Disabled, для процессоров Intel) предотвращает выполнение исполняемого кода из тех областей памяти, которые помечены как не исполняемые. Если проще: блокирует один из векторов атаки вредоносного ПО.
Однако, для некоторого ПО включенная функция предотвращения выполнения данных может послужить причиной появления ошибок при запуске — встречается это и для прикладных программ, и для игр. Ошибки вида «Инструкция по адресу обратилась к памяти по адресу. Память не может быть read или written» тоже могут иметь своей причиной DEP.
Отключение DEP для Windows 7 и Windows 8.1 (для всей системы)
Первый способ позволяет отключить DEP для всех программ и служб Windows. Для этого откройте командную строку от имени Администратора — в Windows 8 и 8.1 это можно сделать с помощью меню, которое открывается правым кликом мыши по кнопке Пуск, в Windows 7 вы можете найти командную строку в стандартных программах, кликнуть по ней правой кнопкой мыши и выбрать «Запуск от имени Администратора».
В командной строке введите
и нажмите Enter. После этого перезагрузите ваш компьютер: при следующем входе в данную систему DEP будет отключен.
Как отключить DEP в Windows-01
Кстати, при желании, с помощью bcdedit вы можете создать в меню загрузки и выбора системы отдельную запись с отключенным DEP и использовать ее тогда, когда это требуется.
Примечание: для того, чтобы включить DEP в дальнейшем используйте ту же команду с атрибутомAlwaysOn вместо AlwaysOff.
Два способа отключить DEP для отдельных программ
Более разумным может быть отключение предотвращения выполнения данных для отдельных программ, вызывающих ошибки DEP. Сделать это можно двумя способами — через изменение дополнительных параметров системы в панели управления или с помощью редактора реестра.
В первом случае, зайдите в Панель управления — Система (можно также кликнуть по значку Мой компьютер правой кнопкой и выбрать Свойства). Выберите в списке справа пункт Дополнительные параметры системы, затем на вкладке Дополнительно нажмите кнопку Параметры в разделе Быстродействие.
Как отключить DEP в Windows-02
Откройте вкладку «Предотвращение выполнения данных», отметьте пункт «Включить DEP для всех программ и служб, кроме выбранных ниже» и с помощью кнопки «Добавить» укажите пути к исполняемым файлам программ, для которых нужно отключить DEP. После этого желательно так же перезагрузить компьютер.
Как отключить DEP в Windows-03
Отключение DEP для программ в редакторе реестра
По сути то же самое, что только что описывалось с применением элементов панели управления, можно сделать и посредство редактора реестра. Для его запуска нажмите клавиши Windows + R на клавиатуре и введите regedit после чего нажмите Enter или Ok.
Читайте также: