Ewolucja rootkit贸w

Alisa Szewczenko
Analityk wirus贸w, Kaspersky Lab

Artyku艂 ten jest trzecim z serii artyku艂贸w po艣wi臋conych ewolucji wirus贸w i rozwi膮za艅 antywirusowych. Ewolucj臋 postrzegam zar贸wno jako chronologiczny ci膮g wydarze艅, jak i logiczny w膮tek 艂膮cz膮cy szereg zmian. Moim celem jest przedstawienie tematu w spos贸b logiczny i chronologiczny, tak aby zainteresowa膰 szerok膮 rzesz臋 czytelnik贸w.

Wprowadzenie

Z rootkitem po raz pierwszy zetkn膮艂em si臋 w 2004 roku, gdy by艂em jeszcze przys艂owiowym 偶贸艂todziobem w dziedzinie analizy wirus贸w. W tym czasie mia艂em jeszcze nik艂e poj臋cie o rootkitach opartych na systemie UNIX. Pewnego dnia natrafi艂em na plik wykonywalny dla systemu Windows, kt贸ry po uruchomieniu zdawa艂 si臋 nic nie robi膰. Wzbudzi艂 jednak we mnie dziwne podejrzenia, dlatego przyjrza艂em mu si臋 bli偶ej... i na li艣cie za艂adowanych modu艂贸w zobaczy艂em plik, kt贸rego nie by艂o na dysku. Naturalnie mia艂em szcz臋艣cie, 偶e zobaczy艂em to go艂ym okiem - kod rootkita zawiera艂 b艂臋dy. Aby uzyska膰 ten sam rezultat, dzisiaj potrzebowa艂bym kilku wyspecjalizowanych narz臋dzi - a nawet to mog艂oby nie wystarczy膰.

Wykryty przeze mnie rootkit nie by艂 pierwszym rootkitem dla systemu Windows. Jednak dla mnie by艂 zupe艂n膮 nowo艣ci膮 i stanowi艂 drzwi do nowego 艣wiata; 艣wiata, w kt贸rym programy prowadzi艂y gr臋 z systemem operacyjnym i mog艂y 艂ama膰 regu艂y, tajemniczo znikaj膮c z listy proces贸w i plik贸w. Mas臋 czasu po艣wi臋ci艂em na badanie sterownik贸w wykorzystywanych przez program do ukrywania si臋 w systemie. Trojan-Dropper.Win32.SmallProxy zosta艂 stworzony w taki spos贸b, aby atakowa艂 okre艣lony system i instalowa艂 si臋 w okre艣lonych lokalizacjach - jak na tamte czasy by艂o to do艣膰 skomplikowane i nietypowe.

W artykule tym skoncentrowa艂am si臋 na rootkitach dla systemu Windows, poniewa偶 s膮 one najliczniejsze, nieustannie rozwijaj膮 si臋, stanowi膮 powa偶ne zagro偶enie dla u偶ytkownik贸w i s膮 powszechnie wykorzystywane przez tw贸rc贸w wirus贸w ze wzgl臋du na to, 偶e Windows jest obecnie najpopularniejszym systemem operacyjnym. Rootkity okre艣lam jako programy, kt贸re obchodz膮 standardowe mechanizmy systemu poprzez wykorzystanie technik ukrywania w celu zamaskowania obiekt贸w systemowych: plik贸w, proces贸w, sterownik贸w, us艂ug, kluczy rejestru, otwartych port贸w, po艂膮cze艅 itd.

Rootkity dla systemu UNIX

M贸wi膮c o rootkitach, nie spos贸b nie wspomnie膰 o etymologii s艂owa “rootkit". W systemach UNIX “root" oznacza u偶ytkownika z pe艂nymi prawami dost臋pu (administratora), “kit" natomiast okre艣la zestaw narz臋dzi. Tak wi臋c termin 'rootkit’ oznacza zestaw narz臋dzi, kt贸ry mo偶e by膰 wykorzystywany z zamiarem wyrz膮dzenia szkody w celu uzyskania dost臋pu do systemu bez wiedzy prawdziwego administratora. Takie narz臋dzia po raz pierwszy pojawi艂y si臋 dla systemu UNIX na pocz膮tku lat 90. Nadal istniej膮, nie s膮 jednak rozwijane w 偶aden znacz膮cy spos贸b.

Warto pami臋ta膰, 偶e chocia偶 rootkity dla systemu Windows zaczerpn臋艂y sw膮 nazw臋 ze 艣wiata uniksowego, tego typu szkodniki pochodz膮 bezpo艣rednio od wirus贸w ukrywaj膮cych si臋 dla DOS-a, a nie od rootkit贸w dla systemu UNIX.

Wirusy ukrywaj膮ce si臋

