Zabezpieczenia systemu Windows Technologia SEHOP

W tym artykule omówimy technologię zabezpieczeń systemu Windows o nazwie SEHOP, która może skomplikować zadanie atakującego, który zdecyduje się zhakować system. Technologia SEHOP -  Zorganizowany Wyjątek Handler Zastąp Ochrona (ochrona przed zastąpieniem strukturalnego modułu obsługi wyjątków) to technologia antywirusowa zaprojektowana w celu blokowania dość często stosowanej techniki włamywania się do systemów Windows- Seh nadpisuje.

Spróbujmy krótko zrozumieć, czym jest technologia. Seh. Seh - Obsługa wyjątków strukturalnych (strukturalna obsługa wyjątków) to mechanizm w systemie Microsoft Windows, który pozwala aplikacjom uzyskać kontrolę, gdy wystąpią wyjątki od oprogramowania i sprzętu, takie jak wykonywanie zabronionych instrukcji, dzielenie przez zero, utrudniony dostęp do pamięci itp. oraz przetwarzanie tych błędów niezależnie bez użycia systemu operacyjnego system. Technologia SEH pozwala programistom kontrolować obsługę wyjątków, a także jest narzędziem do debugowania. Jeśli wyjątek nie zostanie przetworzony, aplikacja ulega awarii, a użytkownik widzi znane okno z błędem „Program wykonał niepoprawną operację i zostanie zamknięty”.

Wskaźniki do procedur obsługi SEH znajdują się głównie na stosie w ramkach SEH, a bufor przepełnienia może zastąpić te procedury obsługi. Atakujący mogą skorzystać z przepisywania ramek SEH w celu przejęcia kontroli przez zmianę procedury obsługi SEH i / lub w celu stłumienia awarii programu, gdy wystąpi wyjątek (tym samym demaskując atak).

Technologia używana przez hakerów do przepisywania procedur obsługi SEH nazywa się nadpisywaniem procedury obsługi wyjątków struktury (SEH). Korzystanie Seh nadpisuje osoba atakująca może przenieść kontrolę na złośliwy kod osadzony przez dowolną dostępną lukę (zwykle przez przepełnienie bufora).

W Windows Server 2003 istniała specjalna technologia ochrony przed przepełnieniem bufora, która działa w oparciu o SEH (w związku z tym wdrażanych jest również wiele innych rodzajów ochrony). Haker, przechwytując moduł obsługi SEH i zastępując go własnym, omija tę technologię ochrony, która po prostu nie działa.

Aby zwalczyć SEH, nadpisuj Microsoft w 2009 roku pracował nad specjalną technologią SEHOP. Ta technologia została wprowadzona przez system Windows Vista SP1, Windows Server 2008 i wszystkie kolejne wersje systemu Windows. Jednak domyślnie SEHOP jest włączony tylko na platformach serwerowych (Windows Server 2008/2008 R2 / 2012).

Mechanizm ochrony przed zastąpieniem strukturalnej procedury obsługi wyjątków jest stosowany podczas działania programu. Oznacza to, że pozwala chronić aplikacje niezależnie od tego, czy zostały skompilowane przy użyciu nowoczesnych narzędzi bezpieczeństwa, takich jak / SAFESEH, lub bez nich. Ponadto warto zauważyć, że ten typ ataku nie ma wpływu na kod 64-bitowy, tj. SEHOP chroni tylko aplikacje 32-bitowe, w tym te działające pod Wow64 na systemach 64-bitowych.

Na platformach klienckich SEHOP jest wyłączony z powodu niezgodności z niektórymi wersjami oprogramowania klienckiego. Warto zauważyć, że całe nowoczesne oprogramowanie jest pisane z uwzględnieniem specyfiki architektury SEHOP, dlatego aby zwiększyć bezpieczeństwo systemu Windows, należy włączyć SEHOP. W przypadku, gdy po aktywacji tego mechanizmu ochronnego zaczną pojawiać się różne błędy w oprogramowaniu aplikacyjnym, niestety nie jest ono kompatybilne z systemem ochrony przed przepisywaniem SEH. W takim przypadku spróbuj porzucić niekompatybilne oprogramowanie (lub zaktualizuj je do nowszej wersji, wyłącz SEHOP dla osobnego procesu lub dla wszystkich).

Jak aktywować SEHOP w systemie Windows dla wszystkich aplikacji

Możesz włączyć technologię bezpieczeństwa SEHOP, modyfikując rejestr (pamiętaj, że w Windows Server 2012/2008 R2 / 2008 ta funkcja jest już aktywowana)

  1. Otwórz Edytor rejestru regedit.exe
  2. Idź do oddziału HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ kernel
  3. Znajdź klucz DisableExceptionChainValidation, jeśli jest nieobecny, utwórz go (wpisz - Dword, name - DisableExceptionChainValidation)
  4. Ustaw klucz DisableExceptionChainValidation na 0 (włącz SEHOP).
  5. Zamknij edytor rejestru i uruchom ponownie komputer

Jeśli niektóre programy przestają działać po ponownym uruchomieniu, spróbuj je zaktualizować, a jeśli to nie pomoże, wyłącz SEHOP, ustawiając klucz DisableExceptionChainValidation na 1.

Ponadto należy pamiętać, że niektóre aplikacje mogą nie działać poprawnie z powodu SEHOP. W przypadku, gdy nie chcesz całkowicie wyłączać SEHOP, możesz wyłączyć tę funkcję dla określonych procesów.

SEHOP dla jednego procesu

Aby wyłączyć SEHOP dla osobnego procesu, otwórz edytor rejestru i przejdź do oddziału:

  • Dla 32-bitowego systemu Windows HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Opcje wykonywania pliku obrazu
  • Dla 64-bitowego systemu Windows HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \Opcje wykonywania pliku obrazu

Wewnątrz oddziału Obraz Plik Wykonanie Opcje utwórz nowy oddział o nazwie procesu, dla którego chcesz zgłosić wyjątek SEHOP (na przykład skype.exe). Wewnątrz tej sekcji utwórz nowy klucz DisableExceptionChainValidation i nadaj mu wartość 1 (wyłączając w ten sposób SEHOP dla procesu skype.exe).

Wartość 0 - włącz SEHOP dla procesu.