Antivirusna zaštita PDF Ispis E-mail

 

Seminarski rad: Razmišljanje o antivirusnoj zaštiti

 

Uvod

Računalni virusi su prisutni na sceni više od 2 desetljeća, gdje predstavljaju stalnu i realnu
prijetnju svim vrstama računalnih sustava diljem svijeta.

Vrlo često, virusi su povezani s velikim financijskim gubicima, poglavito kad je riječ o
infekcijama računalnih mreža velikih poduzeća, iako dotični virusi možda i nisu bili napisani
u cilju izazivanja štete, a mnogi koji i jesu, ne rade kako treba. Međutim, kako su virusi
dizajnirani da utječu ili potpuno onemoguće rad korisničkih programa, te se šire računalnim
mrežama, na skoro svim platformama, a u posljednje vrijeme masovno internetom, oni često
osim izravne štete uzrokuju i onu neizravnu, koja se opisuje pojmom izgubljene dobiti,
točnije, izgubljenog vremena na čišćenju zaraženih sustava, te njihovom ponovnom vraćanju
u normalan rad. Kako se popularno s razlogom kaže da je vrijeme novac, zaista je lako
zaključiti zbog čega će jedno veliko poduzeće sa tisućama zaraženih kompjutera, koje je
potrebno dovesti u normalan rad, izgubiti velike količine profita.

Mnogo češće su neizravne štete puno veće od onih izravnih. Dodatno, izvršavanje virusnog,
često nepoznatog koda, na osjetljivim računalnim sustavima (banke, bolnice, znanstveni
centri, vojska itd.) dovodi do pitanja ispravnosti rada namjenskih aplikacija i podataka
vezanih uz njih, što često vodi do potpunog reinstaliranja platforme i aplikacija na svim
računalima takvog jednog sustava, te do vraćanja podataka iz nezaraženih backup izvora,
ukoliko takvi postoje.

Iako je ova prijetnja svakim danom sve veća, što zbog većeg broja računala, što zbog
njihovog boljeg i raznovrsnijeg povezivanja, tehnologija koja joj se odlučila suprostaviti,
te ima za cilj obranu računalnih sustava od virusa, nažalost nije dovoljno prihvaćena kod
korisnika. S jedne strane, mnogi ne znaju, niti žele znati kako antivirusni programi rade, jer
se time "ne trebaju opterećivati", a s druge strane, antivirusni sustavi se često shvaćaju kao
skupi programi koji ne donose nikakav profit. Kao rezultat, antivirusni programi, ako i jesu
instalirani, vrlo su često nepravilno iskonfigurirani ili se o njima ne vodi računa.

Kratica AV, u užem smislu znači "antivirus", dok u širem opisuje industriju, proizvode, te
usluge koji se bave zaštitom računala od virusa.

 

Povijest

 

Mnogi rani virusi su rijetko napravili više od nekoliko infekcija, te su na taj način sami od
sebe odumrli. Razlog takvom "neuspjehu" je vrlo slaba povezanost računala međusobno, te
nisu imali kvalitetan medij kojim bi se širili međusobno. Tada je otkrivanje i uklanjanje sa

zaraženih strojeva bilo mnogo jednostavnije nego danas. Vrlo kratko nakon pojave prvih
virusa, pojavile su se i prve inačice jednostavnih antivirusnih alata. Prvi AV skeneri nisu bili
u stanju dezinficirati zaražene sustave, već su jednostavno služili za provjeru datoteka. U to
vrijeme, većina virusa bila je distribuirana preko floppy diskova, jer velikih računalnih mreža
(internet) nije niti bilo.

