Exception Chain Validation (ECV, SEHOP)
Oct 10, 2009 · CommentsОбработка исключенийECVSEHOPWindowWow64
Structure Exception Handler (SEH) overwrite - один из популярных способов передачи управления на вредоносный код, внедренный через ту или иную уязвимость (обычно – переполнение буфера). Иными словами, это один из способов подхватить заразу на свой компьютер через непропатченый браузер просто зайдя куда-нибудь с http://www.thehun.net почитать Пушкина на сон грядущий.
Windows Vista SP1/Server 2008 и более поздние версии системы включают механизм защиты от него – Exception Chain Validation (ECV) или Structured Exception Handler Overwrite Protection (SEHOP). К сожалению ECV по умолчанию выключен на клиентских версиях OS из-за несовместимости с некоторыми версиями Cygwin, Skype и программ защищенных с помощью Armadillo. Впрочем, Skype, начиная с 4-ой версии совместим с ECV и, вполне возможно, Cygwin и Armadillo тоже уже исправлены (тут я не в курсе, просто предполагаю).
В общем, если вам нравиться Пушкин :-) (да и если не нравиться – то же), то стоит включить ECV. В Knowledge Base опубликована статья, поясняющая как это сделать – KB956607:
-
В меню Пуск выберите пункт Выполнить, введите команду regedit и нажмите клавишу ВВОД.
-
Найдите следующий раздел реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\DisableExceptionChainValidation
Примечание: Если не удалось найти параметр DisableExceptionChainValidation в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ выполните действия, описанные ниже, чтобы создать его.
1. Щелкните правой кнопкой мыши раздел kernel, выберите команду Создать, а затем — Параметр DWORD.
2. Введите DisableExceptionChainValidation и нажмите клавишу ВВОД.
-
Дважды щелкните элемент DisableExceptionChainValidation.
-
Присвойте параметру DisableExceptionChainValidation значение 0, чтобы включить его, а затем нажмите кнопку ОК.
Примечание: Значение 1 отключает этот параметр реестра. Значение 0 включает его. -
Закройте редактор реестра.
Дополнительно замечу, что ECV защищает только 32-х битные приложения, включая те, что выполняются под Wow64 на 64-х битных системах. 64-х битный код не подвержен этому типу атаки.