Ispitivanje sposobnosti detekcije zaštitnih aplikacija

U poglavlju 4 opisana je metodologija testiranja i operacijski sustavi – gosti koji se koriste prilikom testiranja. U ovom poglavlju opisan je antivirusni i zaštitni softver i ispitana su svojstva prevencije i detekcije tog softvera na uzorku najpoznatijih alata za prikrivanje prisutnosti napadača koji djeluju u korisničkom načinu rada.

U sljedećoj tablici naveden je korišteni zaštitni softver i sposobnosti i specifičnosti tog softvera:

Popis ispitanih zaštitnih aplikacija
  AKR 2.007 AVG 8.0b100 FREE F-SECURE BLACKLIGHT GMER CATCHME GMER KASPERSKY ANTIVIRUS 8.0 NIAP ANTIROOTKIT
ANTIVIRUSNA KOMPONENTA Ne Da Ne* Ne Ne** Da Ne
PROAKTIVNA KOMPONENTA Da Da Ne* Ne Ne Da Ne
ANTIROOTKIT KOMPONENTA Da Ne Da Da Da Ne Da
ANTIKEYLOGGER KOMPONENTA Da Ne Ne Ne DaNe*** Ne Ne
VLASTITA LISTA PROCESA I/ILI UPRAVLJAČKIH PROGRAMA Da Ne Da Da Da Ne Da
LISTA WINDOWS SERVISA Ne Ne Ne Da Da Ne Ne
DETEKCIJA (PRIKAZ) MODIFIKACIJA SUSTAVSKOG REGISTRA Ne Ne Ne Da Da Ne Da***
LISTA "OTETIH" SISTEMSKIH I/ILI API POZIVA Da Ne Ne Da Da Ne Da
LISTA NTFS ADS TOKOVA Da Ne Ne Ne Da Ne Ne

 

Nastavak tablice
  USEC RADIX ROOTKIT REVEALER
ANTIVIRUSNA KOMPONENTA Ne Ne
PROAKTIVNA KOMPONENTA Ne Ne
ANTIROOTKIT KOMPONENTA Da Da
ANTIKEYLOGGER KOMPONENTA Ne Ne
VLASTITA LISTA PROCESA I/ILI UPRAVLJAČKIH PROGRAMA Da Ne
LISTA WINDOWS SERVISA Da Ne
DETEKCIJA (PRIKAZ) MODIFIKACIJA SUSTAVSKOG REGISTRA Da Da
LISTA "OTETIH" SISTEMSKIH I/ILI API POZIVA Da Ne
LISTA NTFS ADS TOKOVA Da Ne

Komentari:

* - F-Secure BlackLight se može preuzeti kao Client Security koji ima antivirusnu i proaktivnu komponentu.

** - GMER se može konfigurirati tako da mu antivirusnu komponentu predstavlja neki besplatni web antivirusni program.

*** - Iako nema mogućnost direktnog otkrivanja keylogger aplikacija, promatrajući rezultate kompletnog pregleda sustava moguće je ponekad uočiti takvu aktivnost.

**** - Vrlo nestabilna funkcionalnost.

U gornjoj tablici nalazi se i antivirusni softver i specijalizirani softver za otkrivanje alata za prikrivanje prisutnosti napadača. Budući da te dvije vrste softvera nisu usporedive po funkcionalnostima koje se u ovom radu zahtjevaju, rezultati testiranja će se vrednovati različito, ovisno o tome da li je riječ o antivirusnom softveru ili "antirootkit" aplikaciji.

Uz klasifikaciju zaštitnog softvera, u sljedećoj tablici načinjena je i klasifikacija alata za prikrivanje prisutnosti napadača u korisničkom načinu rada s obzirom na svojstva i funkcionalnost.

 

Popis testiranih rootkita i njihovih funkcionalnosti
  HACKER DEFENDER NTIllusion Vanquish Naive - Improved Naive - Logger
