Exception Chain Validation (ECV, SEHOP)

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:

  1. В меню Пуск выберите пункт Выполнить, введите команду regedit и нажмите клавишу ВВОД.

  2. Найдите следующий раздел реестра: 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 и нажмите клавишу ВВОД.
  1. Дважды щелкните элемент DisableExceptionChainValidation.

  2. Присвойте параметру DisableExceptionChainValidation значение 0, чтобы включить его, а затем нажмите кнопку ОК.
    Примечание: Значение 1 отключает этот параметр реестра. Значение 0 включает его.

  3. Закройте редактор реестра.

Дополнительно замечу, что ECV защищает только 32-х битные приложения, включая те, что выполняются под Wow64 на 64-х битных системах. 64-х битный код не подвержен этому типу атаки.

comments powered by Disqus