Međutim, promjene koje su nastale pojavom velikih računalnih mreža, a poglavito interneta,
dovele su do pojave novih vrsta virusa i brzine njihovog širenja. Na primjer, do 1992. godine,
broj boot sector virusa i file-infecting virusa bio je podjednak. 1992., broj file-infecting virusa
počeo se smanjivati, a boot sector virusa povećavati. Taj trend je nastavljen do 1995. godine,
kada većina računala prelazi na Windows platformu, a pogotovo nakon prelaska na Windows
95, sustav koji je mogao obavijestiti korisnika o promjenama u boot-sektoru, što je poslužilo
vrlo jednostavnoj detekciji boot sector virusa. Također, s pojavom Microsoftovog paketa
Office, autorima virusa postalo je jasno da postoji puno bolja podloga za širenje njihovih
uradaka. Mogućnost ove platforme da pomoću više programa koristi iste informacije, dovela
je do nastanka velikog broja nove vrste - macro virusa. Ovi virusi vrlo su jednostavni za
pisanje u Visual Basicu, te se iznimno lako šire među korisnicima Microsoftovih uredskih
aplikacija Word, Excel, PowerPoint i Access. Dodatno, macro virusi su prvi koji su bili u
stanju raditi na više platformi (npr. virus napisan za Windowse ne može raditi na Macintosh
platformi).

Rani virusi su zahtijevali ljudski faktor da bi se mogli širiti. Korisnici su bili ti koji su im
omogućavali širenje, najčešće iz neznanja, tj. nesvjesnosti njihovog prisustva, dijeljenjem
datoteka, floppyja i sl. među sobom. Nakon početka automatiziranja mnogih procesa (macro
naredbe u Office paketima), ljudska "pomoć" širenju virusa više nije bila toliko neophodna.
Danas, samim otvaranjem zaraženog e-maila, moguće je pokrenuti virus, bez ikakvog znanja
o njegovom prisustvu, čak štoviše, danas iznimno popularni crvi dolaze putem interneta na
računalo bez ikakve ljudske prisutnosti.

Paralelno s razvojem i usavršavanjem virusa, razvijali su se i usavršavali alati za borbu protiv
njih. AV programi su nešto poput patrolnog policajca na cesti, koji promatra ponašanje
prolaznika i pokušava pretpostaviti nečije loše namjere. I policijski službenik i AV skener
traže određene "uzorke" ponašanja, te kreću u akciju ukoliko to ponašanje prijeđe prag
prihvatljivosti. No, kao i policijski službenici, i AV skeneri ponekad donose krive zaključke.
Jednostavno, nije moguće znati namjeru svakog bita koda koji uđe u računalo, i nije zgodno
testirati svaki bit koda prije njegovog izvršavanja, jer bi to ozrokovalo ogroman pad
performansi sustava i onemogućilo izvršavanje legitimnih programa. Najviše što AV skener
može učiniti je tražiti uzorke ponašanja, bazirane na svojoj bazi podataka, a koji su se u
prošlosti pokazali kao "lošima".

Prvi antivirusni alati radili su na principu da je određeni "alat" napisan za određeni virus, te
su dakle korisnici najprije trebali otkriti o kojem se virusu radi (što nije bilo teško jer ih je bio
vrlo mali broj), te tada nabaviti odgovarajući alat i popraviti što se popraviti može.

Virusi iz toga vremena su ubacivali svoj kod na određena predvidljiva mjesta u programu. AV
skeneri su tražili taj kod (tj. specifični string znakova), te ukoliko bi kod bio pronađen, on bi
se brisao, te bi se program pokušao dovesti u prijašnje stanje. Ukoliko to nije bilo moguće,
AV bi korisniku savjetovao brisanje programa i njegovu reinstalaciju.

Kako je broj virusa počeo naglo rasti, antivirusne kuće su shvatile da izdavanje specifičnih
alata za specifične viruse neće objektivno biti moguće u dogledno vrijeme, te je bilo potrebno
pronaći nov način za traženje virusa, koji će se sastojati u univerzalnom programu koji će
tražiti sve viruse prema određenim predefiniranim uzorcima. Nova generacija AV programa
tako se sastojala od dvije komponente: antivirusnog skenera i baze podataka sa uzorcima
stringova. Te dvije komponente u potpunosti ovise jedna o drugoj. Mnogi tadašnji antivirusni
alati nisu polučivali dobre rezultate, jer nisu bili u stanju pronaći sve poznate viruse, a osim
toga, postojao je tada nerješiv problem otkrivanja novih, nepoznatih virusa, kojih nije bilo u
bazi s uzorcima.

