Что такое DEP в Windows
Всем привет ранее я рассказал Как отключить DEP в Windows (Предотвращение выполнения данных), но не рассказал что это такое, давайте это исправим. Данная заметка хоть немного приоткроет смысл этого понятия. Актуально это будет для всех версий операционных семейств Windows.
Windows dep
DEP (Data Execution Prevention) – предотвращение выполнения данных (ПВД) – это набор программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого оперативной памяти и предотвращать запуск вредоносного кода. Функция DEP позволяет отразить целый класс атак. В частности, DEP позволяет блокировать вирусы и другие вредоносные программы, пытающихся выполнить свой код из областей системной памяти, резервированных для Windows и других авторизованных программ. Обнаружив, что программа использует системную память неправильно, средство DEP принудительно закрывает программу и выдает соответствующее сообщение.
Аппаратная реализация DEP При использовании аппаратной реализации DEP все области памяти процесса помечаются как области, не содержащие исполняемого кода, если иное не указано явным образом. Существуют атаки, основанные на помещении исполняемого кода в области памяти, не содержащие исполняемого кода, и последующем запуске этого кода. Функция DEP предотвращает подобные атаки, перехватывая их и вызывая исключение. При аппаратной реализации функция DEP использует возможности процессора, чтобы отметить определенные области памяти специальным атрибутом, показывающим, что из этих областей не может запускаться код. DEP работает на уровне страниц виртуальной памяти и, как правило, отмечает какую-либо страницу памяти, изменяя один бит элемента таблицы страниц (PTE). Особенности аппаратной реализации DEP и метод пометки страниц виртуальной памяти, используемый этой функцией, зависят от архитектуры процессора. Процессоры, поддерживающие DEP, могут вызывать исключение при запуске кода со страницы памяти, помеченной соответствующим атрибутом.
Программная реализация DEP Программная реализация DEP разработана для предотвращения работы вредоносных программ, использующих особенности механизма обработки исключений в Windows. При программной реализации функция DEP может работать на компьютере с любым процессором, поддерживающим Windows. Программно реализованная DEP по умолчанию защищает только отдельные системные файлы и не зависит от поддержки процессором аппаратной реализации DEP. Основным преимуществом, которое обеспечивает функция DEP, является возможность предотвратить запуск кода из областей данных (куча, стек или пул памяти). Как правило, содержимое стека и кучи по умолчанию не является исполняемым кодом. При аппаратной реализации функция DEP вызывает исключение при запуске кода из указанных местоположений. Если исключение остается необработанным, то процесс останавливается. В режиме ядра исполнение кода, находящегося в защищенной памяти, вызывает появление стоп-ошибки.
Материал сайта pyatilistnik.org