Jak zmylić zabezpieczenia

Zaawansowane rootkity to najgroźniejsza broń w rękach hakerów. Zdaniem ekspertów ds. bezpieczeństwa w najbliższym czasie nowe generacje tego typu kodów mogą przysporzyć użytkownikom wielu poważnych problemów, zwłaszcza że wciąż brakuje narzędzi umożliwiających efektywną ochronę przed tego typu zagrożeniami.

Zaawansowane rootkity to najgroźniejsza broń w rękach hakerów. Zdaniem ekspertów ds. bezpieczeństwa w najbliższym czasie nowe generacje tego typu kodów mogą przysporzyć użytkownikom wielu poważnych problemów, zwłaszcza że wciąż brakuje narzędzi umożliwiających efektywną ochronę przed tego typu zagrożeniami.

Rootkity są znane co najmniej od połowy lat 90. XX wieku, choć powszechną uwagę przyciągnął dopiero skandal z końca 2005 r., gdy ujawniono, że firma Sony BMG Music Entertainment wykorzystała do ochrony praw własności do swojej muzyki kod typu rootkit w oprogramowaniu - XCP Content Protection Software. Jednocześnie pojawiły się trojany wykorzystujące go do ukrycia się przed detekcją przez standardowe mechanizmy antywirusowe.

Technika rootkitów wciąż jest względnie słabo znana i rozumiana. Najprawdopodobniej jest tak, dlatego że architektura tych wrogich kodów jest bardzo skomplikowana i działa na niskim poziomie jądra systemu operacyjnego. Przede wszystkim należy podkreślić, że rootkity nie są wirusami, trojanami lub robakami, a programami narzędziowymi, których podstawowym zadaniem nie jest wykonywanie jakichkolwiek szkodliwych czynności, a jedynie ukrycie obecności w systemie użytkowników-hakerów lub innych kodów, które mogą później realizować zlecone przez hakera szkodliwe operacje.

Technologie budowy i metody działania rootkitów mogą być bardzo różne, ale ich wspólną cechą jest to, że aktywny rootkit pełni funkcję programu, który można określić jako anty-antywirus. Jeśli więc aplikacje zabezpieczające komputer przed atakami dopuszczą do zainstalowania rootkita, nie można ich później wykorzystać do usunięcia wrogiego kodu, niezbędne są inne, dodatkowe narzędzia.

Brak metody przeciwdziałania

Największe zaniepokojenie budzi to, że dostępne obecnie nawet najbardziej zaawansowane oprogramowanie antywirusowe czy antyszpiegowskie jest praktycznie bezsilne w zwalczaniu rootkitów. Na rynku pojawiło się już wiele specjalizowanych programów do wykrywania tego typu kodów, ale ich praktyczna przydatność i efektywność jest dość zgodnie kwestionowana przez ekspertów ds. bezpieczeństwa.

Choć na razie zagrożenie ze strony rootkitów nie jest masowe, to wydaje się, że ich upowszechnienie to tylko kwestia czasu. W Internecie są już dostępne "zestawy narzędziowe" (płatne lub darmowe) umożliwiające budowę rootkitów lub ich integrację z wirusami i innymi kodami. Większość znanych rootkitów nowej generacji jest już tak zaawansowana, że nie radzą sobie z nimi programy antywirusowe, antyszpiegowskie, antyspamowe ani aplikacje specjalnie przeznaczone do ich wykrywania.

Wraz ze wzrastającym zainteresowaniem tego typu zagrożeniami, nie tylko hakerzy, ale również specjaliści ds. bezpieczeństwa zaczęli intensywnie analizować technologie i architektury, które można wykorzystać do budowy kodów typu rootkit. W efekcie pojawia się coraz więcej doniesień o lukach w oprogramowaniu i potencjalnych metodach ich wykorzystania przez rootkity. Choć najczęściej są to analizy teoretyczne lub mechanizmy przetestowane tylko w laboratoriach, a ich szczegóły nie są publikowane. Jest jednak wysoce prawdopodobne, że z czasem mogą one znaleźć zastosowania praktyczne.

Rozwojowa technologia

Jednym ze względnie nowych, groźnych pomysłów są rootkity dynamiczne instalowane podczas przeglądania stron WWW, a następnie usuwane bez pozostawiania śladów. W systemie mogą jednak pozostać zainstalowane wirusy, keyloggery itp. Rootkity te uzyskują dostęp do jądra systemu Windows, wykorzystując sterowniki plug & play i tworzą fikcyjne strony sesji SSL, aby później przechwycić dane autoryzacyjne użytkownika przez analizę przesyłanych pakietów. Po zakończeniu połączenia ze stroną WWW zawierającą rootkit, złośliwe oprogramowanie może zostać całkowicie odinstalowane, nie zostawiając żadnego śladu obecności, choć z reguły pozostawia ono moduł kontynuujący śledzenie portów i adresów IP ofiary. Możliwość takiej infekcji zależy od konfiguracji modułu zabezpieczeń przeglądarki - czy zarejestruje on i pozwoli na modyfikację jądra systemu?