Dvije su stvari dovele do revolucije antivirusne tehnologije. 1993. godine, Joe Wells počinje
kolekcionirati viruse i stvara "biblioteku" virusa koju naziva "WildList", te ju daje na uvid i
korištenje antivirusnim kućama, koje do tog trenutka nisu imale standardiziranu bazu virusa,
već se je svaka oslanjala na svoje vlastite podatke. Njegova lista je podijelila viruse u dvije
skupine; prva, u koju pripadaju aktivni virusi, tj. oni za koje se zna da trenutno postoje kao
aktivni na računalima diljem svijeta, nazvana je in the wild, a druga skupina bi bila ona koji
više nisu aktvini, tj. "izumrli" su jer su "istrijebljeni" sa svih aktivnih računala u svijetu (in the
zoo). Također, lista je omogućila da se standardiziraju imena virusa.

Druga važna stvar koja se dogodila bila je početak komercijalnog testiranja i davanja
certifikata AV produktima od strane NCSA (National Computer Security Association),
kasnije znane kao ICSA.net, pa TruSecure Corporation. Antivirusne kuće su slale svoje
produkte na testiranje, i time su bile prisiljene da na objektivan način dokažu kvalitetu svojih
proizvoda.

 

Ustrojstvo antivirusnog programa

Nemoguće je sa sigurnošću znati za svaki program koji se pokreće na računalu da li je
legitiman ili pak virus. Kad bi AV skeneri mogli znati sa 100%-tnom sigurnošću da li
neki program pripada jednoj ili drugoj skupini, njegov kod bi bilo moguće ugraditi u sam
operativni sustav, te ne bi bilo potrebe za dodatnim AV programima. Također, nemoguće
je da AV skener provjerava svaku datoteku koja se izvršava u cijelosti, jer bi za tako nešto
bilo potrebno jako mnogo sistemskih resursa računala, te bi takvo okruženje bilo gotovo
neupotrebljivo. Stoga, AV programi djeluju unutar nekih ograničenja koje im nameće sam

operativni sustav. U cilju efektivnog rada, bez velikog utjecaja na ostale programe koji se
izvršavaju na računalu, AV programi se koriste raznim trikovima kako bi spriječili virusnu
infekciju, pronašli i dezinficirali zaražene datoteke, a pritom zadržali koliko-toliko nedirnutu
brzinu izvođenja ostatka sustava.

 

4 su osnovne metode kojima se AV programi koriste u svojem radu:

  • Detekcija - traženje već poznatih virusa
  • Prevencija - praćenje promjena, i pokušaja mijenjanja datoteka, boot sektora itd
  • Heuristika - traženje dosad nepoznatih virusa, koristeći određena "pravila ponašanja"
  • Praćenje stanja svih sistema koji su povezani na središnji sustav izvještavanja (ovo će
    biti objašnjeno kasnije)

 

Antivirusni program (engine) i njegova baza podataka sa poznatim uzorcima virusa rade
zajedno u cilju detekcije virusa koji ulaze u sistem. Engine je uobičajeno predstavljen kao
korisničko sučelje, te pruža osnovni set funkcija i kontrola za podešavanje rada antivirusnog
sustava. Sastoji se od mnogo složenih algoritma za traženje uzoraka, CPU emulatora, te
raznih formi programske logike. Engine određuje koje će datoteke skenirati, koje funkcije
pokretati, te kako djelovati u slučaju kada posumnja da je u određenoj datoteci pronađen
virusni kod. Ipak, sam engine ne zna apsolutno ništa o virusima, i gotovo je bespomoćan bez
baze podataka sa uzorcima virusa (signature database).

Baza podataka s uzorcima sadrži "otiske prstiju" desetaka tisuća virusa. Kako se novi virusi
pojavljuju sve brže, od iznimnog značaja je da se baza podataka stalno nadopunjuje novim
podacima. Tako je 1995. godine kao generalna preporuka važila da se baze nadopunjuju
barem jednom mjesečno, dok je danas taj rok oko jednom tjedno, a za kritične sustave i
svakodnevno. Danas se svi antivirusni programi mogu lagano i brzo obnoviti putem interneta,
a mnogi taj posao maksimalno pojednostavnjuju automatizacijom.

