34
Rootkiti Jaša Bartelj Sandi Gec Nataša Hribar Miha Ilovar Peter Karlovšek

Rootkit - korenska orodja

  • Upload
    fri

  • View
    923

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Rootkit - korenska orodja

Rootkiti

Jaša Bartelj

Sandi Gec

Nataša Hribar

Miha Ilovar

Peter Karlovšek

Page 2: Rootkit - korenska orodja

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.

Page 3: Rootkit - korenska orodja

Kraji za skrivanje

Userspace (x86: ring > 0)

Kernelspace (x86: ring 0)

Nižje, izraba strojnih razširitev (x86: ring < 0)Virtualizacija

Intel SMM

Page 4: Rootkit - korenska orodja

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

Page 5: Rootkit - korenska orodja

Programi za odkrivanje korenskih orodij na UNIX sistemih

Chkrootkit & Rkhunter

Page 6: Rootkit - korenska orodja

Primerjava

• Detekcija parazit rootkita

• Napačna zaznava (false positive)

Page 7: Rootkit - korenska orodja

Parazit rootkit

Page 8: Rootkit - korenska orodja

Chkrootkit & Rkhunter

• Bash skripta

• Chkrootkit– Namestitev:

– Zagon:

– Namestitev:

– Zagon:

Page 9: Rootkit - korenska orodja

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

Page 10: Rootkit - korenska orodja

Chkrootkit

• Preverjanje datoteke zgodovine konzole (~/.bash_history)

• Preverjanje določenih omrežnih vrat

Page 11: Rootkit - korenska orodja

Chkrootkit – parazit test

Page 12: Rootkit - korenska orodja

Chkrootkit – napačna zaznava

Izvorna koda

Konzola

Detekcija

Page 13: Rootkit - korenska orodja

Rkhunter

• Shrani specifične lastnosti in metapodatke sistemskih datotek

• Zgoščevalna funkcija

• Velikost

• Čas spremembe

• Inode

• Ob vsakem naslednjem zagonu primerjava vrednosti

Page 14: Rootkit - korenska orodja

Rkhunter – parazit test

Page 15: Rootkit - korenska orodja

Rkhunter– napačna zaznavaIzvorna koda:

Konzola:

Detekcija:

Page 16: Rootkit - korenska orodja

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

Page 17: Rootkit - korenska orodja

Windows API plasti

Page 18: Rootkit - korenska orodja

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

Page 19: Rootkit - korenska orodja

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

Page 20: Rootkit - korenska orodja

RootkitRevealer - rezultat skeniranja

Page 21: Rootkit - korenska orodja

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

Page 22: Rootkit - korenska orodja

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

Page 23: Rootkit - korenska orodja

HijackThis poročilo

Page 24: Rootkit - korenska orodja

Sony Rootkit

Page 25: Rootkit - korenska orodja

Primer – Sony RootkitLeta 2005 je Mark Russinovich ob testiranju programaRootkitRevealer odkril sumljivo stanje na svojem računalniku.

Page 26: Rootkit - korenska orodja

Primer – Sony Rootkit

LiveKd tabela storitev System call hooking?LiveKd - orodje za analiziranje sistema z uporabo Microsoft kernel debugger-ja.

Page 27: Rootkit - korenska orodja

Primer

Analiza driverja Aries.sys z disassebler-jem IDA Pro.

Del kode poskrbi za skrivanje objektov, katerih ime se začne z "$sys$".

Page 28: Rootkit - korenska orodja

Primer

Z aplikacijo Sigcheck je

preveril podpise in

podatke o datotekah.

Page 29: Rootkit - korenska orodja

Primer

Povezavo med predvajalnikom skladb in skritim procesom, je potrdil s programom File Monitor (named pipes).

Page 30: Rootkit - korenska orodja

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.

Page 31: Rootkit - korenska orodja

CarrierIQ (CIQ)

• je aplikacija podjetja Carrier IQ Inc

• aplikacija deluje na mobilnih napravah

• poslužujejo se ponudniki mobilnih storitev (Verizon, Sprint itd.)

Uporabniškivmesnik:

Page 32: Rootkit - korenska orodja

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

Page 33: Rootkit - korenska orodja

CarrierIQ (CIQ) == ROOTKIT

Page 34: Rootkit - korenska orodja

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.