VRSTA memorijski postojani memorijski postojani memorijski postojani (DLL umetanje) memorijski nepostojani memorijski nepostojani
PRIVILEGIJE administratorske/power user korisničke administratorske korisničke korisničke
NAČIN RADA korisnički + jezgreni (upravljački program) korisnički korisnički korisnički korisnički
SKRIVANJE PROCESA Da Da Ne Da Da
SAKRIVANJE DATOTEKA/DIREKTORIJA Da Da Da Ne Ne
SKRIVANJE KLJUČEVA U SUSTAVSKOM REGISTRU Da Da Da Ne Ne
SKRIVANJE SERVISA Da Ne Da Ne Ne
SKRIVANJE MREŽNOG PROMETA Da Da Ne Ne Ne
SKRIVANJE MODULA I OSTALIH OBJEKATA SUSTAVA Da Da Ne Ne Ne
UPOTREBA ADS TOKOVA Ne Ne Ne Ne Ne
PRESRETANJE UNOSA S TIPKOVNICE Ne Ne Ne Ne Da
PRIKUPLJANJE LOZINKI ZA PRIJAVU NA SUSTAV Ne Da Da Ne Ne
PRISTUP S MREŽE Da Da Ne Ne Ne
PROGRAMSKI JEZIK Delphi + C + asm C C C/C++ C/C++

 

Nastavak prethodne tablice
  IATmethod
VRSTA memorijski nepostojani
PRIVILEGIJE korisničke
NAČIN RADA korisnički
SKRIVANJE PROCESA Da
SAKRIVANJE DATOTEKA/DIREKTORIJA Da
SKRIVANJE KLJUČEVA U SUSTAVSKOM REGISTRU Ne
SKRIVANJE SERVISA Ne
SKRIVANJE MREŽNOG PROMETA Ne
SKRIVANJE MODULA I OSTALIH OBJEKATA SUSTAVA Ne
UPOTREBA ADS TOKOVA Ne
PRESRETANJE UNOSA S TIPKOVNICE Ne
PRIKUPLJANJE LOZINKI ZA PRIJAVU NA SUSTAV Ne
PRISTUP S MREŽE Ne
PROGRAMSKI JEZIK C/C++

Pri odabiru alata nastojalo se prije svega uključiti alate koji funkcioniraju u korisničkom načinu rada. Budući da takvi alati nisu toliko česti kao oni koji djeluju u jezgrinom načinu rada, izbor je pao na 4 alata za prikrivanje prisutnosti napadača. Od ta 4 alata, 3 su navedena u tablici, a samo AFX 2005 Rootkit nije uvršten jer je pokazao iznimne nestabilnosti pri radu i nikakva mjerenja nisu mogla biti izvršena. Odstupanje od isključivo korisničkog načina rada predstavlja Hacker Defender rootkit koji koristi upravljački program. Ipak, same tehnike koje upotrebljava gotovo se u potpunosti oslanjaju na korisničku razinu te je zbog toga svrstan u dolje navedenu skupinu. Testiranje je bilo izvršeno tako da se na čisti sustav ugradio zloćudni alat, izvršila su se ispitivanja i analizirali rezultati, a potom je sustav bio vraćen na inicijalno stanje. Zbog potrebe testiranja, svi su alati bili ugrađeni u sustav korištenjem administratorskog računa (jer sigurnosni alati zahtjevaju uglavnom administratorske privilegije), no iz tablice je vidljivo da ne zahtjevaju svi alati nužno administratorske privilegije.

Svi alati (osim onih koji su opisani u ovom radu) preuzeti su sa stranice [25Rootkit.com].

Prilikom provođenja testiranja ukazala se potreba za vrednovanjem i ocjenjivanjem uspješnosti pojedinih zaštitnih aplikacija u pogledu otkrivanja zloćudnih aktivnosti i eventualnog ispravljanja zloćudnih modifikacija. Problem ocjenjivanja pokazao se vrlo složen zbog velikih razlika u funkcionalnostima aplikacija i iz činjenice da su aplikacije pokazale drastične razlike u sposobnostima otkrivanja zloćudnih aktivnosti.

Zbog prostornih i vremenskih ograničenja prilikom testiranja i nastanka rada, stvorena je osnovna (a time i donekle neprecizna) shema ocjenjivanja uspješnosti pojedinih aplikacija prikazana na slici:

Shema ocjenjivanja zaštitnih aplikacija

