eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plWiadomościGospodarkaRaporty i prognozy › Rootkity: jak z nimi walczyć

Rootkity: jak z nimi walczyć

2005-09-05 00:11

Przeczytaj także: Groźny rootkit Win32/Rustock powraca


Rootkity dla systemów Windows

Metody maskowania

Obecnie rootkity stosują dwie metody w celu maskowania swojej obecności w systemie:
- modyfikowanie ścieżek
- modyfikowanie struktur systemu

Metody te służą zamaskowaniu aktywności sieciowej, kluczy w rejestrze, procesów, tj. wszystkiego, co mogłoby skłonić użytkownika do zwrócenia uwagi na złośliwy program w systemie.

Pierwszą metodę można zastosować w rootkitach zarówno w trybie użytkownika, jak i jądra. W przypadku rootkitów w trybie użytkownika implementacja jest stosunkowo prosta. W celu modyfikacji ścieżki najczęściej wykorzystywana jest metoda opierająca się na przechwytywaniu funkcji API.

fot. mat. prasowe

Rys. 2. Przechwytywanie funkcji API.

Rys. 2. Przechwytywanie funkcji API.


Metoda ta wykorzystuje fakt, że aplikacje wywołują funkcje API przy użyciu specjalnych pól danych (tabela importowa/eksportowa) lub przez połączenie się z adresem uzyskanym za pomocą funkcji API "GetProcAddress". Kod programu zaimplementowany jest w modułach DDL, które są następnie integrowane z przestrzenią adresową istniejących procesów systemowych. Dzięki temu zdalny haker może kontrolować wszystkie aplikacje użytkownika. Modyfikacja ścieżek jest dobrze udokumentowaną i łatwą w implementacji metodą, którą można często zastosować w rootkitach.

Pomimo wielu zalet podejście to posiada również poważne wady: rootkit nie jest w stanie zamaskować aktywności ze stuprocentową skutecznością. Oznacza to, że rootkit w trybie użytkownika jest łatwy do wykrycia w systemie przy użyciu wyspecjalizowanych narzędzi, takich jak RootKit Revealer, SoftIce itd. Niewątpliwie jest to przyczyną rosnącej popularności rootkitów w trybie jądra pomimo faktu, że znacznie trudniej jest je stworzyć.

Rootkity w trybie jądra znacznie lepiej maskują informacje. Większość z nich wykorzystuje nieudokumentowane struktury systemu operacyjnego. Rootkity te często przechwytują na przykład usługi z tabeli KeServiceDescriptorTable. Liczba usług w tej tabeli różni się w zależności od wersji systemu operacyjnego. Oznacza to, że przy opracowywaniu rootkitów należy przeprowadzić dodatkową analizę kodu systemu operacyjnego, aby znaleźć w tabeli wykaz programów obsługi. Podejście to jest bardzo zbliżone do przechwytywania funkcji API.

Modyfikacja PsActiveProcessList jest jednym z przykładów drugiego podejścia, tj. zmiany struktur systemu. Podejście to wykorzystywane jest przez rootkit FU i umożliwia mu ukrycie każdego procesu przed większością narzędzi systemowych.

fot. mat. prasowe

Rys. 3. Lista procesów przed uruchomieniem rootkita

Rys. 3. Lista procesów przed uruchomieniem rootkita


fot. mat. prasowe

Rys. 4. Lista procesów po uruchomieniu rootkita

Rys. 4. Lista procesów po uruchomieniu rootkita


Ilustracja pokazuje, że program Notepad widnieje na liście aktywnych procesów jako notepad.exe (zaznaczony czerwoną obwódką). Zrzut ekranu na rysunku 4 został wykonany po uruchomieniu rootkita FU z poleceniem ukrycia procesu. Zrzut ekranu pokazuje, że nawet jeśli edytor jest aktywny, jego proces nie jest widoczny na liście aktywnych procesów.

poprzednia  

1 2 3 ... 5

następna

oprac. : eGospodarka.pl eGospodarka.pl

Więcej na ten temat: Rootkity, ataki internetowe
Notebooki coraz tańsze

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: