Bootkit 2009

Bootkit 2009

Bootkit 2009
Źródło zdjęć: © Kaspersky
22.06.2009 14:15, aktualizacja: 22.06.2009 15:26

W 2008 roku pisaliśmy o szkodliwym programie o nazwie Backdoor.Win32.Sinowal, który stanowił poważne zagrożenie, ponieważ stosował najbardziej zaawansowane w tym czasie technologie

Wstęp

W 200. roku pisaliśmy o szkodliwym programie o nazwie Backdoor.Win32.Sinowal, który stanowił poważne zagrożenie, ponieważ stosował najbardziej zaawansowane w tym czasie technologie:

  1. Spersonalizowane infekowanie osób odwiedzających zhakowane strony internetowe poprzez wykorzystywanie wielu różnych luk w zabezpieczeniach, łącznie z lukami zero-day.
  2. Wykorzystywanie najbardziej zaawansowanych technologii rootkit oraz wirusów sektora startowego w celu infekowania MBR-a. Infekowanie sektora startowego dysków było bardzo popularne w czasie, gdy szkodliwe programy po raz pierwszy zaczęły się pojawiać; stare technologie przeżywają obecnie odrodzenie, są jednak podnoszone do nowego poziomu. Problem pogarsza fakt, że wiele z najnowszych rozwiązań antywirusowych nie potrafi skanować MBR-a, ponieważ uznano, że ten sposób infekcji nie stanowi już zagrożenia.
  3. Wykorzystywanie nieustannie migrujących serwerów C&C i serwerów infekcji (adresy IP oraz nazwy domen są ciągle modyfikowane). Zainfekowane komputery wykorzystywały wyspecjalizowane algorytmy w celu tworzenia nazw domen, aby wyszukiwać swoje centra C&C. Ta sama technologia została następnie zaiplementowana w szkodliwych programach należących do rodziny Kido (Conficker).

W ciągu roku wymienione wyżej podejścia i technologie stały się "klasyką" i obecnie są implementowane w szeregu różnych szkodliwych programach. Jednak twórcy bootkita nie spoczęli na laurach i nadal rozwijają oraz implementują te technologie w bardziej wyrafinowanej postaci.

W rezultacie, bootkit stanowi najbardziej wyrafinowany współczesny szkodliwy program. Ukrywa się przed rozwiązaniami bezpieczeństwa, które w większości nie potrafią go wykrywać.

Pod koniec marca 200. roku analitycy z firmy Kaspersky Lab odkryli, że w Internecie rozprzestrzeniała się nowa modyfikacja bootkita. W artykule tym przeanalizowano jego sposób działania i rozprzestrzeniania się.

Obecna sytuacja

Poniżej zostały opisane najistotniejsze zmiany w bootkicie:

  1. Rozprzestrzenianie

Obecnie bootkit rozprzestrzenia się za pośrednictwem zhakowanych stron internetowych, zasobów pornograficznych oraz stron z pirackim oprogramowaniem. Prawie wszystkie serwery biorące udział w procesie infekcji posiadają wyraźny rosyjski ślad: stanowią część tak zwanych programów partnerskich, w których właściciele stron internetowych współpracują z autorami szkodliwych programów. Takie "programy partnerskie" są niezwykle popularne w rosyjskich i ukraińskich światkach cyberprzestępczych.

Mechanizm stosowany do tworzenia nazw domen dla strony zawierającej exploity również stanowi stosunkowo nową technologię.

Gdy użytkownik odwiedzi zainfekowaną stronę internetową, na jego komputerze zacznie uruchamiać się specjalnie stworzony skrypt. Skrypt ten wykorzystuje aktualną datę na komputerze w celu wygenerowania nazwy strony, do której użytkownik zostanie przekierowany w celu pobrania stworzonego dla niej exploita.

Obraz
© Fragment skryptu (odszyfrowany) wykorzystywanego do generowania nazwy domeny dla strony zawierającej exploity

Technologia ta niemal całkowicie uniemożliwia wykorzystywanie klasycznych metod opartych na czarnych listach w celu zablokowania dostępu do stron zawierających exploity. Jednak analiza algorytmu wykorzystywanego do generowania nazw domen pozwala określić, które z nazw domen zostaną wykorzystane, a następnie zablokować je.