Ocjenjivanje se vrši na temelju 6 kategorija prikazanih na slici pri čemu sve kategorije imaju jednaku težinu, osim zadnje kategorije (mogućnost ispravka modifikacija zloćudnih programa) koja ima nešto veću težinu jer je znatno teža za implementaciju od ostalih funkcionalnosti, a i za krajnjeg korisnika ima najveću važnost. Činjenicu da neka zaštitna aplikacija ima implementiranu neku od navedenih funkcionalnosti označavamo obojanom zvjezdicom ispod dotične kategorije. Kada je neka funkcionalnost samo djelomice implementirana (ili pokazuje nestabilnosti), tada je zvjezdica dopola popunjena.

Za antivirusne aplikacije morala se primijeniti druga metoda ocjenjivanja jer niti jedna antivirusna aplikacija koja je testirana nije imala vlastitu listu aktivnih procesa ili servisa i nije otkrivala skrivene datoteke, procese i ostale objekte. Iako antivirusne aplikacije imaju proaktivnu zaštitu, ona se ne odnosi na zloćudno ponašanje samih aplikacija, već na statičku detekciju zloćudnog kôda unutar nepokrenute datoteke, iz čega je jasno da se novi alati za prikrivanje prisutnosti napadača, kao i oni stari uz pametne i "agresivne" modifikacije kôda neće moći otkriti. Zbog toga je pri ocjenjivanju antivirusnih aplikacija korištena vrlo neprecizna i jednostavna metoda: ako aplikacija otkrije zloćudni kôd, dobiva "prolaznu ocjenu", a inače se smatra da nije zadovoljila na dotičnom testu. Kasnije će biti objašnjeno zašto su antivirusne aplikacije uopće uzete u obzir jer je to jedan od vrlo važnih zaključaka ovoga rada. Rezultati testiranja prikazani su u tablicama koje slijede.

Rezultati testiranja
  HACKERDEFENDER (hxdef) NTILLUSION VANQUISH NAIVE - IMPROVED
AKR 2.007 Ništa Tipkovnica Ništa Tipkovnica
AVG 8.00 b100 Da Da Da Ne
F-SECURE BLACKLIGHT Datoteke; Procesi Datoteke; Procesi Datoteke Ništa
GMER CATCHME Datoteke; Procesi; Registar Ne* Registar** Ništa
GMER Datoteke; Procesi; Registar; Antirootkit; Popravak Datoteke; Procesi; Registar; Antirootkit; Popravak Datoteke; Procesi; Registar; Antirootkit; Popravak Ništa
KASPERSKY ANTIVIRUS 8.0 Da Da Da Ne
NIAP ANTIROOTKIT Procesi; Antirootkit Ne*** Procesi; Antirootkit Ništa
USEC RADIX Datoteke; Procesi; Registar; Antirootkit; Popravak Ne**** Datoteke; Procesi; Registar; Antirootkit; Popravak Ništa
ROOTKIT REVEALER Datoteke; Registar Ništa Datoteke; Registar Ništa

 

Nastavak rezultata testiranja
  NAIVE LOGGER IATMETHOD
AKR 2.007 Tipkovnica Tipkovnica
AVG 8.00 b100 Ne Ne
F-SECURE BLACKLIGHT Ništa Datoteke
GMER CATCHME Ništa Ništa
GMER Ništa Antirootkit
KASPERSKY ANTIVIRUS 8.0 Ne Ne
NIAP ANTIROOTKIT Ništa Antirootkit
USEC RADIX Ništa Antirootkit; Popravak
ROOTKIT REVEALER Ništa Ništa

Komentari:

* - GMER Catchme kao i brojne druge aplikacije pokazale su izrazitu nestabilnost pri radu s NTIllusion alatom. To se pripisuje nestabilnosti samog alata, a ne njegovoj sposobnosti da izbjegne detekciju i odstranjivanje sa sustava. Oznaka u tablici označava da se GMER Catchme program nije uspio pokrenuti.

** - Pri detekciji skrivenih datoteka i direktorija došlo je do rušenja programa. Budući da se ovakvo rušenje dogodilo samo za GMER Catchme, može se pretpostaviti da je to greška alata, a ne Vanquish rootkita.

