Upload
fri
View
923
Download
4
Embed Size (px)
Citation preview
Rootkiti
Jaša Bartelj
Sandi Gec
Nataša Hribar
Miha Ilovar
Peter Karlovšek
Kaj je rootkit? Program, ki skriva svoj obstoj pred operacijskim sistemom.
Proces, datoteka, direktorij, mrežna vrata, ključi registra,
gonilnike, jedrni modul
Uporaben za skrivanje drugih (zlonamernih) programov, npr.
snemalca tipk.
Kraji za skrivanje
Userspace (x86: ring > 0)
Kernelspace (x86: ring 0)
Nižje, izraba strojnih razširitev (x86: ring < 0)Virtualizacija
Intel SMM
Pristopi Zamenjava sistemskih programov
System HookingMenjavanje skočnega naslova v tabelah sistemskih klicev
Direct Kernel Object Manipulation (DKOM)
System Routine PatchingVrivanje skočnega ukaza v kodo
Filter DriversAbstraktni gonilniki, ki prestrezajo I/O promet
Loadable Kernel Modules
Jedrni moduli dodajajo skoraj poljubno funkcionalnost jedru
Hardware and Virtualization-based designsIzvajanje v zaščitenih strojnih načinih, BIOS-u, PCI napravah
Programi za odkrivanje korenskih orodij na UNIX sistemih
Chkrootkit & Rkhunter
Primerjava
• Detekcija parazit rootkita
• Napačna zaznava (false positive)
Parazit rootkit
Chkrootkit & Rkhunter
• Bash skripta
• Chkrootkit– Namestitev:
– Zagon:
•
– Namestitev:
– Zagon:
Chkrootkit & Rkhunter
• Skupni načini zaznave rootkitov
– Iskanje standardnih datotek za vsak posamezen rootkit
– Iskanje določenih nizov v binarnih datotekah
– Iskanje določenih nizov v konfiguracijskih datotekah
– Preverjanje zagnanih procesov
Chkrootkit
• Preverjanje datoteke zgodovine konzole (~/.bash_history)
• Preverjanje določenih omrežnih vrat
Chkrootkit – parazit test
Chkrootkit – napačna zaznava
Izvorna koda
Konzola
Detekcija
Rkhunter
• Shrani specifične lastnosti in metapodatke sistemskih datotek
• Zgoščevalna funkcija
• Velikost
• Čas spremembe
• Inode
• Ob vsakem naslednjem zagonu primerjava vrednosti
Rkhunter – parazit test
Rkhunter– napačna zaznavaIzvorna koda:
Konzola:
Detekcija:
Rootkiti na Windowsih
• Rootkite lahko uporabimo tudi v dobre namene
• protivirusni programi, da zaznajo zlobne programe,
• Programska oprema za virtualne CD/DVD pogone (Daemon Tools), da svoj obstoj skrijejo pred založniškim protipiratskim ukrepom (DRM)
• prav tako ti isti založniški zaščitniški programi (primer Sony-jev rootkit).
Windows API plasti
Orodja za detekcijo rootkitov naWindowsih - RootkitRevealer
• zazna razlike v vseh uporabniških ali jedrnihnačinih delovanja rootkitov
• ni namenjem odkrivanju rootkitov, kateri ne skrivajo datotek in registrskih ključev
• primerjava dveh skeniranj sistema
– skenira visoko plast - Winsows API
– skenira nizko plast - neobdelan datotečni sistem, registrski podatki
RootkitRevealer - rezultat skeniranja
• Skenira sistem na visoki in nizki plasti
• Naredi poročilo vseh razlik med skeniranjema
• primerjava podatkov, ki jih vrne podatkovna plast in objektov FAT ali NTFS datotečnegasistema
RootkitRevealer - rezultat skeniranja
HijackThis
• generira poglobljeno poročilo o registrih in nastavitvah datotek na sistemu
• ne deli na varne in nevarne nastavitve sistema -> pazljivost pri odstranjevanju
• vsebuje orodja za ročno odstranjevanje zlonamerne programske opreme
HijackThis delovanje
• skenira posebne dele v ragistru in na disku sistema,
• rezultate skeniranja primerja z privzetimi nastavitvami,
• nepravilnosti shrani v log datoteko
• log datoteko je težko analizirati
• spletna stan www.hijackthis.de --> pomaga analizirati rezultate
HijackThis poročilo
Sony Rootkit
Primer – Sony RootkitLeta 2005 je Mark Russinovich ob testiranju programaRootkitRevealer odkril sumljivo stanje na svojem računalniku.
Primer – Sony Rootkit
LiveKd tabela storitev System call hooking?LiveKd - orodje za analiziranje sistema z uporabo Microsoft kernel debugger-ja.
Primer
Analiza driverja Aries.sys z disassebler-jem IDA Pro.
Del kode poskrbi za skrivanje objektov, katerih ime se začne z "$sys$".
Primer
Z aplikacijo Sigcheck je
preveril podpise in
podatke o datotekah.
Primer
Povezavo med predvajalnikom skladb in skritim procesom, je potrdil s programom File Monitor (named pipes).
Primer
• Sony-jev rootkit sam po sebi ni škodljiv.
• Rootkit začele izkoriščati zlonamerne aplikacije (različica Breplibot-a na sistemskem direktoriju kreira datoteko "$sys$drv.exe").
• Rootkit izrabili igralci igre World of Warcraft za goljufanje.
CarrierIQ (CIQ)
• je aplikacija podjetja Carrier IQ Inc
• aplikacija deluje na mobilnih napravah
• poslužujejo se ponudniki mobilnih storitev (Verizon, Sprint itd.)
Uporabniškivmesnik:
CarrierIQ (CIQ)
• Kaj dela aplikacija?
– Carrier IQ omogoča beleženje poizvedb metrik z naprave. Primeri metrik: nabor aplikacij na napravi, geografska lokacija naprave, kaj končni uporabnik tipka po napravi (Keylogger),...
– Informacije se beležijo z metrikami v povezavi s sprožilci. Ko se pojavi sprožilec, se ta zabeleži in pošlje na strežnik v obliki podatka: metrika (+ dodatni podatki).
– Aplikacija je v resnici..
CarrierIQ (CIQ) == ROOTKIT
CarrierIQ (CIQ)• Primeri sprožilcev HTC proizvajalca:
• Key in HTCDialer Pressed or Keyboard Keys
pressed, App Opened, Sms Received
• Primeri sprožilcev Samsung proizvajalca:• screen tapped in any location, key pressed, HTTP
request read, HTTP request send
• Trenutno (maj 2012) je aplikacija nameščena na 147.900.000 napravah.