Rootkit – napad bez tragova
Problem koji hakeri imaju pri napadu na Internet servere je u tome što za sobom ostavljaju puno tragova. Da bi sprečili da ih lokalni administratori primete koriste specijalne pakete koji se nazivaju Rootkit. Postojanje Rootkita je generalno veliki problem za mreže, jer omogućava uljezima potpunu kontrolu, skoro bez ikakvih tragova. Zbog toga je ovoga puta naša tema: kako uočiti i kako otkloniti dejstvo Rootkita...
Postoji više načina na koji hakeri upadaju u računarske sisteme; to može biti ili pogađanje šifara ili korišćenje nekog od Exploita, slabosti operativnog sistema koji se napada. Svi ovi postupci ostavljaju tragove u dobro konfigurisanom sistemu, te ako i upad uspe, velika je verovatnoća da će ih administrator primetiti. Javljaju se čudni Log zapisi, sumnjivi procesi i mrežne konekcije koje nemaju veze sa standardnim radom sistema. Tada na sceni stupa Rootkit, sa zadatkom da ukloni ove tragove, ali i omogući napadaču bezbedan povratak u kompromitovani sistem.
Rootkit se tipično sastoji od network sniffera (prisluškivača), alata za čišćenje Log zapisa, zamenama za sistemske programe kao što su ps, netstat, ifconfig i killall. U paketu su i trojanizovane verzije Login demona, čime napadač ostaje neprimećen, ali i prima informacije o drugim korisničkim nalozima.
Opasnost od Rootkita
Ukratko rečeno, iako napadač prvo treba da provali u sistem, jednostavnost instalacije Rootkita i haos koji posle toga nastaje je velika opasnost za mreže i sistem administratore.
Dodatni problemi proističu iz jednostavnosti instalacije (zbog toga što Rootkit mogu da koriste i deca) i činjenice da Rootkitova ima za sve operativne sisteme.
Po pitanju podrivanje integriteta sistema postoje dva načina: stariji i manje opasni Rootkitovi tipično menjaju sisteme za detekciju upada i druge sigurnosne programe, dok moderniji i opasniji direktno manipulišu kernel zamenom sistemskih poziva kao što su open() i read().
T0rnkit
Primer starijeg i manje opasnog Rootkita je t0rnkit, koji se koristi na Unix i Linux sistemima. T0rnkit prilikom instalacije prvo gasi sistemski Log demon, syslogd. Zatim menja više sistemskih programa trojanizovanim verzijama, da bi dodao trojanizovani SSH demon. Programi koji su zamenjeni su: du (zauzeće diska), find (pronalaženje datoteka), ifconfig (konfiguracija mrežne karte), login (prijava na sistem), ls (lista datoteka), netstat (status mrežnih procesa), ps (status procesa) i top (lista procesa).
Ovo znači da i pri detaljnom pregledu sistema administrator nije u stanju da uoči problem, jer komande koje standardno koristi vraćaju falsifikovane rezultate, tako da sve izgleda uobičajeno.
T0rnkit pokreće “sniffer” u pozadini, uključuje Telnet, Rsh i Finger demone iz inetd servisa i pokreće syslogd. Sve ovo se dešava bez znanja administratora.
T0rnkit posle instalacije nije moguće pronaći, jer je sama komanda za listanje direktorijuma izmenjena (ls). U standardnom slučaju formira se Backdook na portu tcp/47017, za “root” (Super administrator) pristup sistemu.
Adore
Drugi često korišćeni, napredniji Rootkit je Adore, koji je dosta teže otkriti. To je zbog toga što se Adore integriše u sistem učitavanjem specijalno napisanog kernel modula (Loadable Kernel Module ili kraće: LKM). Primenom ove tehnike napadač stiče mogućnost da promeni rad sistemskih programa bez same izmene programa (što je lakše moguće otkriti). Kao primer može da posluži program ps koji koristi sistemski poziv open() da bi prikazao informacije o aktivnim programima, čitajući direktorijum /proc u kome se čuvaju podaci o aktivnim procesima.
Dobija se efekat jednak izmeni sistemskih datoteka, procesa i mrežnih konekcija. Adore na kernel nivou kontroliše sistemske upite tako da ne dozvoljava odziv po pitanju “tajni” napadača.
Adore i drugi LKM Rootkitovi rade samo u slučaju kada je kernel kompajliran tako da omogućava učitavanje dinamičkih kernel modula. Ako obrišete LKM module takvog Rootkita, vaš problem je rešen, naravno, ako ste uopšte uspeli da ga detektujete.
Ako ste pomislili da statičkim linkovanjem kernela onemogućite LKM Rootkitove, treba da znate da postoje još naprednije tehnike koje ne koriste LKM, već direktan upis u RAM memoriju (Linux /dev/kmem). U ovom slučaju administrator ne može da uradi skoro ništa, jer je upis u /dev/kmem sastavni deo kernela.
Zaštita
Polazna strategija zaštite je da pronađete neautorizovane izmene programa putem upoređivanja šifrovanih kontrolnih zbirova ključnih datoteka. Potrebno je da periodično upoređujete stare i nove kontrolne zbirove da biste uvideli promene. Ovo obavljaju programi kao što je Tripwire. (Napominjemo da u slučaju LKM Rootkitova Tripwire ne služi ničemu.)
Alternativa su programi tipa Check-ps, koji ne veruju sistemskim pozivima, već direktno ispituju kernel memoriju i prikazuju razlike u odnosu na možda-kompromitovane sistemske komande.
Ako mislite da imate Rootkit problem, prva stvar koju treba da uradite je da uporedite odziv komande “netstat –anlt” u odnosu na “nmap 127.0.0.1 –p 1-65535”. Ako primetite razliku u broju otvorenih portova – verovatno je da imate skriveni Backdoor u sistemu. (Suština ove analize je sledeća: netstat, prikaz mrežnih servisa može biti kompromitovan, za razliku od nmap programa, koji nije sastavni deo operativnog sistema.)
U tom slučaju trebalo bi da bootujete sistem sa CD-a i locirate izmenjene datoteke.
Prevencija
Jasno je da je najbolje za sve - da nemate instalirani Rootkit. Da biste to postigli, za početak treba da sprečite da vaš sistem postane žrtva “slučajnog” hakerskog napada, što postižete tako što redovno održavate svoj sistem po pitanju sistemskih zakrpa i upgradeova. Ne čineći ništa po ovom pitanju dramatično povećavate šanse da vaš sistem dobije “podstanara”.
Potrebno je i da ugasite sve nepotrebne sistemske procese i demone i instalirate Firewall, a za rane detekcije dobro dođe preusmeravanje Sysloga na poseban računar (Loghost).
Po pitanju prevencije, potrebno je da razmotrite i upotrebu NIDS sistema (Network Intrusion Detection System – mrežni sistemi za detekciju upada), kao što je snort, koji osim što vas obaveštava o napadu može i da efektivno blokira napad.
Budućnost
Niko ne zna kako će se tačno Rootkitovi dalje razvijati. Možemo da pretpostavimo da će se LKM zona razvijati tako da manipuliše i drugim delovima kernela, tako da spreče otkrivanje od strane programa tipa Check-ps.
Iako se danas najviše Rootkitova pravi za Linux servere, činjenica je da sve više servera na Internetu koriste Windows, te je za očekivanje i pojava poboljšanih Rootkitova za ove operativne sisteme.




del.icio.us
Digg
Twitter
Facebook
Pošaljite komentar