Ovo je stara izmjena dokumenta!
How do you write an abstract? Identify your purpose. You're writing about a correlation between lack of lunches in schools and poor grades. … Explain the problem at hand. Abstracts state the “problem” behind your work. … Explain your methods. … (Source) Save your work regularly!!! Describe your results (informative abstract only). … Abstract should be no longer that 400 words. Napomena: sadržaj na vrhu stranice generira se automatski na temelju naslova u dokumentu.
Keywords: rootkit; forenzika; malver;
Razvojem zlonamjernog softvera, napadači su sve više usmjereni na tehnike koje omogućuju dugotrajnu i neprimjetnu prisutnost unutar kompromitiranih sustava. Jedna od takvih tehnika jest uporaba rootkita – specijaliziranog softvera dizajniranog za prikrivanje aktivnosti napadača i zaobilaženje sigurnosnih mehanizama operativnog sustava. U kontekstu računalne forenzike, rootkiti su posebno problematični jer aktivno ometaju procese prikupljanja dokaza, skrivajući procese, datoteke, mrežne veze i zapise u memoriji. Time se narušava integritet forenzičke analize i otežava rekonstrukcija napada, identifikacija napadača te utvrđivanje opsega kompromitacije. Cilj ove stranice jest pružiti pregled osnovnih koncepata vezanih uz rootkite, njihovu klasifikaciju te metode njihove detekcije i uklanjanje.
Rootkit je prikrivena vrsta softvera, najčešće zlonamjerna, osmišljena za skrivanje prisutnosti sebe ili nekog drugog softvera i održavanje privilegiranog pristupa sustavu. Pojam rootkit složenica je od “root” tradicionalni naziv privilegiranog računa na Unix operativnim sustavima i riječi “kit” koja se odnosi na softverske komponente koje implantiraju alat. Rootkit nije samostalni vektor prijetnje, jer se ne koristi za pokretanje kibernetičkog napada, naprotiv to je vrsta nakon napadnog malvera osmišljenog za dugoročni, prikriveni pristup kompromitiranom sustavu. Napadači korist rootkit za podršku postojanosti, eskalaciji privilegija i nadzoru. Rootkiti manipuliraju ključnim komponentama operativnog sustava poput modula jezgre, bootloadera, ili firmvera kako bi sakrili datoteke, procese i mrežne veze od tradicionalnih alata za detekciju. Rootkiti nisu samo korišteni za zlonamjerne uporabe, također ih koriste firme i provoditelji zakona za nadzor zaposlenika što im omogućuje istraživanje uređaja i zaustavljanje mogućih kibernetičkih napada.
Rootkiti se klasificiraju prema komponentama sustava koje zaražavaju, od onih na najnižoj razini firmvera (najvišim privilegijama), do najmanje privilegiranih korisnički orijentiranih varijanti koje rade u prstenu 3 (Protection rings). Hibridne kombinacije mogu se pojaviti, na primjer, u korisničkom načinu rada i načinu rada jezgre. Mjesto na kojem rootkit napada obično određuje koliki pristup hakeri imaju, koliko štete mogu nanijeti zaraženim računalnim sustavima i koliko je lako otkriti i zaustaviti napade.
Ovaj tip rootkita radi s najvišim privilegijama operativnog sustava (Prsten 0) dodavanjem koda ili zamjenom dijelova jezgre. Većina operativnih sustava podržava upravljačke programe uređaja u jezgrenom načinu rada (device driver) koji se izvršavaju s istim privilegijama kao sami operativni sustavi, zbog toga većina rootkita razvijeni su kao upravljački programi uređaja (device driver). Ova vrsta rootkita ima neograničen sigurnosni pristup, ali ju je teže napisati. Složenost čini greške čestima, a svaka greška na razini jezgre može ozbiljno utjecati na stabilnost sustava, što olakšava otkrivanje. Ovaj tip rootkita može biti posebno težak za otkriti i ukloniti jer rade na istoj sigurnosnoj razini kao i operativni sustav, te su stoga u stanju presresti ili potkopati najpouzdanije operacije sustava. Bilo koji softver, poput antivirusni softver, koje se pokreće na kompromitiranom sustavu jednako je ranjiv, stoga niti jednom dijelu sustava se može vjerovati. Uobičajeno je da rootkit stvara skriveni, šifrirani datotečni sustav u kojem može sakriti drugi zlonamjerni softver ili originalne kopije datoteka koje je zarazio. Operativni sustavi se razvijaju kako bi se suprotstavili prijetnji rootkita u jezgrenom načinu rada. Na primjer, 64-bitna izdanja Microsoft Windowsa sada implementiraju obvezno potpisivanje svih upravljačkih programa na razini jezgre kako bi otežali izvršavanje nepouzdanog koda s najvišim privilegijama u sustavu.
Ovaj tip rootkita izvodi se u 3. prstenu sigurnosti s drugim korisničkim aplikacijama. Imaju niz mogućih vektora instalacije za presretanje i mijenjanje standardnog ponašanja sučelja za programiranje aplikacija (API). Neki ubrizgavaju dinamički povezane biblioteke (DLL) u druge procese i stoga se mogu izvršavati unutar bilo kojeg ciljnog procesa kako bi ga lažirali, drugi s dovoljnim privilegijama jednostavno prepisuju memoriju ciljne aplikacije. Neke od metoda ubrizgavanja su:
Bootkit je varijanta rootkita u jezgri operativnog sustava koja zarazi Master Boot Record(MBR), Volume Boot Record(VBR) ili boot sektor, što znači da se ne pojavljuje u korisnikovom datotečnom sustavu, to ga čini veoma teškim za detektirati s pomoću antivirusnih i antirootkit softverom. Ima mogućnost izmjene Boot zapisa što može uzrokovati štete pri uklanjanju. Ova vrsta rootkita može se koristiti za napad na sustave s punim šifriranjem cijelog diska. Primjer takvog napada je "evil maid attack" u zamišljenom scenariju čistačica instalira zlonamjerni rootkit preko USB-a u hotelskoj sobi gdje je žrtva ostavila svoju opremu.
Ovi rootkiti su u akademskim krugovima kao dokaz koncepta. Iskorištavanjem značajki virtualizacije hardvera kao što su Intel VT ili AMD-V, ova vrsta rootkita radi u -1 prstenu i izvršava ciljni operativni sustav kao virtualni stroj, omogućujući rootkitu presretanje hardverskih poziva koje upućuje izvorni operativni sustav. Za razliku od normalnih hipervizora, ne moraju se učitati prije operativnog sustava, već se mogu učitati u operativni sustav prije nego što ga promoviraju u virtualni stroj. Hipervizorski rootkit ne mora vršiti nikakve izmjene u jezgri kako bi ga subvertirao, to ne znači da ga gostujući operativni sustav ne može otkriti. Na primjer, vremenske razlike mogu se otkriti u procesorskim instrukcijama. Godine 2009. istraživači iz Microsofta i Državnog sveučilišta Sjeverne Karoline predstavili su anti-rootkit na hipervizorskoj razini pod nazivom Hooksafe, koji pruža generičku zaštitu od rootkita u jezgrenom načinu rada.
Firmver rootkit koristi firmver uređaja za stvaranje trajne slike softvera u hardveru kao što su router, mrežna kartica, tvrdi disk, BIOS. Velika opasnost ovog tipa rootkita jest detekcija, jer se integritet koda obično ne provjerava u firmveru, i brisanje. U ožujku 2009. istraživači Alfredo Ortega i Anibal Sacco objavili su detalje o rootkitu za windows na razini BIOS-a koji je uspio preživjeti zamjenu diska i ponovnu instalaciju operativnog sustava. Ova vrsta rootkita ne koristi se samo za zlonamjerne svrhe, već i za protuprovalnu zaštitu. Sandy Bridge i budući chipseti imaju hardverski rootkit ugrađen koji može pomoći u oporavku ukradenih računala, uklanjanje podatka i njihovom onesposobljavanju. sličnu ulogu ima i “Absolute Persistence Technology” koji je ugrađen u većina uređaja, kao što su Lenovo, Dell, HP, koja također služi za pratnju, oporavak, zaštitu uređaja čak i kada operativni sustav bude nanovo instaliran jer se samoobnavlja iz BIOS-a. Iako su ove tehnologije izmišljene u dobre svrhe, još uvijek predstavljaju problem sigurnosti i privatnosti jer omogućuje upravi ili nekoj trećoj strani koja iskorištava ranjivost neotkriveno špijuniranje i preusmjeravanje korisnika.
Memorijski rootkit skriva se u memoriji računala (RAM). Ovi rootkiti imaju kratak vijek trajanja obično nestaju kada se sustav ponovno pokrene, ali ponekad mogu zahtijevati dodatni rad za uklanjanje. Smanjuju performanse RAM-a računala trošeći resurse svojim zlonamjernim procesima i mogu obavljati izuzetno štetne aktivnosti u pozadini računala.
TODO…
Rootkit može biti izuzetno teško ukloniti, ali se može spriječiti zaraza računala na isti način kao i s drugim oblicima zlonamjernog softvera. Opasniji rootkiti zahtijevaju napadaču fizički pristup uređaju što za obične korisnike se rijetko događa, dok firme mogu se služiti van softverskim metodama kao ograničen pristup bitnoj infrastrukturi (npr server) ili koristeći hardverskog rootkita za nadzor prometa i aktivnosti na poslovnim uređajima. Među ostalog ispod su navedeni osnovni koraci koji mogu pomoći u sprječavanju zaraze:
Najpouzdanija i najučinkovitija metoda uklanjanja rootkita je formatiranje zaraženog tvrdog diska na niskoj razini s pomoću proizvođačevog softvera ili firmvera za tu svrhu i ponovno učitavanje operativnog sustava iz poznatih ispravnih sigurnosnih kopija. U slučajevima kada se sumnja na kompromitiranje računalnog firmvera, dodatni korak ponovnog ažuriranja svih BIOS firmvera s pomoću proizvođačevog kriptografsko potpisanog firmvera može biti nužna. Ako je to nepraktično, mogu se poduzeti koraci za pokušaj ručnog uklanjanja rootkita u dijelovima, no uspjeh nije garantiran. Ključ ručnog uklanjanja rootkita je točno i temeljito mapiranje svih njegovih funkcija, hookova i datoteka. Često će rootkit biti programiran da provjeri jesu li njegovi hookovi i datoteke netaknute i zamijeni ih ako su modificirane ili izbrisane. Kako bi se rootkit u potpunosti uklonio, sve njegove datoteke, hookovi i unosi u registar moraju se ukloniti dok je računalo ugašeno kako bi se spriječilo da rootkit otkrije promjene i poništi ih. Osim toga, sve upravljačke programe i datoteke ljuske koje je rootkit modificirao morat će se vratiti iz sigurnosne kopije jer su ključni za rad operativnog sustava i ne mogu se jednostavno izbrisati. Prilikom vraćanja oštećenih upravljačkih programa i datoteka ljuske bit će ključno osigurati da su iste verzije kao i original. Prije pokušaja uklanjanja, preporučljivo je promatrati rootkit u radu na kloniranom disku s pomoću naprednih alata za debugging, kao što su SoftICE i Ollydbg, koji prate gomilu, stog, registre, prepoznaju procedure, petlje, API pozive, sklopke, tablice, konstante i nizove znakova kako bi se osiguralo da su sve skrivene komponente otkrivene u najvećoj mogućoj mjeri. Međutim, mnogi rootkiti prate memorijski prostor u potrazi za poznatim programima za debugging i pokušat će zbuniti proces isključivanjem, krivotvorenjem podataka ili prekidanjem programa za debugging. Važno je prikupiti što više informacija prije pokušaja uklanjanja jer ako se propusti čak i jedna komponenta, rootkit i dalje može biti operativan i ponovno stvoriti izbrisane komponente ili ih preuzeti svježe sa svog kontrolnog poslužitelja. U slučaju MBR infekcije, MBR će trebati prebrisati čistom kopijom s pomoću programa kao fdisk, fixmb ili za Linux grub-install. Ako je rootkit pozitivno identificirao dobavljač antivirusnog programa, moguće je koristiti antivirusni softver tog dobavljača za automatsko uklanjanje nekih ili svih datoteka rootkita. Iz tog razloga, web-mjesta za skeniranje više antivirusnih programa bit će vrijedna u identificiranju koji dobavljač antivirusnih programa ima potpise za detekciju rootkita. Osim toga, mogu postojati informacije online ili dostupne izravno od dobavljača antivirusnih programa koje potpunije opisuju rad rootkita i točne upute za uklanjanje. Čak i ako nijedan dobavljač antivirusnih programa nema potpise za rootkit, i dalje može biti korisno pokrenuti antivirusno skeniranje koje uključuje dobru heurističku detekciju, kako bi se nadopunili drugi napori i osiguralo da ništa nije propušteno.
TODO…