Wirusy ukrywaj膮ce si臋 dla DOS-a pojawi艂y si臋 oko艂o1990 roku - w tym samym czasie lub troch臋 wcze艣niej ni偶 rootkity dla systemu UNIX. W przeciwie艅stwie do rootkit贸w dla systemu UNIX, kt贸rych celem by艂o umo偶liwienie ich autorom uzyskania dost臋pu do systemu i zamaskowanie swojej obecno艣ci w nim, wirusy ukrywaj膮ce si臋 dla DOS-a tylko ukrywa艂y si臋 przed u偶ytkownikiem i programami antywirusowymi. Dok艂adnie na tym samym polega dzia艂anie wsp贸艂czesnych rootkit贸w dla systemu Windows. Techniki wykorzystywane przez wirusy ukrywaj膮ce si臋 dla DOS-a s膮 bardzo podobne do tych stosowanych obecnie przez rootkity dla systemu Windows. Na przyk艂ad wirusy ukrywaj膮ce si臋 wykorzystuj膮 techniki, takie jak przechwytywanie funkcji systemowych oraz maskowanie szkodliwego kodu poprzez dostarczanie fa艂szywych danych do dysku lub zawarto艣ci pami臋ci. Rootkity dla systemu Windows r贸wnie偶 powszechnie wykorzystuj膮 te techniki.