Baza s uzorcima, osim egzaktnih stringova, sadrži i neka pravila koja antivirusni programi
koriste za heurističko skeniranje. Naime, ukoliko se pojavi novi virus, koji ne postoji još
u bazi uzoraka, antivirus ga ne može pronaći, osim prema već spomenutim "pravilima
ponašanja", tj. ako utvrdi da bi se određena datoteka prilikom izvršavanja ponašala prema
nedopuštenim pravilima, bit će klasificirana kao "sumnjiva". Ovakvo skeniranje je mnogo
sporije nego ono koje samo traži poznate stringove, te mu učinkovitost znatno varira od
proizvoda do proizvoda. Mnogo proizvoda nam daje na izbor koliko želimo "duboku"
heurističku analizu - što je ona "dublja", to je više pravila obuhvaćeno njome, a samim time i
proces sporiji, ali mogućnost detekcije nepoznatog virusa veća.

Skeniranje datoteka moguće je u tri načina rada - nakon pokretanja sustava, stalno, ili na
zahtjev. Najučinkovitije skeniranje je konstantno, tj. u pozadini se stalno izvršava antivirusni
program koji skenira sve procese koji se izvode na računalu. Međutim, ovo može dosta
usporiti sistem, ovisno o njegovoj brzini, te postavkama i karakteristikama samog AV

programa, ali i o vrsti posla na računalu. Pritom, AV programi koriste i dosta sistemske
memorije, kako bi testirali određene sekcije koda datoteka koje se provjeravaju. Dakle,
potrebno je pronaći "zlatnu sredinu", tj. AV program mora omogućiti zaštitu računala, a
pritom korisnik mora moći nesmetano koristiti sve sistemske resurse, ili barem veliku većinu.

Rani virusi su prilikom inficiranja programa, svoj kod ubacivali na određeno mjesto u
prorgamu, tako da je pri skeniranju bilo dovoljno potražiti to mjesto i vidjeti da li na njemu
postoji virusni kod, izbjegavajući skeniranje datoteke od vrha do dna i tako drastično štedeći
vrijeme. Danas, to više nije u potpunosti slučaj, pa je ponekad potrebno pregledati cijelu
datoteku. Tako mnogi AV programi imaju implementiranu mogućnost da koriste pregled
kompletnih datoteka, što znatno usporava izvođnje operacija.

Postoji mogućnost da prilikom skeniranja legalnog programa, AV naiđe na kod koji se
sasvim slučajno poklapa sa nekim iz baze uzoraka, ili pak sa "pravilom o ponašanju", pa
prijavi "čistu" datoteku kao zaraženu. Nažalost, lažnih alarma ima uvijek, no u posljednje
vrijeme su ipak sve rijeđi, jer programeri koriste sve bolje rutine za njihovo izbjegavanje.

Nastankom novih, kompleksnijih virusa, skeniranje koristeći isključivo baze sa uzorcima
postaje sve nepouzdanije. Neki virusi čak niti nemaju karakterističan kod po kojem bi se
mogli bespogrešno prepoznati. Ima virusa koji nastoje ubaciti svoj kod u područja programa
koja su već prije bila skenirana, ili pak smještaju svoje fileove u direktorije ili dateoteke koje
se uobičajeno ne skeniraju (npr. .cab datoteke). Zatim, virusi koriste promjenjive enkripcije
koda, mijenjaju formu, te mutiraju, sve u pokušaju da se što bolje sakriju od AV programa.

U mnoge antivirusne programe danas je ugrađena metoda provjere checksum-e, kao dodatna
sigurnosna opcija za traženje nepoznatih virusa. Ovim putem se provjeravaju datoteke, te
se traži da li su se mijenjale od vremena posljednje provjere. Prilikom provjere, checksum-
e provjerenih datoteka se zapisuju u posebnu bazu podataka. Ukoliko promjene veličine
datoteke nema, znači da nije došlo do njezine infekcije u tom periodu. Ako se promjena
dogodila, ona može biti legitimna, ali može biti i virus. Da bi AV otkrio o čemu je riječ,
poduzimaju se dodatne radnje nad takvim datotekama (skeniranje, obavještavanje korisnika
itd, ovisno o postavkama).

