Защита на Windows Технология SEHOP

В тази статия ще говорим за технологията за сигурност на Windows, наречена SEHOP, която може да усложни задачата за нападател, който реши да хакне вашата система. Технология SEHOP -  Структуриран изключение секундант Презаписване защита (защита от презаписване на структурния манипулатор за изключения) е технология против експлоатация, предназначена да блокира доста често използвана техника за хакване на Windows системи- Seh презаписване.

Нека се опитаме да разберем накратко каква е технологията. SEH. SEH - Структурирано управление на изключенията (структурно управление на изключенията) е механизъм в Microsoft Windows, който позволява на приложенията да получат контрол при възникване на изключения от софтуер и хардуер, като например изпълнение на забранени инструкции, разделяне на нула, нарушен достъп до паметта и т.н., и обработват тези грешки независимо, без да използват операционна система система. Технологията SEH позволява на програмистите да контролират обработката на изключения и също е инструмент за отстраняване на грешки. Ако изключението не се обработи, приложението се срива и потребителят вижда познат прозорец с грешката "Програмата е извършила невалидна операция и ще бъде затворена".

Указателите към SEH манипулатори са най-вече на стека в SEH рамки и буфер за препълване може да презапише тези манипулатори. Атакуващите могат да прибегнат до пренаписване на SEH кадри, за да се възползват от контрола, като променят SEH манипулатора и / или да потиснат срива на програмата, когато възникне изключение (по този начин премахване на атаката).

Технологията, използвана от хакерите за пренаписване на SEH манипулатори, се нарича презапис на Structure Exception Handler (SEH). с Seh презаписване атакуващият може да прехвърли контрола върху злонамерен код, който е вграден чрез всяка налична уязвимост (обикновено чрез препълване на буфер).

В Windows Server 2003 имаше специална технология за защита от препълване на буфер, която функционира на базата на SEH (по този начин се прилагат и много други видове защита). Хакерът, прихващащ SEH-манипулатора и го заменя със своя, заобикаля тази технология за защита, която просто не работи.

За борба с SEH презаписва Microsoft през 2009 г. работи по специална технология SEHOP. Тази технология е въведена от Windows Vista SP1, Windows Server 2008 и всички следващи версии на Windows. По подразбиране обаче SEHOP е активиран само на сървърни платформи (Windows Server 2008/2008 R2 / 2012).

Механизмът за защита срещу презаписване на структурния манипулатор за изключения се прилага, докато програмата работи. Това означава, че ви позволява да защитавате приложения, независимо дали са съставени с помощта на съвременни инструменти за защита, като например / SAFESEH, или без тях. В допълнение, заслужава да се отбележи, че 64-битовият код не се влияе от този тип атака, т.е. SEHOP защитава само 32-битови приложения, включително тези, работещи под Wow64 на 64-битови системи.

В клиентските платформи SEHOP се изключва поради несъвместимост с някои версии на клиентския софтуер. Заслужава да се отбележи, че целият съвременен софтуер е написан, като се вземат предвид спецификите на архитектурата SEHOP, така че за да подобрите сигурността на вашата Windows система, SEHOP трябва да бъде активиран. В случай, че след активирането на този механизъм за защита започват да се появяват различни грешки в приложния софтуер, уви, той не е съвместим със защитната система за презаписване SEH. В този случай се опитайте да изоставите несъвместимия софтуер (или го актуализирайте до по-нова версия, деактивирайте SEHOP за отделен процес или за всички).

Как да активирате SEHOP на Windows за всички приложения

Можете да активирате технологията за сигурност на SEHOP, като промените регистъра (припомнете си, че в Windows Server 2012/2008 R2 / 2008 тази функция вече е активирана)

  1. Отворете редактора на системния регистър regedit.exe
  2. Отидете до клона HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ kernel
  3. Намерете ключа DisableExceptionChainValidation, ако той отсъства, създайте го (въведете - Dword, име - DisableExceptionChainValidation)
  4. Задайте ключа DisableExceptionChainValidation на 0 (активирайте SEHOP).
  5. Затворете редактора на системния регистър и рестартирайте компютъра

В случай, че някои програми спрат да работят след рестартиране, опитайте да ги актуализирате и ако това не помогне, деактивирайте SEHOP, като зададете ключа DisableExceptionChainValidation на 1.

Освен това, имайте предвид, че редица приложения може да не работят правилно поради SEHOP. В случай, че не искате да деактивирате SEHOP изцяло, можете да деактивирате тази функция за конкретни процеси.

SEHOP за един процес

За да деактивирате SEHOP за отделен процес, отворете редактора на системния регистър и отидете в клона:

  • За 32-битов Windows HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Опции за изпълнение на изображения
  • За 64-битов Windows HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \Опции за изпълнение на изображението

Вътре в клона изображение досие изпълнение Опции създайте нов клон с името на процеса, за който искате да хвърлите изключение на SEHOP (например skype.exe). В този раздел създайте нов ключ DisableExceptionChainValidation и му дайте стойност 1 (по този начин деактивира SEHOP за процеса skype.exe).

Стойност 0 - активирайте SEHOP за процеса.