Oprócz tworzenia nazw domen poprzez wykorzystywanie aktualnej daty umieszczony w zainfekowanych stronach internetowych skrypt tworzy ciasteczka ważne przez 7 dni. Uniemożliwia to ponowne otwarcie w przeglądarce strony z pakietem narzędzi hakerskich Neosploit (http://www.viruslist.pl/analysis.html?newsid=517. w przypadku wielokrotnego odwiedzenia przez użytkownika zainfekowanej strony internetowej. Skrypt szuka ciasteczek, a gdy je znajdzie i nadal będą ważne, nie stworzy nazwy domeny i użytkownik nie zostanie przekierowywany do Neosploita.

  1. Technologie rootkit

Bootkit nadal stosuje metodę polegającą na infekowaniu MBR-a w celu załadowania swojego sterownika przed uruchomieniem się systemu operacyjnego. Sterownik jest wykorzystywany do uniemożliwienia wykrywania i leczenia zainfekowanego rekordu startowego. Pierwsze wersje przechwytywały procedurę IRP Driver/ Disk; jednak ze względu na ewolucję technologii zwalczania szkodliwych programów twórcy wirusów musieli znacznie zmodyfikować tę technikę. W porównaniu z poprzednimi wariantami najnowsza wersja rootkita wykorzystuje bardziej zaawansowaną technologię w celu ukrycia swojej obecności w systemie. Żaden z innych znanych obecnie rootkitów nie wykorzystuje opisanych niżej metod.

Podczas startu zainfekowany sterownik sprawdza, czy istnieje aktywny debugger. Jeżeli tak, rootkit nie ukryje zainfekowanego MBR-a i nie ujawni jego obecności w systemie w żaden sposób.

Aby stać się niewidocznym, rootkit zastępuje wskaźnik urządzenia jednym ze swoich własnych; w tym przypadku mamy do czynienia z określoną strukturą, w której zainfekowany sterownik zamienia wskaźnik na funkcję (ParseProcedure).

Obraz
© Przechwytywanie funkcji w celu zastąpienia MBR-a

Jeżeli dysk fizyczny jest otwarty na dostęp programu antywirusowego w trybie niskopoziomowym, przechwycona funkcja zostanie wywołana. Procedura IRP sterownika zostanie przechwycona na niższym poziomie niż \Driver\Disk oraz funkcje, które są wywoływane, gdy uprzednio otwarty dysk jest zamknięty. Jak tylko dysk zostanie zamknięty, wszystkie funkcje przechwytujące powracają do stanu pierwotnego.

Obraz
© Sterownik ATAPI niskiego poziomu w zainfekowanym systemie

Na osobną uwagę zasługuje kod sterownika, który również przeszedł znaczące modyfikacje. Większość kluczowych funkcji, które instalują procedury przechwytujące funkcje systemu operacyjnego lub same są takimi procedurami przechwytującymi, zmieniła kształt, co znacznie komplikuje analizę szkodliwego kodu.

Obraz
© Przykład zaszyfrowanych funkcji przechwytujących

Ochrona

Mimo że najnowszy wariant bootkita został zidentyfikowany przez wiele firm antywirusowych, które zaimplementowały pewne metody umożliwiające wykrywanie go, Kaspersky Lab jest na razie jedyną firmą, która zapewnia użytkownikom skuteczną ochronę przed bootkitem na każdym etapie.

Gdy użytkownik odwiedzi zainfekowaną stronę, Kaspersky Internet Security blokuje:

  1. Dostęp do strony zawierającej exploity:
Obraz
  1. Skrypty, które tworzą i pobierają exploity:
Obraz
  1. Najbardziej niebezpieczne i najnowsze exploity:
Obraz

Co najważniejsze, Kaspersky Internet Security potrafi wykryć aktywnego bootkita i wyleczyć zainfekowany komputer.

Pierwsza wersja Sinowala pojawiła się na początku 200. roku. Jednak do października poprzedniego roku wykrywanie i leczenie zostało zaimplementowane tylko w 4 z 15 najpopularniejszych rozwiązaniach antywirusowych.

Niestety, wariant bootkita z 200. roku jest tak samo poważnym zagrożeniem jak jego poprzednicy. Ochrona przed nim została zaimplementowana w oprogramowaniu Kaspersky Internet Security:

Obraz

Po zidentyfikowaniu zagrożenia rozwiązanie antywirusowe potrafi obejść wszystkie procedury przechwytujące zainstalowane przez rootkita i wyleczyć zainfekowany MBR:

Obraz

Niezwykle istotne jest, aby rozwiązanie antywirusowe potrafiło zapewnić ochronę na każdym etapie - zarówno podczas odwiedzania zainfekowanej strony przez użytkownika jak i leczenia aktywnej infekcji. Jeżeli zagrożenie nie zostanie zidentyfikowane na żadnym etapie procesu infekcji, szkodnik może obejść mechanizmy ochrony w celu zainfekowania komputera, w wyniku czego szkodliwy program będzie niewidoczny przez długi czas.

Wnioski

Bootkit nadal jest poważnym zagrożeniem oraz najszybciej ewoluującym szkodliwym programem. Najbardziej interesujące technologie tworzenia wirusów oraz procedury rozprzestrzeniania można znaleźć właśnie w tym bootkicie.

Firmy antywirusowe muszą śledzić wszystkie modyfikacje bootkita. Przewidujemy, że w ciągu krótkiego czasu nowe technologie, podobne do tych zastosowanych w bootkicie, będą szeroko implementowane przez wielu innych twórców wirusów.

Jeszcze większe znaczenie ma usprawnienie obecnych produktów i technologii antywirusowych, które potrafią skutecznie zwalczać nie tylko próby infekowania komputerów, ale również wykrywać złożone zagrożenia działające na bezprecedensowo niskim poziomie w systemie operacyjnym.

Siergiej Golowanow, starszy analityk zagrożeń, Kaspersky Lab
Wiaczesław Rusakow, członek zespołu zajmującego się analizowaniem złożonych zagrożeń, Kaspersky Lab

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (0)