Rootkity dla systemu Microsoftu pojawi艂y si臋 oko艂o 10 lat p贸藕niej. Nie zosta艂y jednak nazwane wirusami ukrywaj膮cymi si臋, ani te偶 nie nadano im 偶adnej innej, bardziej logicznej nazwy, ale sta艂y si臋 znane jako rootkity za spraw膮 Grega Hoglunda. By艂 on jedn膮 z pierwszych os贸b, kt贸re stworzy艂y narz臋dzie przeznaczone do ukrywania danych w systemie poprzez po艂膮czenie r贸偶nych technik obchodzenia mechanizm贸w ochrony systemu Windows. Swoje wyniki opublikowa艂 w magazynie elektronicznym PHRACK (http://phrack.org/issues.html?issue=55&id=5#article), w kt贸rym narz臋dzie to zosta艂o nazwane NT Rootkit. Nast臋pnie by艂o wykorzystywane w wielu r贸偶nych szkodliwych programach i do dzi艣 nie przestaje intrygowa膰 i inspirowa膰 zar贸wno badaczy, jak i autor贸w rootkit贸w.

Pocz膮tki i popularyzacja

Artyku艂 Hoglunda pochodzi z 1999 roku i opiera si臋 na badaniu j膮dra systemu Windows przeprowadzonym rok wcze艣niej i opublikowanym w usenecie przez programist臋 ze Sri Lanki (zobacz http://www.cmkrnl.com/arc-newint2e.html).

Jeszcze w 1995 roku Jeffrey Richter, guru 艣rodowiska programistycznego systemu Windows, ujawni艂 techniki przechwytywania funkcji systemowych w trybie u偶ytkownika w swojej s艂ynnej ksi膮偶ce "Advanced Windows" i jej czwartym wydaniu zatytu艂owanym "Programming Applications for Microsoft Windows". Techniki te zosta艂y p贸藕niej zaimplementowane w wielu rootkitach przez osoby, kt贸re posun臋艂y si臋 nawet do kopiowania kodu 藕r贸d艂owego bezpo艣rednio z ksi膮偶ki.

Techniki przechwytywania funkcji systemowych w trybie j膮dra zosta艂y ujawnione w dw贸ch kolejnych klasycznych podr臋cznikach programistycznych: "Undocumented Windows 2000 Secrets" autorstwa Schreibera oraz "Undocumented Windows NT" autorstwa P. Dabak et al, 1999.

Pierwsze rootkity dla systemu Windows

Analitycy nadal badali ochron臋 systemu Windows i wkr贸tce po tym, jak NTRootkit zosta艂 opublikowany, pojawi艂o si臋 kilka innych narz臋dzi - wszystkie z nich mia艂y na celu ukrywanie obiekt贸w w systemie operacyjnym:

  • 2000 - he4hook, stworzony przez rosyjskiego programist臋. Narz臋dzie to nie jest szkodliwe, ale ukrywa pliki. Dzia艂a w trybie j膮dra. Interesuj膮ce jest to, 偶e nawet sam autor nie nazywa tego programu rootkitem.
  • 2002 - Hacker Defender (znany r贸wnie偶 jako HacDef). To tak偶e tylko narz臋dzie, jednak pot臋偶niejsze: mo偶e by膰 wykorzystywane do ukrywania plik贸w, proces贸w i kluczy rejestru z elastycznymi ustawieniami w pliku konfiguracyjnym. R贸wnie偶 dzia艂a w trybie j膮dra.
  • 2003 - Vanquish. Przy pomocy tego narz臋dzia mo偶na ukrywa膰 pliki, foldery i klucze rejestru. Opr贸cz tego posiada szkodliw膮 funkcj臋 - rejestruje wprowadzane has艂a. Vanquish dzia艂a w trybie u偶ytkownika.

Bez w膮tpienia zmieni艂a si臋 motywacja os贸b zg艂臋biaj膮cych rootkity - ich zainteresowanie przesun臋艂o si臋 z neutralnych narz臋dzi w kierunku narz臋dzi przeznaczonych do wyrz膮dzenia szk贸d.

  • 2003 - Haxdoor (znany r贸wnie偶 jako A-311 Death oraz Nuclear Grabber, zmodyfikowany wariant tego samego programu). To ju偶 co艣 wi臋cej ni偶 narz臋dzie - to backdoor wykorzystuj膮cy techniki rootkit贸w w celu ukrycia swojej obecno艣ci w systemie. Dzia艂a g艂贸wnie w trybie u偶ytkownika.
  • 2004 - FU - narz臋dzie do ukrywania proces贸w. Narz臋dzie to wprowadza now膮 technik臋 opart膮 na modyfikowaniu ju偶 nie dost臋pu do systemu, ale samej struktury systemu. Dzia艂a w trybie j膮dra

Powy偶sza lista nie jest wyczerpuj膮ca, zawiera jednak rootkity, kt贸re s膮 kluczowe dla zrozumienia ewolucji rootkit贸w dla systemu Windows, zw艂aszcza HacDef, Haxdoor i FU. Te trzy rootkity powszechnie wyst臋powa艂y na wolno艣ci w po艂膮czeniu z innymi szkodliwymi programami.

Rootkity z lat 2000 - 2004 doskonale wpisuj膮 si臋 w standardowy (przestarza艂y) system klasyfikacji: mog膮 dzia艂a膰 zar贸wno na poziomie u偶ytkownika, jak i j膮dra, wykorzystuj膮c Execution Path Modification lub Direct Kernel Object Manipulation. Klasyfikacja ta by艂a ju偶 wielokrotnie omawiana; wi臋cej na ten temat mo偶na dowiedzie膰 si臋 z nast臋puj膮cych 藕r贸de艂: www.securitylab.ru (j臋zyk rosyjski); z-oleg.com (j臋zyk rosyjski); www.securityfocus.com (j臋zyk angielski).

Rootkity - masowa produkcja

Z czasem rootkity zacz臋to r贸wnie偶 osadza膰 w szkodliwych programach. W tamtych czasach stworzenie niezale偶nych technologii ukrywania by艂o trudne, poniewa偶 niewiele pisano na ten temat: w rezultacie w艣r贸d niewielkiej liczby szkodliwych rootkit贸w mo偶na by艂o wyr贸偶ni膰 trzy kategorie:

  • Trojany, kt贸re w celu ukrywania si臋 wykorzystywa艂y gotowe narz臋dzia i biblioteki. Przewa偶aj膮ca wi臋kszo艣膰 tych trojan贸w wykorzystywa艂a narz臋dzia Hacker Defender i FU.
  • Gotowe szkodliwe rootkity, kt贸re mo偶na by艂o pobra膰 lub kupi膰 i samemu zmodyfikowa膰. Przyk艂adem jest Haxdoor. Podobnie jak HacDef, Haxdoor by艂 bardzo popularny jesieni膮 2005 roku; firma Kaspersky Lab dodawa艂a ka偶dego dnia oko艂o dziesi臋ciu nowych sygnatur w celu zapewnienia ochrony przed nowymi wariantami Haxdoora.
  • Spersonalizowane rootkity stworzone w celu przeprowadzenia atak贸w na konkretny cel. Producenci oprogramowania antywirusowego zwykle dowiadywali si臋 o tych rootkitach bezpo艣rednio od klient贸w, g艂贸wnie du偶ych firm. Gdy administratorzy sieci nie mogli zidentyfikowa膰 przyczyny problemu, zwykle analitycy wirus贸w przeprowadzali dochodzenie na miejscu. Ta grupa rootkit贸w by艂a bardzo niewielka, jednak pr贸bki charakteryzowa艂y si臋 wysokim stopniem zaawansowania technicznego.

Do 2005 roku prawie 80% istniej膮cych rootkit贸w by艂o wariantami HacDef i Haxdoor. Rbot i SdBot by艂y pierwszymi wielofunkcyjnymi backdoorami zawieraj膮cymi wbudowane technologie rootkit. Motyw by艂 jasny: wszelkie technologie, kt贸re poprawia艂y og贸ln膮 funkcjonalno艣膰 komercyjnego trojana, bezpo艣rednio przynosi艂y dodatkowe korzy艣ci finansowe jego autorowi i/lub osobie, kt贸ra go kontroluje. Dlatego osoby kontroluj膮ce boty jako pierwsze zacz臋艂y wykorzystywa膰 technologie ukrywania/rootkit.

Do 2006 roku technologie rootkit by艂y wbudowywane do powszechnych robak贸w pocztowych, takich jak Bagle; trojan贸w szpieguj膮cych, takich jak Goldun; i program贸w Mailbot, takich jak Rustock. By艂o to powa偶ne wyzwanie dla producent贸w oprogramowania antywirusowego.

Zanim jednak wykorzystywanie technologii rootkit w trojanach sta艂o si臋 standardem, pojawi艂o si臋 wiele narz臋dzi do zwalczania rootkit贸w, zar贸wno samodzielnych jak i zawartych w innych produktach. R贸wnowaga si艂 zosta艂a przywr贸cona.

Rootkity i zwi膮zane z nimi skandale

Do 2005 roku wykorzystywanie technologii rootkit w szkodliwych programach by艂o tak rozpowszechnione, 偶e problemem tym zainteresowali si臋 nie tylko producenci rozwi膮za艅 bezpiecze艅stwa, ale r贸wnie偶 media. Przedstawiciele firmy Microsoft podj臋li ten temat na konferencji RSA.

Liczne skandale, jakie mia艂y miejsce w 2006 roku w zwi膮zku z wykryciem w r贸偶nych produktach programowych i sprz臋towych metodach podobnych do technologii rootkit, pokazuj膮, w jaki spos贸b problem rootkit贸w sta艂 si臋 publiczny.

  1. Zabezpieczenie przed kopiowaniem Sony DRM na niekt贸rych p艂ytach CD ukrywa艂o pliki przed u偶ytkownikami. Co wi臋cej, technologia ta zosta艂a zaimplementowana w taki spos贸b, 偶e tworzy艂a powa偶n膮 luk臋 w zabezpieczeniach: ka偶dy m贸g艂 nazwa膰 swoje w艂asne pliki w okre艣lony spos贸b i pliki te by艂y ukrywane przez technologi臋 Sony DRM.
  2. Symantec zawar艂 podobn膮 funkcj臋 w swoich produktach: produkty te wykorzystywa艂y folder, kt贸ry by艂 ukryty przed u偶ytkownikami. Incydent ten jest do艣膰 zabawny: “chroniony kosz" Symanteca zosta艂 udokumentowany przez firm臋 i 艂atwo m贸g艂 zosta膰 wy艂膮czony. W rzeczywisto艣ci, koncepcja ukrywania plik贸w w tym ukrytym folderze nie jest bardziej interesuj膮ca ni偶 koncepcja ukrywania plik贸w w czelu艣ciach drzewa katalogu systemowego, gdzie nigdy nie zagl膮da 偶aden u偶ytkownik.
  3. Kolejn膮 ofiar膮 skandalu zwi膮zanego z rootkitami pad艂 sam program Kaspersky Anti-Virus; okaza艂o si臋, 偶e produkt przechowuje pewne dane w strumieniach plik贸w, tj. w cz臋艣ciach systemu plik贸w, kt贸re s膮 ukryte przed u偶ytkownikiem. Mimo 偶e dok艂adnie nie wiadomo, jakie zagro偶enie mog艂o to powodowa膰, u偶ycie terminu "rootkit" przestraszy艂o wiele os贸b.

Histeria antyrootkitowa

Innym istotnym aspektem ewolucji rootkit贸w by艂a r贸wnoleg艂a histeria "antyrootkitowa". Do po艂owy 2006 roku wszystkie g艂贸wne firmy antywirusowe przyzna艂y, 偶e zagro偶enie ze strony rootkit贸w wymaga interwencji. Ka偶da firma reagowa艂a na sw贸j w艂asny spos贸b. Niekt贸rzy producenci modyfikowali swoje produkty, tak aby zapewni膰 dost臋p do ukrytych obiekt贸w podczas regularnego skanowania antywirusowego. Inni opublikowali samodzielne narz臋dzia do zwalczania rootkit贸w. Jeszcze inni poszli na kompromis, wyposa偶aj膮c swoje produkty w funkcj臋 skanowania w celu wykrycia rootkit贸w, dost臋pn膮 poprzez interfejs produktu.

Jednak 偶adna z firm nie odnios艂a wi臋kszego sukcesu - wszelkie dzia艂ania mo偶na by艂o por贸wna膰 do zamkni臋cia drzwi stajni, po tym jak uciek艂 z niej ju偶 ko艅.

W kontek艣cie eskalacji sytuacji firma F-Secure, kt贸rej narz臋dzie do zwalczania rootkit贸w zosta艂o opublikowane wkr贸tce po Rootkit Revealer przez Sysinternals, by艂a jednym z pierwszych producent贸w, kt贸rych dzia艂ania mia艂y znaczenie. Narz臋dzie firmy F-Secure wykrywa艂o tylko ukryte procesy, opiera艂o si臋 jednak na technologiach "proof of concept".

Narz臋dzia do zwalczania rootkit贸w niezale偶ne od producent贸w rozwi膮za艅 antywirusowych

Niezale偶ne od producent贸w narz臋dzia do zwalczania rootkit贸w pojawi艂y si臋 jeszcze wcze艣niej, oko艂o 2005 roku. W przeciwie艅stwie do rozwi膮za艅 dostarczanych przez producent贸w oprogramowania antywirusowego, kt贸rzy musieli wykaza膰, 偶e chroni膮 swoich u偶ytkownik贸w, tw贸rcy darmowych narz臋dzi chcieli po prostu ujawni膰 mo偶liwie jak najwi臋cej ukrytych danych. Z tego powodu narz臋dzia niezale偶ne od producent贸w antywirusowych by艂y bardziej profesjonalne, pot臋偶niejsze i posiada艂y wi臋ksze mo偶liwo艣ci w艂a艣ciwej reakcji na zmieniaj膮ce si臋 艣rodowisko.

Pierwsze narz臋dzia do zwalczania rootkit贸w by艂y tworzone w celu ujawnienia jednego typu obiekt贸w, np. ukrytych plik贸w. W miar臋 up艂ywu czasu stawa艂y si臋 coraz bardziej wielofunkcyjne i wykorzystywa艂y systematyczne podej艣cie. Obecnie do najbardziej u偶ytecznych og贸lnych narz臋dzi do zwalczania rootkit贸w nale偶膮 GMER oraz Rootkit Unhooker (antirootkit.com) (ten drugi nie jest ju偶 wspierany). Oba narz臋dzia umo偶liwiaj膮 przeprowadzenie szybkiej, powierzchownej analizy stanu systemu pod r贸偶nym k膮tem. Je偶eli istnieje taka potrzeba mog膮 by膰 r贸wnie偶 wykorzystywane do g艂臋bszej, bardziej specjalistycznej analizy.

Obecnie dost臋pnych jest co najmniej 20 darmowych narz臋dzi do zwalczania rootkit贸w, z kt贸rych ka偶dy opiera si臋 na r贸偶nych podej艣ciach do wykrywania rootkit贸w (zobacz z-oleg.com oraz www.securityfocus.com). Jednak bitwa nadal si臋 toczy. Jednym z ostatnich trend贸w w ewolucji rootkit贸w jest wykorzystanie technologii Bluepill (tj. wirtualizacja sprz臋towa), kt贸ra nie mo偶e zosta膰 wykryta przy u偶yciu obecnie dost臋pnych technologii. Na razie nie ma 偶adnych w pe艂ni funkcjonalnych narz臋dzi do zwalczania rootkit贸w, kt贸re wykrywaj膮 rootkity wykorzystuj膮ce technologi臋 Bluepill. Z drugiej strony nie s膮 r贸wnie偶 znane 偶adne w pe艂ni funkcjonalne szkodliwe programy, kt贸re wykorzystuj膮 t臋 technik臋 - jedynie kod typu "proof of concept".

Mimo to nadal trwaj膮 prace nad rozwojem wykrywania tych hipotetycznych zagro偶e艅. Wiadomo mi o dw贸ch projektach badawczych dotycz膮cych takich rootkit贸w – rosyjski North Security Labs oraz ameryka艅ski Hypervista Technologies. Do tej pory Hypervista opublikowa艂 kilka teoretycznych informacji, podczas gdy North Security Labs umie艣ci艂 wersj臋 beta swojego narz臋dzia Hypersight Rootkit Detector do pobrania ze swojej strony. Projekt ten jest interesuj膮cy, mimo 偶e nadal znajduje si臋 w pocz膮tkowym stadium.

Rootkity “proof of concept"

Do 2006 roku narz臋dzie do zwalczania rootkit贸w wykrywa艂y wi臋kszo艣膰 rootkit贸w, a boom rootkitowy zacz膮艂 s艂abn膮膰. Naturalnie sk艂oni艂o to badaczy, zar贸wno czarnych jak i bia艂ych kapeluszy, do badania nowych technik, kt贸re by艂yby niewykrywalne.

Wi臋kszo艣膰 badaczy skoncentrowa艂o si臋 na koncepcji wykorzystywania wirtualizacji sprz臋towej (zintegrowanej z nowymi procesorami Intel i AMD) w celu przej臋cia kontroli nad systemem operacyjnym. Metoda ta umo偶liwia stworzenie rootkit贸w, kt贸re nie mog膮 zosta膰 wykryte przez wsp贸艂czesne narz臋dzia do zwalczania tego typu zagro偶e艅.

W 2006 roku opublikowano trzy takie rootkity "proof-of-concept": SubVirt ( www.eecs.umich.edu), BluePill (blackhat.com) oraz Vitriol ( www.blackhat.com ). W momencie pisania tego artyku艂u wykrywanie tych rootkit贸w pozostawa艂o nierozwi膮zan膮 kwesti膮. Jednak jak dot膮d rootkity te nie pojawi艂y si臋 na wolno艣ci (zgodnie z nasz膮 wiedz膮).

Drugim g艂贸wnym obszarem, na kt贸rym skupiaj膮 si臋 badacze, s膮 rootkity, kt贸re dzia艂aj膮 w sektorze startowym, nazywane bootkitami. Rootkity z tej grupy przejmuj膮 ca艂kowit膮 kontrol臋 nad systemem podczas jego uruchamiania. Technika ta stanowi powr贸t do czas贸w wirus贸w sektora startowego z ery DOS-a. Pierwszym rootkitem “proof of concept" atakuj膮cym sektor startowy by艂 eEye Bootroot ( www.blackhat.com), kt贸ry pojawi艂 si臋 w 2005 roku. Vbootkit ( blackhat.com ), podobny rootkit “proof of concept", pojawi艂 si臋 w 2007 roku; zosta艂 zaprezentowany jako projekt badawczy dotycz膮cy "gor膮cego" w tym czasie tematu - bezpiecze艅stwa Visty.

Najnowsze trendy

Po stosunkowo d艂ugim okresie, w kt贸rym nie pojawi艂y si臋 偶adne nowe rootkity, rok 2008 przyni贸s艂 bran偶y antywirusowej nowe wyzwania. Pojawi艂o si臋 nowe szkodliwe oprogramowanie, kt贸re rzekomo infekowa艂o sektor startowy. Znane jest pod wieloma nazwami: Sinowal, Mebroot, oraz StealthMBR. Wi臋kszo艣膰 rozwi膮za艅 antywirusowych b臋dzie mia艂o problemy z wykryciem go, nie m贸wi膮c ju偶 o leczeniu zainfekowanych nim maszyn.

Rootkit ten, powszechnie zwany bootkitem ze wzgl臋du na uruchamianie si臋 podczas sekwencji rozruchu, opiera si臋 na kodzie eEye Bootroot. Zasadniczo jest to nie tyle niezale偶ny szkodliwy program, co narz臋dzie do ukrywania trojan贸w... dowolnych trojan贸w. W rezultacie, mo偶na wyci膮gn膮膰 wniosek, 偶e Sinowal jest wsp贸艂dzielony (prawdopodobnie za op艂at膮) w pewnych kr臋gach, oraz 偶e jeszcze go zobaczymy.

Inn膮 wa偶n膮 technik膮, kt贸ra pojawi艂a si臋 ostatnio, nie uzyska艂a jednak tak szerokiego rozg艂osu, jest wykorzystanie CmRegisterCallback, funkcji stworzonych przez firm臋 Microsoft, aby pom贸c programistom ukrywa膰 obiekty w rejestrze. Technik臋 t臋 wykorzystuje wiele zaawansowanych szkodliwych program贸w, w tym Bulknet.

Mityczny rootkit

Pod koniec 2006 roku na forach po艣wi臋conych bezpiecze艅stwu wrza艂o od pog艂osek na temat rzekomo nowego, niewykrywalnego rootkita - Rustock.c. Ten nowy rootkit mia艂 by膰 najnowszym tworem z rodziny spambot贸w Rustock. P贸艂tora roku p贸藕niej badacze z rosyjskiej firmy antywirusowej Dr. Web og艂osili, 偶e znale藕li pr贸bk臋 rootkita Rustock.c i analizuj膮 jego procedur臋 rozprzestrzeniania si臋. Niestety, nie wszystkie szczeg贸艂y s膮 znane - na chwil臋 obecn膮 nie wiadomo, jak powa偶ne w rzeczywisto艣ci jest to zagro偶enie. Z danych firmy Dr. Web wynika, 偶e rootkit ten zosta艂 stworzony we wrze艣niu 2007 roku, a nie pod koniec 2006 roku.

Nie ma jednak w膮tpliwo艣ci, 偶e Rustock.c nie jest niewykrywalny. Program nie wykorzystuje 偶adnych prze艂omowych technologii, kt贸re uniemo偶liwi艂yby jego wykrycie. Chocia偶 rootkit ten obchodzi istniej膮ce metody ochrony, wcale nie jest to takie trudne - wiele mniej znanych program贸w r贸wnie偶 potrafi omin膮膰 艣rodki bezpiecze艅stwa.

Rustock.c okaza艂 si臋 interesuj膮cy bardziej z punktu widzenia przep艂ywu informacji ni偶 ze wzgl臋d贸w technicznych. Pog艂oski z ko艅ca 2006 roku by艂y bezpodstawne, przygotowa艂y jednak grunt dla przysz艂ych wydarze艅. Gdy w ko艅cu pojawi艂a si臋 prawdziwa pr贸bka, wszyscy byli podekscytowani, 偶e w ko艅cu uda艂o si臋 zobaczy膰 tego "niewykrywalnego" rootkita - nawet je艣li w rzeczywisto艣ci Rustock.c nie jest szczeg贸lnie interesuj膮cy z technicznego punktu widzenia. Wed艂ug mnie Rustock.c by艂 wa偶ny ze wzgl臋du na reakcj臋, jak膮 wywo艂a艂 w spo艂eczno艣ci komputerowej, a nie dlatego, 偶e stanowi艂 du偶y technologiczny krok naprz贸d.

Wi臋cej na temat historii rootkita Rustock.c mo偶na uzyska膰 na stronie: www.viruslist.com

Rootkity dla system贸w innych ni偶 Windows

Od czasu do czasu do laboratori贸w antywirusowych trafiaj膮 pr贸bki rootkit贸w stworzonych dla okre艣lonych cel贸w, kt贸re atakuj膮 mniej popularne systemy uniksowe, takie jak Solaris. Zwykle spowodowane jest to tym, 偶e dana organizacja nie monitorowa艂a swoich serwer贸w, kt贸re zosta艂y skonfigurowane du偶o wcze艣niej i od tamtej pory nikt w nie nie ingerowa艂. Nietrudno w艂ama膰 si臋 do takiego systemu i umie艣ci膰 w nim rootkita, kt贸ry przypadkowo zostaje wykryty po kilku latach, po tym jak "wyssano" z niego wiele poufnych informacji, powoduj膮c straty finansowe.

Powsta艂o kilka rootkit贸w dla systemu Mac OS X firmy Apple; istnieje r贸wnie偶 narz臋dzie do zwalczania rootkit贸w przeznaczone dla tego systemu operacyjnego: OS X Rootkit Hunter. Ponadto, poniewa偶 OS X opiera si臋 na Uniksie, niekt贸re rootkity dla systemu UNIX mog膮 zosta膰 tak zmodyfikowane, aby dzia艂a艂y r贸wnie偶 w systemie OS X. Og贸lnie jednak nie jeste艣my 艣wiadkami 偶adnej istotnej ewolucji rootkit贸w dla Maka, ani powa偶nych zagro偶e艅 w tej dziedzinie.

O ile mi wiadomo systemy operacyjne dla urz膮dze艅 mobilnych, takich jak Windows Mobile, Symbian itd., nie by艂y atakowane przez rootkity. Istnieje jednak stosunkowo niewiele szkodliwych program贸w dla urz膮dze艅 z tymi systemami operacyjnymi, poza tym niewiele os贸b wykorzystuje dost臋pne obecnie rozwi膮zania antywirusowe, przez co zastosowanie technologii rootkit nie jest konieczne.

Prawie rootkity

W tym artykule postanowi艂am nie omawia膰 pewnych szkodliwych program贸w typu proof of concept; program贸w tych nie mo偶na zaliczy膰 do rootkit贸w i wi臋kszo艣膰 badaczy nie okre艣li艂oby ich jako takie. Je艣li przyjmiemy, 偶e rootkit to program, kt贸ry obchodzi mechanizmy bezpiecze艅stwa system贸w operacyjnych i ukrywa w艂asn膮 aktywno艣膰, opisane ni偶ej szkodliwe oprogramowanie z pewno艣ci膮 znajduje si臋 na granicy klasyfikacji.

Po pierwsze, istnieje szkodliwe oprogramowanie, kt贸re ukrywa si臋 w systemie operacyjnym, jednak w "uczciwy" spos贸b: takie programy ani nie modyfikuj膮 systemu, ani nie obchodz膮 wbudowanych zabezpiecze艅. Na przyk艂ad, istniej膮 szkodliwe programy, kt贸rych cia艂a s膮 zlokalizowane w strumieniach katalogowych lub plikowych. Istniej膮 te偶 programy, kt贸re wykorzystuj膮 udokumentowane funkcje systemowe w celu zainstalowania mechanizm贸w przechwytywania zdarze艅. Programy te nie s膮 klasyfikowane jako rootkity, mimo 偶e w pewien spos贸b ukrywaj膮 si臋.

Po drugie, istniej膮 programy, kt贸re osi膮gaj膮 niewidzialno艣膰 dzi臋ki swojej wewn臋trznej architekturze, np. robak CodeRed, kt贸ry ani nie tworzy plik贸w na dysku, ani 偶adnych proces贸w w pami臋ci.

Po trzecie, istniej膮 wyrafinowane techniki wprowadzania w b艂膮d systemu operacyjnego. Szkodliwe oprogramowanie mo偶e wykorzystywa膰 je nie do ukrywania 艣lad贸w swojej aktywno艣ci, ale w celu "zagrzebania si臋" w systemie lub obej艣cia rozwi膮za艅 antywirusowych.

Rootkity - kilka my艣li podsumowuj膮cych

Wymienione wy偶ej przypadki “graniczne" sk艂aniaj膮 do wniosku, 偶e nie istnieje co艣 takiego jak szkodliwy rootkit, a raczej wiele technik ukrywania si臋 wykorzystywanych w celu obej艣cia ochrony systemu oraz ukrycia program贸w w systemie. Jak ka偶da inna pot臋偶na technologia, techniki te mog膮 zosta膰 u偶yte z r贸wn膮 skuteczno艣ci膮 zar贸wno w dobrym jak i z艂ym celu. Na przyk艂ad proaktywne narz臋dzia do zwalczania rootkit贸w zwalczaj膮 ogie艅 za pomoc膮 ognia, wykorzystuj膮c te same podej艣cia co rootkity, takie jak przechwytywanie funkcji systemowych itd.

Wszystkie z tych technik mo偶na w mniejszym lub wi臋kszym stopniu zaklasyfikowa膰 jako rootkity. Okre艣lenie, czym dok艂adnie jest rootkit, oznacza albo zastosowanie powszechnie przyj臋tej definicji, albo przyj臋cie autorytarnej opinii mniejszo艣ci, tj. ekspert贸w.

Po co wi臋c potrzebna jest dok艂adna definicja? Bez niej istnieje niebezpiecze艅stwo, 偶e b臋dziemy wdawali si臋 w werbalne utarczki dotycz膮ce bardziej lub mniej granicznych przypadk贸w, takich jak incydenty, w kt贸rych w r贸偶nych produktach wykrywane s膮 tak zwane rootkity. Istotne jest, aby szczeg贸艂owo przeanalizowa膰 kod i techniki w ka偶dym przypadku zamiast po prostu klasyfikowa膰 dan膮 technik臋 jako rootkit, siej膮c postrach i robi膮c du偶o ha艂asu wok贸艂 incydentu.

Na przyk艂ad tak zwany rootkit (www.pcworld.com, kt贸ry zosta艂 zidentyfikowany w oprogramowaniu Kaspersky Anti-Virus. Technika wykorzystana w tym produkcie, kt贸ra zosta艂a uznana za naruszenie bezpiecze艅stwa, polega艂a na umieszczeniu informacji o us艂udze w strumieniach systemu plik贸w, tj. przechowywaniu danych w obszarach systemu plik贸w, kt贸rych nie mo偶na bezpo艣rednio monitorowa膰.

Czy technika ta stanowi obej艣cie systemu operacyjnego? Nie - strumienie to udokumentowana funkcja systemu operacyjnego. Czy ukrywanie danych w tych strumieniach mo偶na uzna膰 za szkodliwe dzia艂anie? Nie, w tym przypadku ukrywane s膮 tylko informacje o us艂udze. Czy technika ta stanowi luk臋 w zabezpieczeniach, tj. czy mo偶e by膰 u偶yta w szkodliwym celu? Nie, szkodliwy u偶ytkownik m贸g艂by wykorzysta膰 strumienie tylko w celu ukrycia szkodliwego kodu (technika ta zosta艂a ju偶 zaimplementowana w wielu szkodliwych programach), jest to jednak luka w zabezpieczeniu systemu operacyjnego, nie w aplikacji. A zatem... gdzie jest rootkit? Na pewno nie w programie Kaspersky Anti-Virus, ani w 偶adnym innym produkcie, w kt贸rym luk臋 w zabezpieczeniach systemu mo偶na pomyli膰 z luk膮 w zabezpieczeniu aplikacji.

Incydent z Sony DRM to troch臋 inna sprawa. Techniki wykorzystywane w zabezpieczeniu przed kopiowaniem stworzy艂y luk臋 w takim sensie, 偶e pozwala艂y szkodliwym u偶ytkownikom nazwa膰 swoje szkodliwe oprogramowanie w taki spos贸b, aby by艂o niewidoczne. Obecnie wiemy o kilku szkodliwych programach, kt贸re wykorzystuj膮 t膮 luk臋, jednak uczciwie m贸wi膮c, szkodliwe oprogramowanie pojawi艂o si臋 ju偶 po tym, jak wykryto i przeanalizowano t臋 luk臋.

Poni偶szy wykres pokazuje przebieg zdarze艅 od momentu pojawienia si臋 prekursor贸w rootkit贸w, poprzez badania, pojawienie si臋 rootkit贸w na wolno艣ci oraz powsta艂y w zwi膮zku z tym szum w spo艂eczno艣ci bezpiecze艅stwa IT.

Kliknij, aby powi臋kszy膰 
Rootkity na przestrzeni czasu (kliknij, aby powi臋kszy膰)

Wniosek

Og贸lnie mo偶na powiedzie膰, 偶e ewolucja rootkit贸w przebiega艂a podobnie do ewolucji program贸w spyware. Najpierw, rootkity zosta艂y zidentyfikowane jako oddzielna klasa szkodliwego oprogramowania. Nast臋pnie powsta艂 du偶y szum medialny, kt贸ry przyczyni艂 si臋 do powstania ogromnej liczby narz臋dzi i produkt贸w do zwalczania rootkit贸w oraz zauwa偶alnej reakcji ze strony bran偶y antywirusowej. Obecnie zar贸wno rootkity, jak oprogramowanie spyware w艂膮czy艂y si臋 w g艂贸wny nurt szkodliwego oprogramowania i nie wzbudzaj膮 ju偶 tak du偶ych emocji. Jednak koncepcja obchodzenia funkcji systemowych w celu ukrycia czego艣 nadal jest wykorzystywana i z pewno艣ci膮 pojawi膮 si臋 zagro偶enia implementuj膮ce techniki ukrywania si臋.

呕r贸d艂o:
Kaspersky Lab