Antivirus
Antivirusni program je danas jedan od najzastupljenijih sigurnosnih alata. Bilo da ga koristimo na kućnom računaru, serveru za e-poštu ili mobilnom telefonu, njegova osnovna namena je da raspozna zlonameran kod, spreči njegovo pokretanje i ukloni isti. Kada je reč o kućnoj upotrebi antivirusa, ne postoji veliki izbor gde ga možemo instalisati pa u tom slučaju dovoljno bi bilo da bude prisutan na svakom pojedinačnom računaru kako bi zaštita bila na pristojnom nivou. Okruženja poslovnog tipa su često dosta kompleksnija pa je samim tim i na raspolaganju više opcija za instalaciju ovog alata. Ovom temom ćemo se malo kasnije pozabaviti, a sad da se upoznamo sa antivirusom.
POTPIS (OTISAK) VIRUSA
Rekli smo da antivirus otkriva poznat zlonameran kod i sprečava ga da se izvrši na računaru. Na koji način? Najprostiji i najpopularniji način je korišćenjem otiska odnosno definicija virusa (eng. virus signature, virus definition). Proizvođači antivirusa prikupljaju razne vrste zlonamernog koda i uzimaju njihov otisak (eng. fingerprint). Od par hiljada takvih otisaka se zatim pravi kolekcija koja se šalje antivirusnom programu na korišćenje. Ovaj proces je poznat i kao ažuriranje virusnih definicija (eng. update).
Kada proverava fajlove u potrazi za virusima, antivirus ustvari upoređuje određeni fajl sa svojom kolekcijom otisaka i proverava da li se otisak podudara sa otiskom poznatog zlonamernog fajla. Donja slika prikazuje jedan delić fajla predstavljen u heksadecimalnom obliku, zajedno sa redosledom bajtova koji antivirusni može prepoznati kao otisak (potpis) koji pripada poznatom virusu.
Antivirusni programi mogu da otkriju otisak virusa u letu, odnosno dok korisnik pristupa fajlovima. Korisnik može podesiti antivirus da na ovaj način proverava sve tipove fajlova kao što su slike, filmovi, muzika itd. Imajući u vidu raznovrsne tehnike širenja virusa, ovakva konfiguracija je poželjna. Efikasnija ali manje temeljna opcija je da AV skenira samo tipove fajlova koje virusi uglavnom napadaju: .EXE, .COM, .VBS, .DOC itd.
Otkrivanje virusa ovakvom metodom predstavlja veliki izazov. Antivirusni proizvođači nastoje da prikupljaju nove uzorke virusa, zatim određuju šablone koji će predstavljati otisak odnosno potpis, zatim te nove otiske treba dostaviti korisnicima njihovih antivirusnih alata, ito što je brže moguće. Ovo je i jedan od razloga zašto treba ažurirati antiviruse redovno. Srećom, danas se ovaj deo posla brzo obavlja preko interneta i potpuno automatski. Čak i sa redovnim i brzim ažuriranjem definicija ovakav način otkrivanja virusa ima svoju slabost jer proizvođači antivirusa se stalno igraju jurke sa autorima virusa, koji u divljinu puštaju potpuno nove ili već postojeće viruse koji su malo izmenjeni. Da bude još gore, zlonamernik može napraviti unikatan virus koji može imati određenu metu bez potrebe za globalnim širenjem. U tom slučaju antivirusne kompanije nisu u mogućnosti da naprave njegovu definiciju, a i ako dođu do virusa uglavnom je kasno jer je šteta već načinjena. Još jedna bitna mana otkrivanja putem otiska, jeste da se uosnovi ne može otkriti zlonameran kod koji je dizajniran da automatski sam sebe menja (mutira). Ova tehnika mutacije (poznata i kao polimorfizam) se koristi kako bi virus sakrio svoj otisak i izbegao podudarnost sa postojećim definicijama. Možete zamisliti koliko će muke imati proizvođači antivirusa da odrede pouzdan otisak za virus koji menja sopstveni kod.
HEURISTIKA
Zamislite situaciju da imate zadatak da otkrijete međunarodne špijune koje možete sresti a da pritom nemate pojma kako oni izgledaju. Ovom zadatku možete pristupiti tako što ćete prvo sastaviti listu poznatih osobina koje su za njih vezane i svakoj od osobina dodeliti broj poena u odnosu koliko pouzdano ukazuje na špijuna. Lista može ovako izgledati:
- Nosi fino odelo ili smoking (77 poena)
- Preživljava katastrofe i slične neverovatne situacije (32 poena)
- Vozi brz auto koji ima napredne mogućnosti (80 poena)
- Svaki dan ima lepo očešljanu kosu i finu frizuru (58 poena)
Lista može da se produži, ali nadam se da ste shvatili poentu. Kada zbir svih poena pređe odgovarajuću granicu, možete odlučiti da li je ta osoba špijun iako je nikad ranije niste videli, zatim je možete pitati da vas provoza u autu.
Shvatajući ograničenja otkrivanja putem otiska, antivirusni proizvođači razvili su tehniku pomoću koje mogu otkriti nepoznate viruse prema načinu na koji se ponašaju. Tehnikom heuristike (eng. heuristics) proverava se fajl u potrazi za poznatim osobinama koje su karakteristične za viruse. Neke od tih osobina su:
- Pokušaj pristupanja butabilnom sektoru hard diska (eng. boot sector)
- Pokušaj pronalaženja svih datoteka u tekućem direktorijumu
- Pokušaj upisa u EXE fajl
- Pokušaj da se obriše sadržaj hard diska
Dok skener proverava fajl obično dodeljuje određeni broj poena svakoj osobini koju pronađe. Ako ukupan zbir pređe određenu granicu, onda skener taj fajl smatra zlonamernim kodom. Ukoliko je ta granica niska onda može biti dosta lažnih uzbuna, isto tako ako je previše visoka skener može propustiti dosta virusa. Ova tehnika ne bi bila od koristi ako virus obavi tokom provere obavi neki svoj zadatak kao što je inficiranje drugih programa ili brisanje fajlova. U tom slučaju mogli bi dobiti poruku tipa: ,, Vaš sistem je inficiran virusom. Želimo Vam prijatan dan.”. Iako u neku ruku korisna informacija, upozorenje bi trebali dobiti pre nego virus prodre u sistem. Trik je u tome da treba analizirati fajl tako da antivirus proceni kakve će se operacije izvršiti ako bi sumnjivi fajl imao šansu da se pokrene pa je logično da ovu proveru treba izvršiti pre pokretanja samog koda. Antivirus to obavlja tako što simulira procesor koji bi inače izvršio kod. Na taj način se sumnjivi fajl pokreće u virtuelnom okruženju koje je izolovano od ostatka sistema a antivirus otkriva kakve su aktivnosti predviđene samim kodom pa samim tim može da proceni da li ima opasnosti.
Imajući u vidu poteškoće emulacije procesora, način otkrivanja pomoću heuristike je daleko od pouzdanog, prema tome antivirusni skeneri se ne oslanjaju potpuno na ovaj način otkrivanja, već se i dalje koristi stara dobra tehnika otisaka a ponekad i provera integriteta koja je sledeća na redu.
PROVERA INTEGRITETA
Prilikom odbrane od virusa, imamo posla sa stvorenjima koja se šire menjajući druge datoteke. Imajući to u vidu, jedan od načina da se otkrije prisustvo virusa jeste da se otkriju fajlovi koji su neočekivano izmenjeni, pošto virus po običaju dodaje svoj kod na već postojeći. Proces provere integriteta bi otprilike ovako izgledao:
1. Dok je računar u čistom stanju uzimaju se otisci (u obliku kontrolnih zbirova, eng. checksums, MD5, CRC isl.) fajlova koje treba nadgledati, i ti se otisci snimaju u bazu podataka koja predstavlja polaznu liniju.
2. Prilikom skeniranja, proveravaju se fajlovi u potrazi za sumnjivim izmenama, opet se računaju otisci (kontrolni zbirovi) fajlova koji se nadgledaju i ti otisci se porede sa otiscima napravljenim u predhodnom koraku.
3. Ako postoji razlika između trenutnog otiska fajla i onog napravljenog na početku onda je došlo do izmene pa treba napraviti uzbunu.
Postoji nekoliko komercijalnih i besplatnih aplikacija koje obavljaju ovaj zadatak provere integriteta. Najpoznatiji među njima zove se Tripwire (www.tripwire.com). Ovaj alat je u stanju da otkrije neautorizovane izmene još od kada je prvi put napravljen, 1992 godine. Tripwire i slični programi nisu detektori virusa, već imaju za cilj da upozore administratora ukoliko je došlo do neočekivanih izmena na računaru. U nekom od narednih tekstova će biti više reči o ovakvim alatima. Provera integriteta je tehnika koja je zastupljena i kod nekih proizvođača antivirusnih programa. Npr. Sophos Antivirus koristi ovu tehniku da bi odredio koje fajlove treba pregledati detaljnije. Osnovni nedostatak ove tehnike je što otkriva nevolju nakon što je fajl već zaražen.
Nažalost, činjenica je da čak i antivirus koji koristi sve ove tehnike gore navedene, neće biti u stanju da svaki put prepozna sve oblike zlonamernog koda sa kojima imamo posla. Često je neophodno dodatno ojačati sistem na način da se primene razna sigurnosna podešavanja kojima se dodaje još jedan pojas bezbednosti. To će biti još jedna od tema kojom ćemo se pozabaviti kroz neke od narednih tekstova. Pozdrav!

