Rootkits Miha Pihler MCSA MCSE MCT CISSP Microsoft










































- Slides: 42
Rootkits Miha Pihler, MCSA, MCSE, MCT, CISSP, Microsoft MVP – Windows Security S&T Slovenija d. d. miha. pihler@snt. si b-mihap@microsoft. com TEŽAVNOST: 400
Microsoft MVP – Windows Security Svetovalec za varnost Slo. WUG Community Lead www. slowug. org Gradivo, ki ste ga prejeli je na voljo tudi na www. krneki. net/rootkits Novejša različica; tudi PPT TEŽAVNOST: 400
Agenda Uvod Način okužbe Delovanje in skrivanje rootkitov Odkrivanje in odstranjevanje rootkitov Zaščita pred rootkiti Zaključek TEŽAVNOST: 400
Uvod Virusi Črvi Spyware Rootkiti. . . V preteklosti je bil motiv pogosto zabava Trenutno je vedno večji motiv denar Vedno več napadov je naročenih TEŽAVNOST: 400
Uvod Spremenil se je način razvoja operacijskih sistemov in aplikacij Spremenile so se navade uporabnikov Nameščanje popravkov. . . TEŽAVNOST: 400
Agenda Uvod Način okužbe Delovanje in skrivanje rootkitov Odkrivanje in odstranjevanje rootkitov Zaščita pred rootkiti Zaključek TEŽAVNOST: 400
Način okužbe z rootkiti Programska oprema Sonny DRM “rootkit” $sys$. . . Symantec “rootkit” Strojna oprema BIOS (zaenkrat še večino “proof of concept”) i. POD-i okuženi z virusom TEŽAVNOST: 400
Način okužbe z rootkiti Napake v aplikacijah in operacijskih sistemih Črvi Blaster Virusi Apple Servisi, ki tečejo s sistemskimi pravicami TEŽAVNOST: 400
Način okužbe z rootkiti (nad. ) Socialni inženiring Fizični dostop do opreme “ERD Commander” – Microsoft Windows OS “Break Sequence” – Usmerjevalniki, IDS, . . “Single User Mode” – Linux, MAC OS X, . . . TEŽAVNOST: 400
Agenda Uvod Način okužbe Delovanje in skrivanje rootkitov Odkrivanje in odstranjevanje rootkitov Zaščita pred rootkiti Zaključek TEŽAVNOST: 400
Delovanje in skrivanje rootkitov x 86 Intel Windows Linux Obroč 0 Kernel Mode Obroč 0 User Mode Obroč 3 TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Komunikacija med obročem 3 in 0 Gonilniki API klici in pravica Se. Debug Win. DBG TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Jedrni način delovanja (Kernel Mode) Rootkit, ki teče kot del jedra ima dostop do celotnega sistema! “Kernel Hooks” “DLL injections” “Runtime patching” DKOM (Direct Kernel Object Manipulation) TEŽAVNOST: 400
Delovanje in skrivanje rootkitov “Kernel Hooks” SSDT (System Serivce Dispatch Table) Namen kljuk (“hooks”) je, da prestrežejo sistemske klice na določene funkcije (npr. “Zw. Query. System. Information”) Rootkit implementira svojo “Zw. Query. System. Information” funkcijo Rootkit popravi naslovni prostor funkcije, da ta po novem kaže na funkcijo, ki jo implementira sam Sedaj lahko filtrira vse odgovore op. sistema TEŽAVNOST: 400
Delovanje in skrivanje rootkitov “DLL Injections” Rootkit doda dvoj DLL v App. Int_DLL del registra Ko aplikacija uporabi User 32. dll naloži tudi rootkit Rootkit s tem dobi dostop do vsega kamor ima dostop aplikacija Zaupne informacije? Create. Remote. Thread TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Runtime patching Poiščemo funkcijo in jo zamenjamo z lastno Spodnja navodila so za “Se. Access. Check” 55 8 B PUSH MOV EA AA EC AA 53 33 PUSH XOR AA AA DB 38 5 D 24 90 90 NOP CMP 08 FAR JMP TEŽAVNOST: 400 00
Delovanje in skrivanje rootkitov Runtime patching FAR JMP Rootkit Funkcija programa Odstranjene f. FAR JMP Prednost rootkita (rootkit Mig. Bot): Ko je spremenil program ne rabi več teči na računalniku TEŽAVNOST: 400
Delovanje in skrivanje rootkitov “DKOM” Spreminjanje žetonov (token) procesom Primer rootkita: FU in FUTU TEŽAVNOST: 400
Demo FU TEŽAVNOST: 400
Demo Hacker defender TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Jedrni način delovanja (Kernel Mode) V tem načinu delovanja se rootkiti lahko skrijejo na veliko načinov Skrivanje procesov Skrivanje datotečnega sistema Skrivanje registrov Skrivanje TCP/UDP vrat Jih je težko odkrivati Ni jih enostavno pisati Zahteva intimno poznavanje jedra TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Omrežja Rootkit v jedrnem načinu Ima jo dostop do NDIS Si lahko dodelijo svoj MAC naslov Si lahko dodelijo svoj IP naslov Se lahko izognejo osebnemu požarnemu zidu Tipični primer rootkita je “Deep. Door” in RK_44 TDI : NDIS “raw sockets” Rootkit lahko šifrira svoj promet in se tako skriva pred IDS, IPS, . . . TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Uporabniški način delovanja (User Mode) Imajo dostop do vseh uporabniških podatkov Gesla Spletni naslovi Številke kreditnih kartic “Plug-ins” za IE, Firefox, . . . 2 faktorska prijava Jih je lažje pisati pa tudi odkrivati TEŽAVNOST: 400
Delovanje in skrivanje rootkitov Rootkiti se lahko skrivajo tudi v strojni opremi BIOS (zaenkrat predvsem kot “proof of concept”) Izredno zahtevno pisanje in odkrivanje Zahteva intimno poznavanje strojne opreme Nimamo mehanizmov za odkrivanje Programi proti zlonamerni kodi ne znajo skenirati naprav ; -) TEŽAVNOST: 400
Agenda Uvod Način okužbe Delovanje in skrivanje rootkitov Odkrivanje in odstranjevanje rootkitov Zaščita pred rootkiti Zaključek TEŽAVNOST: 400
Odkrivanje in odstranjevanje rootkitov Za odkrivanje lahko uporabimo orodja kot so: Rootkit. Revealer (RKR) Black. Light Ice. Sword Windows Debugger (Win. DBG). . . Vsak od omenjenih ima prednosti in slabosti TEŽAVNOST: 400
Odkrivanje in odstranjevanje rootkitov (nad. ) Kako deluje RKR Rootkit API Datotečni sistem TEŽAVNOST: 400
Demo RKR TEŽAVNOST: 400
Odkrivanje in odstranjevanje rootkitov Rootkiti se prilagajajo na programe za odkrivanje zlonamerne kode Se znajo skriti pred programi Jih znajo “napasti” in onemogočiti Tudi protivirusno zaščito Igra “kdo bo prvi” Rootkiti imajo prednost. . . TEŽAVNOST: 400
Odkrivanje in odstranjevanje rootkitov “Offline” analiza Trdi disk Primerjava datotek v “online” in “offline” načinu Rootkit ima lahko svoje datoteke na trdem disku šifrirane; lahko imamo težave pri odkrivanju teh tudi v “offline” načinu Drugi načini skrivanja (npr. “ADS”) TEŽAVNOST: 400
Odkrivanje in odstranjevanje rootkitov Kako vemo, da smo odkrili vso zlonamerno kodo na okuženem sistemu? Najboljši (in priporočen) način za odstranjevanje je ponovna namestitev operacijskega sistema Če smo imeli “srečo” in smo dobili rootkit, ki se skriva v strojni opremi, ponovna namestitev ne bo pomagala. . . TEŽAVNOST: 400
Odkrivanje in odstranjevanje rootkitov Priporočila ko sumite, da ste okuženi Preverite sistem z več programi za odkrivanje rootkitov Odstranite vse datoteke, ki so jih programi zaznali Ponovno zaženite sistem in preverite ponovno Preverite podpise vseh sistemskih datotek Ne samo. exe, . bat, . com, . . . Orodje, ki ga lahko uporabite je sigverif TEŽAVNOST: 400
Agenda Uvod Način okužbe Delovanje in skrivanje rootkitov Odkrivanje in odstranjevanje rootkitov Zaščita pred rootkiti Zaključek TEŽAVNOST: 400
Zaščita pred rootkiti Zaščita v globino (“Defense in depth”)! Preventiva Bodite previdne katero kodo poganjate na svojem računalniku! Programi (tudi popravki) naj bodo iz zanesljivega vira in naj bodo podpisani 64 -bit Windows Vista in Longorn TEŽAVNOST: 400
Zaščita pred rootkiti (nad. ) Nameščeni popravki za aplikacije in operacijske sisteme Vse aplikacije, vsi operacijski sistemi, vse druge napreve (usmerjevalniki, stikala) Nameščena programska oprema za odkrivanje zlonamerne kode Protivirusni programi Učinkovita samo: če so nameščeni tudi popravki zadnje definicije TEŽAVNOST: 400
Zaščita pred rootkiti (nad. ) Omejen nabor pravic Rootkiti, ki delujejo v jedrnem načinu potrebujejo skrbniški dostop za namestitev Ostale rootkite omejen nabor pravic ne bo motil Rootkiti, ki lahko delujejo v uporabniškem načinu! TPM (Trusted Platform Module) Windows Vista – TPM + Bit. Locker TEŽAVNOST: 400
Agenda Uvod Način okužbe Delovanje in skrivanje rootkitov Odkrivanje in odstranjevanje rootkitov Zaščita pred rootkiti Zaključek TEŽAVNOST: 400
Zaključek Vedno bolj pogosto bomo srečevali rootkite; tudi v vsakdanjem življenju Vedno več naprav je priključenih na internet Kriminalne združbe dobro služijo s krajo podatkov Ponujajo veliko denarja za neodkrite napake v operacijskih sistemih in aplikacijah Prodajajo informacije kot so številke kreditnih kartic TEŽAVNOST: 400
Zaključek (nad. ) Pogoste izjave v medijih V naše omrežje ni mogoče vdreti V naše omrežje še nihče ni vdrl “Can you prove it? ” TEŽAVNOST: 400
Q&A http: //www. slowug. org miha. pihler@snt. si b-mihap@microsoft. com TEŽAVNOST: 400
TEŽAVNOST: 400
TEŽAVNOST: 400