Zatim, AV se koriste u svojem radu brute-force dekripcijom enkriptiranih virusa, jer mnogo je
virusa danas enkriptirano, koji se prilikom infekcije automatski enkodiraju na drugačiji način,
što dovodi do drugačijeg "otiska prstiju", i tako enkriptirani virus se ne poklapa sa svojim
uzorkom u AV bazi uzoraka. Ukoliko se pronađe algoritam za dekripciju, on se pohranjuje u
bazi uzoraka zajedno sa uzorkom.

Emulacijom programa AV se koriste najčešće za otkrivanje polimorfnih virusa. Program
kojeg se provjerava, emulira se u simuliranom orkuženju operativnog sustava, tj. antivirus
nastoji simulacijom izvođenja dotičnog programa procijeniti što bi se dogodilo ako se
program zaista i pokrene. Tada na snagu stupaju već spomenuta "pravila ponašanja", te
ukoliko se prijeđe prag tolerancije, datoteka se smatra sumnjivom ili zaraženom.

Heuristička analiza datoteka, iako vrlo korisna za otkrivanje novih, nepoznatih virusa, ima

lošu stranu što nikada ne može biti 100% pouzdana. Neki produkti se hvale sa 80%-tnom
pouzdanošću otkrivanja virusa bez poznavanja njihovih uzoraka. Drugi problem je taj što
ovakvo skeniranje traži i dosta procesorskog vremena, a u slučaju većih i kompliciranijih
datoteka i mnogo sistemske memorije, pogotovo kod emuliranja izvršavanja programa.

Prilikom heurističkog skena, skeniranoj datoteci se dodijeljuju "bodovi", koji označavaju da
li je datoteka bila "pozitivna" na određenom testu "pravila ponašanja". Što više bodova skupi,
to je na više testova bila "pozitivna", te se ukoliko prijeđe pretpostavljenu granicu, smatra
sumnjivom (niža granica) ili zaraženom (viša granica). Pritom se provjeravaju datoteke samo
na uobičajenim mjestima na kojima se virusi u njima najčešće nalaze, jer datoteke mogu biti
ogromne veličine, te njihovo komplteno provjeravanje bi trajalo iznimno dugo. Npr. video
datoteka od par gigabajta se skenira za tren, jer se pretraži samo njezin malen dio (obično je
riječ o početku datoteke, prvih nekoliko linija koda), dok bi njezino kompletno skeniranje
trajalo minutama (sa današnjim uobičajenim brzinama računala). Navedena metoda se naziva
statičkim skeniranjem.

Za razliku od statičkog skeniranja, kod dinamičkog se program još dodatno emulira, a ono
se obično poduzima samo ukoliko je "broj bodova" u statičkom skenu bio relativno velik. U
virtualnom okruženju pokreće se kod sumnjive datoteke i prati ponašanje simuliranog sustava.
Jasno je da će ovakvo izvođenje operacija zahtijevati prilične sistemske resurse računala, no
to je cijena koja se mora platiti ukoliko se želi relativno moćno traženje nepoznatih virusa.
Valja primjetiti da se dinamički sken ne poduzima ukoliko je u statičkom datoteka prošla
dobro, tj. sa malim "brojem bodova", što je u biti dvosjekli mač - štedi se iznimno puno
sistemskih resursa, međutim, neki virusi mogu ostati neotkriveni bez dinamičke heurističke
analize. Napomenimo samo, kako ni dinamička analiza nije svemoguća, te poneki maliciozni
program može i pored nje proći neotkriven, ovisno o njegovim "namjerama".

 

Sažetak

Antivirusni softver, antivirusni program ili antivirus je računalni softver koji se koristi za
zaštitu, identifikaciju i uklanjanje računalnih virusa, kao i drugih programa koji mogu da
oštetiti softver, a jednim imenom se naziva malware.

Za razliku od prvobitnih antivirusnih programa koji su bili bazirani isključivo na tretiranju
računalnih virusa, moderni antivirusni program se dizajnira tako da sustav štiti od što većeg
broja različitih mogućih malicioznih programa (crva, virusa, trojanskih konja, rootkita,
spwyarea, adwarea), psihing napada itd.

Prvi antivirusni programi pojavili su se 1983. godine.

 

Seminarski rad : Računalstvo. Autor: M. Tomšić, 4.F

 
Copyright © 2012 Programiranje i izrada web stranica. Sva prava pridržana.
Joomla! je Free Software objavljen pod GNU/GPL Licencom..