*** - Isto kao i pod *, iako se NIAP Antirootkit alat uspio privremeno pokrenuti no pokazao je iznimne nestabilnosti u radu.

**** - Isto kao i pod *.

***** - Detekcija svih elemenata koji su nabrojani na slici funkcionirala je besprijekorno, no pri pokušaju ispravljanja modifikacija koje je napravio Vanquish rootkit, pojavile su se nestabilnosti u radu i rušenje programa.

U tablicama su navedene ocjene pojedinih zaštitnih aplikacija pri otkrivanju zloćudnih aktivnosti. Vidljivo je da se sposobnosti detekcije uvelike razlikuju za različite aplikacije, pa čak i za istu aplikaciju pri otkrivanju različitih zloćudnih programa. Bitno je napomenuti da nisu dane konačne ocjene za pojedine aplikacije zbog teškoće vrednovanja sposobnosti detekcije – primjerice, iako je GMER Catchme bio vrlo uspješan pri detekciji Hacker Defender alata (otkrio je skrivene datoteke, skrivene procese i modifikacije registra), pri detekciji Vanquish alata otkrio je samo modifikacije registra, što se ne smatra zadovoljavajućim rezultatom. Zbog toga je vrlo teško dati jednoznačnu ocjenu nekom alatu i na temelju tih ocjena napraviti ljestvicu alata.

Iz tablica je jasno vidljivo da je Naive-Improved i NaiveLogger aplikacije detektirao samo jedan alat na testu – AKR 2.007 (koji je inače imao vrlo lošu detekciju i nalazi se na samom dnu testiranih alata). AKR 2.007 uspio je otkriti postavljanje Windows kuke i automatski je označio program kao zloćudan, točnije kao program s keylogger sposobnostima, što za Naive-Improved program nije točno. Alat je zloćudnu aktivnost otkrio dakle slučajno i zbog toga se takva detekcija ne smatra sasvim "pravilnom".

Nemogućnost detekcije Naive-Improved alata bila je donekle očekivana jer alat ne koristi nikakve napredne tehnike, ne skriva datoteke i procese na uobičajen način, ne presreće API funkcije i općenito se ne može karakterizirati kao "opasan", iako to nije sasvim točno (procesi su ipak donekle skriveni). Razlog za "zabrinutost" u ovom slučaju predstavlja globalna kuka koju postavlja Naive-Improved program i koju nije otkrila niti jedna druga aplikacija osim AKR 2.007. Globalne kuke same po sebi nisu opasne, no vrlo često su znak zloćudnih aktivnosti. Još veći razlog za zabrinutost predstavlja činjenica da niti jedna druga aplikacija nije otkrila keylogger aktivnost! Iako je istina da testirane aplikacije nisu specijalizirane za otkrivanje takve aktivnosti, zaista je čudno da niti jedna zaštitna aplikacija (osim već navedene koja je to otkrila relativno "slučajno") nije otkrila tako opasnu aktivnost kao što je presretanje unosa s tipkovnice. Metoda korištena u NaiveLogger aplikaciji nije nimalo sofisticirana i složena, radi se o najjednostavnijoj metodi presretanja unosa s tipkovnice koja se vrlo lako otkriva i time dodatno zabrinjava da niti jedna aplikacija nije otkrila aktivnost NaiveLogger programa. Ta je činjenica najbolji dokaz toga da pretjerana specijalizacija alata i koncentriranje na jedno područje može dovesti do potpunog zanemarivanja nekih drugih, "jednostavnih" i relativno lako uočljivih zloćudnih aktivnosti. Korisnik se zbog toga ne bi smio koncentrirati na jedan alat koji obavlja sve zadaće zaštite jer takav ne postoji, već bi trebao koristiti određeni skup zaštitnih aplikacija.

Od testiranih alata svakako treba izdvojiti dva: GMER i USEC RADIX. Iako je GMER namijenjen otkrivanju alata koji djeluju u jezgrinom načinu rada, zanimljivo je da je pokazao znatno bolje rezultate negoverzija Catchme koja je specijalizirana za korisnički način rada. Program je bio vrlo uspješan u otkrivanju svih zloćudnih aktivnosti, osim skrivanja procesa u IATMethod aplikaciji, uz obilan ispis modifikacija, mogućnost zaustavljanja skrivenih procesa, preimenovanja ili brisanja skrivenih datoteka, popravljanja izmjenjenih API funkcija i brojnih drugih mogućnosti. Slična svojstva ima i USEC RADIX aplikacija koja je doduše pokazala nestabilnosti pri otkrivanju aktivnosti NTIllusion alata (što se pripisuje greškama u samom NTIllusion alatu), ali je zato otkrila modifikacije u Windows Explorer aplikaciji koje je načinila IATMethod aplikacija i uspješno ih ispravila (nakon ispravljanja su datoteke i direktoriji ponovno bili vidljivi), što GMER alat nije uspio. Ta dva programa zasigurno su najbolje trenutno dostupne zaštitne aplikacije specijalizirane za otkrivanje alata za prikrivanje prisutnosti napadača.

U domeni antivirusnih aplikacija stvar je mnogo jednostavnija. Sve antivirusne aplikacije (testiranje je bilo izvršeno dodatno i sa Sophos Antivirus i Avast Antivirus aplikacijama, no zbog identičnih rezultata one nisu uvrštene u gornju tablicu) otkrile su sve "poznate" alate za prikrivanje prisutnosti napadača, no oni koji su izgrađeni u okviru ovog rada nisu otkriveni. Razlog tome je što se antivirusne aplikacije temelje na definicijama koje su u većoj ili manjoj mjeri statičke. Kada se u svijetu pojavi nova zloćudna aplikacija, autori antivirusnog softvera dodaju novu definiciju u svoj proizvod kako bi on mogao otkriti i tu novostvorenu opasnost. Osim definicija, antivirusne aplikacije koriste i heurističke metode koje bi trebale otkriti i još "neprijavljene" zloćudne programe, no i iz testiranja je sasvim očito da nisu sasvim uspješne u tome. Još veći razlog za zabrinutost proizlazi iz činjenice da se i modifikacijom kôda poznatog zloćudnog alata (ili korištenjem nekih naprednijih tehnika kao što su takozvani mutatori koji mijenjaju kôd aplikacije uz nepromijenjenu funkcionalnost) antivirusna aplikacija može vrlo lako "prevariti" i zaobići.

Poznavajući navike običnih korisnika koji koriste samo antivirusnu aplikaciju vjerujući da su u potpunosti sigurni od bilo kakvih "napada", jasno je da napadači nalaze vrlo plodno tlo za širenje svojih zloćudnih programa. Lažna sigurnost koju stvaraju antivirusne aplikacije vrlo je opasna i mnogo bi se pažnje trebalo posvetiti educiranju korisnika i naglašavanju važnosti ujednačenog korištenja osnovnog skupa zaštitnih aplikacija kojeg čine antivirusna aplikacija, zaštitna stijena, aplikacija za otkrivanje alata za prikrivanje prisutnosti napadača i (pomalo neočekivano) aplikacija za otkrivanje presretanja unosa s tipkovnice.

Uz testirane aplikacije treba dodatno spomenuti i Comodo Personal Firewall aplikaciju. Iako se radi o zaštitnoj stijeni, aplikacija ima proaktivnu zaštitu u obliku Defense+ aplikacije. Proaktivna zaštita pokazala se vrlo uspješnom u otkrivanju svih zloćudnih aktivnosti: ugradnja Windows kuka, pisanje po adresnom prostoru drugog procesa, stvaranje novih datoteka, ugradnja upravljačkog programa u slučaju Hacker Defender alata, kao i presretanje unosa s tipkovnice i otkrivanje brojnih drugih aktivnosti. Budući da je riječ o zaštitnoj stijeni, aplikacija nije uključena u testiranje jer ju je teško usporediti s testiranim aplikacijama, no riječ je o iznimno korisnoj i kvalitetnoj aplikaciji koja ima najbolju proaktivnu zaštitu od svih aplikacija na testu i svakako bi se, uz već navedene aplikacije GMER i USEC RADIX trebala naći u skupu nužnih zaštitnih alata.

Natrag na vrh