rootkit - korenska orodja

Post on 13-Jul-2015

918 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related