Przed niektórymi wersjami rootkitów, ochrony nie zapewniają nawet mocno reklamowane ostatnio układy TPM (Trusted Platform Module). Dotyczy to kodów wykorzystujących tzw. mechanizmy hyperjacking, w których złośliwe oprogramowanie przejmuje kontrolę nad funkcjami systemu operacyjnego i wyłącza takie aplikacje, jak Kernel Patch Protection. Moduł TPM przechowuje bowiem zaszyfrowaną sumę kontrolną danych na dysku i sprawdza ją zawsze podczas uruchamiania systemu, co umożliwia wykrycie jakichkolwiek zmian w jądrze systemu. Niestety mechanizm ten zawodzi, gdy rootkit jest instalowany dynamicznie, bo TPM nie może sprawdzać sumy kontrolnej na bieżąco, np. podczas surfowania po Internecie. Rootkit może więc być zainstalowany, wykorzystany do niepostrzeżonego rozpowszechnienia infekcji, a następnie usunięty bez śladu.

Zabezpieczenia przegrywają

Według firmy eEye, możliwe jest zainstalowanie rootkitów w sektorze startowym dysku, a John Heasman specjalista z Next-Generation Security Software twierdzi, że możliwa jest również konstrukcja kodu, który ukrywa rootkit w systemie BIOS, wykorzystując funkcje ACPI (Advanced Configuration & Power Interface). Oprócz tego niektóre zaawansowane rootkity mogą być instalowane i działać tylko z poziomu pamięci RAM. Do zabezpieczania przed takim zagrożeniem służą obecnie sprzętowe systemy do rejestrowania i analizy obrazów pamięci RAM, takie jak Tribble, Komoku CoPilot lub RAM Capture Tool firmy BBN Technologies, uważane do niedawna za najpewniejsze metody obrony przed rootkitami.

Joanna Rutkowska, zajmująca się badaniem zabezpieczeń w firmie Coseinc Advanced Malware Labs z Singapuru, zaprezentowała jednak ostatnio - podczas konferencji Black Hat - zestaw mechanizmów, które umożliwiają ukrycie kodów rootkit nawet przed tego typu zaawansowanymi systemami. Przedstawiła aż trzy rodzaje ataków, które praktycznie uniemożliwiają wykrycie kodu rootkit w systemie.

  1. Atak typu DoS - rootkit wywołuje załamanie systemu w momencie, gdy następuje próba odczytu zawartości pamięci RAM. W efekcie brak jest danych umożliwiających stwierdzenie obecności wrogiego kodu, a awaria systemu może zostać przypisana innym czynnikom, np. niewłaściwemu działaniu narzędzi rejestrujących.
  2. Generacja obrazu "śmieciowego" - rootkit umożliwia narzędziom do analizy RAM odczyt informacji, ale chroni niektóre wykorzystywane przez siebie obszary pamięci, przekształcając zapisane w nich dane do formatu bezużytecznych śmieci. W tym przypadku można podejrzewać, że w systemie jest rootkit, ale nie jest możliwe pewne tego potwierdzenie ani analiza wrogiego kodu w celu jego usunięcia.
  3. Inteligentna transformacja obrazu pamięci - rootkit ukrywa się prezentując sfałszowane, ale realne dane o zawartości wykorzystywanych obszarów pamięci, co oznacza, że w ogóle nie jest możliwa detekcja tego wrogiego oprogramowania.

Zdaniem Joanny Rutkowskiej, jedyna realna metoda zapobiegania rootkitom, którą można sobie obecnie wyobrazić, wymaga poważnej modyfikacji architektury systemów komputerowych i wyposażenie ich w dodatkowe specjalne funkcje do analizy systemu, takie jak interfejsy dedykowane do rejestracji zawartości pamięci RAM.

Inteligentne rootkity

Programy rootkit są praktycznie niewykrywalne przez obecne programy do zabezpieczania przed wirusami, które wykorzystują techniki analizy uruchomionych procesów, monitorowania komunikacji z zewnętrznymi systemami i śledzenia instalowanych aplikacji. Kody rootkit mogą przechwytywać, filtrować i modyfikować polecenia systemowe przekazywane do rdzenia systemu lub generowane przez ten rdzeń. W efekcie takie oznaki działania programu jak jego nazwa, uruchomiony proces, wykorzystywana pamięć lub parametry zapisywane w rejestrze są niewidoczne dla administratora i klasycznych narzędzi antywirusowych.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200