Найти в Дзене
Т.Е.Х.Н.О Windows & Linux

DEP в Windows 11 25H2: Глубокий разбор, отключение и риски (Гайд для профи) ⚙️

Приветствую, коллеги! На связи "T.E.X.H.O Windows & Linux". Сегодня у нас тема, от которой у одних сводит олдскулы, а у других — системы уходят в BSOD. Мы разбираем DEP (Data Execution Prevention) в контексте актуальной на ноябрь 2025 года версии Windows 11 25H2. Давайте сразу проясним контекст. Windows 11 25H2 (сборка на базе платформы 24H2 с пакетом активации) принесла нам не только «AI-assisted secure coding» и косметику в Проводнике, но и закрутила гайки в подсистеме безопасности. Если в Windows 7 отключение DEP было делом двух кликов, то в современной экосистеме с VBS (Virtualization-based Security), HVCI (Memory Integrity) и Secure Boot, простого тумблера "ВЫКЛ" недостаточно. Система будет сопротивляться, защищая вас от самих себя (и от переполнения буфера, конечно).​ В этой статье мы не просто дернем рубильник. Мы разберем физику процесса: как NX-бит работает на уровне кремния, почему bcdedit выдает ошибку про Secure Boot и как грамотно настроить исключения, чтобы ваш легаси-со
Оглавление

Приветствую, коллеги! На связи "T.E.X.H.O Windows & Linux". Сегодня у нас тема, от которой у одних сводит олдскулы, а у других — системы уходят в BSOD. Мы разбираем DEP (Data Execution Prevention) в контексте актуальной на ноябрь 2025 года версии Windows 11 25H2.

Давайте сразу проясним контекст. Windows 11 25H2 (сборка на базе платформы 24H2 с пакетом активации) принесла нам не только «AI-assisted secure coding» и косметику в Проводнике, но и закрутила гайки в подсистеме безопасности. Если в Windows 7 отключение DEP было делом двух кликов, то в современной экосистеме с VBS (Virtualization-based Security), HVCI (Memory Integrity) и Secure Boot, простого тумблера "ВЫКЛ" недостаточно. Система будет сопротивляться, защищая вас от самих себя (и от переполнения буфера, конечно).​

В этой статье мы не просто дернем рубильник. Мы разберем физику процесса: как NX-бит работает на уровне кремния, почему bcdedit выдает ошибку про Secure Boot и как грамотно настроить исключения, чтобы ваш легаси-софт 2010 года заработал, не превращая рабочую станцию в проходной двор для эксплойтов.

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

Механика: Что такое DEP под капотом?

Чтобы понять, как ломать, нужно понять, как работает. DEP — это не просто галочка в меню. Это аппаратно-программный комплекс.

1. Аппаратный уровень (Hardware DEP)

В основе лежит бит NX (No-Execute) на процессорах AMD или XD (Execute Disable) на Intel. Представьте оперативную память как здание. Некоторые комнаты (адреса) отведены под "жильцов" (данные), а другие — под "инструкции персонала" (исполняемый код).

В норме процессор никогда не должен выполнять инструкции из комнат с данными. Но при ошибках кода (или атаках типа buffer overflow) программа может попытаться запустить вредоносный код, спрятанный в куче (heap) или стеке (stack).

DEP помечает страницы памяти атрибутом "только данные". Если процессор видит попытку исполнения кода с такой страницы, он генерирует исключение STATUS_ACCESS_VIOLATION (0xC0000005), и приложение крашится. Лучше упасть, чем быть взломанным.

2. Программный уровень (Software DEP)

Если процессор древний (что в 2025 году редкость) и не поддерживает NX-бит, Windows использует программную эмуляцию, защищая механизм обработки исключений (SafeSEH). Но в Windows 11 25H2 мы говорим почти исключительно об аппаратном DEP.

3. Режимы работы

Windows поддерживает четыре режима, которые мы будем менять:

  • OptIn (По умолчанию для клиентских ОС): DEP включен только для системных процессов и драйверов. Пользовательский софт (если он 32-битный) не защищен, если сам того не попросит.
  • OptOut (По умолчанию для Server): DEP включен для всех, кроме тех, кто явно внесен в список исключений.
  • AlwaysOn: Жесткое включение. Исключения игнорируются.
  • AlwaysOff: Полное отключение. Именно это нам и нужно для тестов.
🔖Дорогие гости и подписчики канала. Если наши материалы приносят вам пользу, вы всегда можете поддержать команду символическим переводом. Любая помощь мотивирует писать для Вас больше полезного и качественного контента безо всяких подписок.🙏🤝🙏🤝🙏
-2
💰ПОДДЕРЖАТЬ КАНАЛ МОЖНО ТУТ ( ОТ 50 РУБЛЕЙ )💰
Или сделать любой перевод по QR-коду через СБП. Быстро, безопасно и без комиссии.(Александр Г.)
С уважением, Команда "Т.Е.Х.Н.О Windows & Linux".

Подготовка: Почему старые методы не работают?

Прежде чем лезть в консоль, нужно устранить "блокаторы". В Windows 11 25H2 их два:

Блокатор №1: Secure Boot

Если вы попробуете ввести команду отключения DEP в современной системе, вы получите ошибку:

"The value is protected by Secure Boot policy and cannot be modified or deleted".​

Windows защищает загрузчик (BCD) от изменений, если активна безопасная загрузка. Логика Microsoft проста: если зловред отключит DEP на этапе загрузки, ядро будет скомпрометировано до старта антивируса.

Блокатор №2: Core Isolation (Memory Integrity)

Функция Целостность памяти (HVCI) использует виртуализацию для изоляции критических процессов. Она жестко требует включенного DEP в режиме ядра. Попытка отключить DEP при включенном HVCI либо не сработает, либо приведет к бутлупу (циклической перезагрузке).

Пошаговая инструкция: Как отключить DEP

Мы пойдем от "скальпеля" (точечное отключение) к "кувалде" (полное отключение).

Метод 1: "Скальпель" — Настройка исключений (Рекомендуемый)

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

  1. Нажмите Win + S, введите Exploit Protection (Защита от эксплойтов).​​
  2. Перейдите на вкладку Program settings (Программные настройки).
  3. Нажмите + Add program to customize (Добавить программу).
  • Choose exact file path: Выберите .exe файл вашего приложения.
  1. В открывшемся окне найдите пункт Data Execution Prevention (DEP).
  2. Поставьте галочку Override system settings (Переопределить системные настройки).
  3. Переключите ползунок в положение Off (Откл).
  4. Нажмите Apply. Перезагрузка не требуется, просто перезапустите приложение.
Важное замечание: Для 64-битных приложений этот метод может не сработать, так как для x64 процессов атрибут NX_COMPAT часто вшит при компиляции, и Windows 11 25H2 игнорирует попытки отключения через GUI для таких бинарников.

Метод 2: "Кувалда" — Глобальное отключение через BCDEDIT

Это тот самый метод для разработчиков драйверов и отладки ядра.

Шаг 1: Отключение Core Isolation

  1. Откройте Windows Security -> Device Security -> Core isolation details.
  2. Выключите Memory Integrity (Целостность памяти).
  3. Перезагрузите ПК. Это обязательно.

Шаг 2: Отключение Secure Boot (Через BIOS/UEFI)

  1. Перезагрузитесь в UEFI (через Shift + Перезагрузка -> Troubleshoot -> UEFI Firmware Settings).
  2. Найдите раздел Boot или Security.
  3. Переключите Secure Boot в Disabled или OS Type в Other OS.​​
  4. Сохранитесь (F10) и загрузитесь в Windows.
  • Примечание: После этого в правом нижнем углу может появиться водяной знак "Secure Boot isn't configured", это нормально.

Шаг 3: Магия командной строки

  1. Запустите CMD или PowerShell от имени Администратора.
  2. Введите команду для проверки текущего статуса:
  3. bcdedit /enum
  4. Ищите строку nx. Скорее всего, там OptIn.
  5. Вводим команду отключения:
  6. bcdedit /set {current} nx AlwaysOff
  7. Если вы не отключили Secure Boot, именно здесь вы получите ошибку "protected by Secure Boot policy".
  8. Если команда прошла успешно ("The operation completed successfully"), перезагрузите компьютер.

Как включить обратно?

Для возврата защиты введите:

bcdedit /set {current} nx OptIn

Затем включите Secure Boot и Memory Integrity.

