Bootkit 2009

  • 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

Wst臋p

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:

  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 2009 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.


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 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).


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.


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.


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:

  1. Skrypty, kt贸re tworz膮 i pobieraj膮 exploity:

  1. Najbardziej niebezpieczne i najnowsze exploity:

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

Pierwsza wersja Sinowala pojawi艂a si臋 na pocz膮tku 2008 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 2009 roku jest tak samo powa偶nym zagro偶eniem jak jego poprzednicy. Ochrona przed nim zosta艂a zaimplementowana w oprogramowaniu Kaspersky Internet Security:

Po zidentyfikowaniu zagro偶enia rozwi膮zanie antywirusowe potrafi obej艣膰 wszystkie procedury przechwytuj膮ce zainstalowane przez rootkita i wyleczy膰 zainfekowany MBR:

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.

殴r贸d艂o:
Kaspersky Lab