Канал «Каморка Программиста» — это простые разборы программирования, языков, фреймворков и веб-дизайна. Всё для новичков и практиков.
-3
Каморка Программиста | Дзен
Присоединяйся прямо сейчас.

Практические советы и диагностика

Как убедиться, что DEP действительно выключен?

Не верьте GUI, он может врать. Используем "железные" методы проверки.

Способ А: WMI (PowerShell)

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -ExpandProperty DataExecutionPrevention_SupportPolicy

Коды возврата:

  • 0 = AlwaysOff (То, что нам нужно)
  • 1 = AlwaysOn
  • 2 = OptIn
  • 3 = OptOut

Способ Б: Python скрипт

Если вы пишете на Python, вот сниппет для проверки флагов процесса (использует легальный ctypes):

import ctypes

# Константы WinAPI

PROCESS_DEP_ENABLE = 1

def check_dep():

# Получаем текущий процесс

h_process = ctypes.windll.kernel32.GetCurrentProcess()

flags = ctypes.c_ulong()

permanent = ctypes.c_int()

try:

# GetProcessDEPPolicy доступна начиная с Vista SP1

success = ctypes.windll.kernel32.GetProcessDEPPolicy(

h_process, ctypes.byref(flags), ctypes.byref(permanent)

)

if success:

is_enabled = flags.value & PROCESS_DEP_ENABLE

print(f"DEP Статус для процесса: {'ВКЛЮЧЕН' if is_enabled else 'ВЫКЛЮЧЕН'}")

print(f"Перманентный флаг: {permanent.value}")

else:

print("Не удалось получить политику DEP")

except Exception as e:

print(f"Ошибка: {e}")

if __name__ == "__main__":

check_dep()

Типичные ошибки

  • Ошибка: Приложение все равно падает с кодом 0xC0000005.
  • Диагноз: Это не всегда DEP. Это может быть реальное нарушение доступа к памяти (Access Violation), не связанное с исполнением кода. Например, чтение по NULL указателю. Отключение DEP тут не поможет.
  • Ошибка: Windows перестала загружаться (BSOD при старте).
  • Диагноз: Конфликт с драйвером, требующим NX.
  • Решение: Загрузитесь в Safe Mode. В безопасном режиме можно выполнить bcdedit /set {current} nx OptIn.

Чек-лист перед внедрением 📋

Перед тем как вводить AlwaysOff, проверьте себя по пунктам:

  1.  Бэкап: Есть точка восстановления системы?
  2.  Цель: Вы точно пробовали добавить исключение для конкретного .exe файла (Метод 1)?
  3.  Secure Boot: Вы готовы временно отключить безопасную загрузку (что может сломать BitLocker, если не приостановить защиту)?
  • Лайфхак: Если используете BitLocker, обязательно нажмите "Suspend Protection" в панели управления BitLocker перед ковырянием BIOS, иначе придется искать ключ восстановления.
  •  Core Isolation: Целостность памяти отключена?
  •  Среда: Это не продуктивный сервер, торчащий в интернет RDP-портом?
-4

Вывод

В Windows 11 25H2 Microsoft продолжает курс на "Security by Default". Отключение DEP стало сложнее из-за тесной интеграции с Secure Boot и виртуализацией. Глобальное отключение через AlwaysOff — это крайняя мера, допустимая только для отладки драйверов или запуска совсем уж древнего промышленного софта.

В 99% случаев вам хватит добавления исключения через Exploit Protection. Если же вы идете путем самурая через bcdedit, не забудьте про Secure Boot и BitLocker.

Берегите свои буферы от переполнения! 🚀

Подписывайтесь на канал, чтобы не пропустить гайды по настройке Linux-ядра и разбор полетов новых апдейтов.

#Windows11 #25H2 #DEP #SystemAdmin #DevOps #InformationSecurity #WindowsTricks #Bcdedit #SecureBoot #CoreIsolation #TechGuide #SysAdminLife #LegacySoftware #Troubleshooting #WindowsSecurity #ExploitProtection #NXbit #PowerShell #Cmd #Debugging #BufferOverflow #CyberSec #Microsoft #ITCommunity #TechTips #WindowsOptimization #AdminTools #SoftwareCompatibility #SystemTweaks #RussianIT