Antivirusni softver

**Antivirusni softver** ili **antivirus** (na engl. se često koristi akronim AV) je računalni softver koji se koristi za prevenciju, otkrivanje i uklanjanje štetnog softvera.

Za razliku od prvobitnih antivirusnih softvera, koji su se bazirali isključivo na tretiranju računalnih virusa, moderni antivirusni softveri štite od različitih štetnih programa, u koje osim "klasičnih" virusa spadaju i: crvi, trojanci, backdoor, rootkit, oglašivački programi, špijunski programi, dialeri, keyloggeri... Mnogi današnji paketi nude zaštitu i od raznih vrsta socijalnog inženjeringa, poput fišinga (*[[fishing]]*).

Postoji više načina zaštite. Ona bazirana na potpisima uključuje otkrivanje i uklanjanje već poznatih napasti. No, problem je u tome što kompjuter može biti zaražen i nekim novim štetnim softverom za koji još ne postoji potpis. Zbog toga antivirusi često koriste metodu heuristike. Jedna vrsta heuristike se zasniva na generičkim potpisima, koji mogu otkriti novi štetni softver ili varijantu onog već poznatog, tako što u datoteci traže poznati štetni kod, ili njegove manje izmjene. Neki antivirusni softveri mogu predvidjeti djelovanje programa tako što će ga pokrenuti u sandboxu, i analizirati ga da provjere izvršava li kakve potencijalno zlonamjerne radnje. Sandbox je izolirano okruženje van kojeg program ne može prodrijeti i u slučaju da je štetan, ne može uraditi štetu stvarnom sistemu.

No, bez obzira koliko korisni mogu biti, antivirusi imaju i neke nedostatke. Oni utječu na korištenje sistemskih resursa, zbog čega može doći do smanjene brzine rada kompjutera (pada performansi). Neiskusni korisnici mogu također imati problema sa razumijevanjem obavijesti i odluka koje im antivirusni softver daje. Neispravna odluka, naime, može znatno oslabiti sigurnost sistema. Osim toga, ako se antivirus koristi heuristikom, uspješnost te metode ovisi o balansu između lažno pozitivnih i lažno negativnih rezultata. Lažno pozitivni rezultati (kada je bezazlen program prepoznat kao prijetnja) mogu imati jednako loše posledice kao i lažno negativni razultati - npr. gubitak važnog dokumenta ili čak važne sistemske datoteke.

## Historija

Većina kompjuterskih virusa napisanih tijekom ranih i sredinom 80-ih godina bili su ograničeni na širenje, te nisu činili značajnu štetu. No, to se počelo mijenjati kako su zlonamjerni korisnici postajali sve bolji u programiranju virusa, tako da su napravili viruse koji su mogli oštetiti ili izbrisati određenu količinu podataka na zaraženom kompjuteru.

Postoje proturječni navodi u vezi s prvim antivirusom. Vjerojatno je prvo javno dokumentirano uklanjanje virusa "u divljini" izvršio stručnjak za kompjutersku sigurnost Bernd Fix, 1987. godine. Poznato je i da su za platformu Atari, te iste godine, bila razvijena dva antivirusna softvera. Prvi je bio G Data  (postoji i danas), a drugi UVK 2000.

Fred Cohen je 1984. godine izdao jedan od prvih akademskih papira o kompjuterskim virusima. 1987. godine ispravno je izjavio, da nijedan algoritam ne može otkriti sve moguće viruse, a 1988. godine počeo je razvijati strateške metode za antiviruse, koje su uskoro prihvatili i ugradili njihovih kasniji proizvođači.

Na mreži BITNET/EARN 1988. je godine nastala mail lista VIRUS-L na kojoj je se raspravljalo o novim virusima, te o mogućnostima njihove detekcije i uklanjanja. Neki su članovi spomenute liste, kao što su John McAfee i Eugene Kaspersky, kasnije osnovali antivirusne tvrtke koje su razvijale i prodavale komercijalne pakete.

Prije velike dostupnosti interneta, virusi su se obično širili preko disketa. Antivirusni softver je u to vrijeme provjeravao izvršne datoteke i boot sektore na disketama i tvrdim diskovima, te je bio relativno rijetko osvježavan. Nakon što je internet postao raširen, i virusi su promijenili svoje glavno mjesto širenja, koje je se preselilo u spomenuto okruženje.

Tijekom godina postalo je neophodno da antivirusni softver provjerava više tipova datoteka, a ne samo izvršne, zbog sljedećih potencijalnih pretnji:
* Moćni makroi, koji su bili korišteni u programima za obradu teksta, poput MS Worda. Pisci virusa su, naime, mogli koristiti makroe za stvaranje virusa koji bi bili ugrađeni u dokumente.
* Mogućnost ubacivanja izvršnih objekata u kod inače neizvršnih datoteka
* Kasniji e-mail programi poput Microsoftovih Outlook Expressa i Outlooka, bili su ranjivi na viruse koji su bili ubačeni u samo tijelo poruke

Sve navedeno znači da bi se kompjuter mogao inficirati pri samom otvaranju dokumenata sa skrivenim prikačenim makroima, zaražene e-mail poruke ili inače neizvršne datoteke sa kodom izvršnog objekta.

Kada su širokopojasne veze postale norma, pisanje štetnog softvera uzelo je maha; postalo je nužno da se što češće osvježavaju definicije potpisa antivirusnih alata. Pa čak i tada, uvijek postoji šansa da se nova prijetnja široko rasprostrani, prije nego što antivirusne tvrtke izdaju novi potpis.

## Metode detekcije
Postoji više metoda otkrivanja štetnog softvera, a većina antivirusa koristi kombinaciju više njih:

* Detekcija bazirana na potpisima (signaturama) najčešća je metoda. Kako bi identificirao štetni softver, antivirus poredi sadržaj datoteka sa "rječničkom" bazom štetnih programa. Pošto štetnog softvera može biti ugniježđen u samu datoteku, projverava se cijela datoteka, ne samo cjelina, već i njezini manji delovi.
* Detekcija štetnih aktivnosti - antivirusni softver nadgleda softver u okruženju sa kojim kompjuterski sistem komunicira. Ukoliko detektira sumnjive aktivnosti nekog softvera, dodatno ga detaljno provjerava koristeći neku od metoda detekcije. Ova metoda je pogodna za detekciju novih i nepoznatih virusa.
* Heuristička metoda - slično metodi detekcije štetnih aktivnosti, ova metoda se može koristiti kod novih i nepoznatih virusa. Može se koristiti na dva načina: analiza datoteka i emulacija datoteka. Emulacija datoteka podrazumijeva pokretanje programa u virtualnom okružju, te bilježenje radnji koje izvrši. Ovisno o zabilježenim radnjama, antivirus može odrediti je li program zlonamjeran ili ne i potom poduzeti odgovarajuće radnje.

### Detekcija bazirana na potpisima
Otkrivanje štetnog softvera dugo je vremena veoma ovisilo od ove metode detekcije. Ona može biti veoma učinkovita, ali ne može obraniti kompjuter od štetnog softvera ako ne postoje odgovarajući potpisi - pa nije pouzdana protiv novog, nepoznatog štetnog softvera.

Kako novi virusi nastaju doslovno svaki dan, detekcija bazirana na potpisima zahtijeva česta osvježavanja rječnika potpisa. Neki antivirusi omogućavaju korisnicima slanje novih virusa ili njihovih varijanata antivirusnim tvrtkama, gde se analiziraju i potom se u rječnik doda njihov potpis.

Još jedna potencijalna mana ove metode jest da neki autori virusa pokušavaju izbjeći sličnost sa postojećim potpisima te pribjegavaju morfičnim (oligomorfičnim, polimorfičnim i odnedavno metamorfičnim) virusima. Ta vrsta štetnog softvera šifrira (enkriptira) dijelove svog koda, ili na druge načine izmjenjuje samog sebe, u svrhu prikrivanja, tj. da njegov potpis ne odgovara nekom u rječniku.

### Heuristika
Dosta antivirusa koristi metodu heuristike za identifikaciju nepoznatog štetnog softvera ili novih varijanti postojećeg.

Mnogi virusi, naime, počnu na razini pojedinačnih infekcija. Preko kasnijih mutacija, tj. "poboljšavanja" njihovih svojstava (od strane samog autora ili nekih drugih napadača), on može imati više međusobno sličnih varijanti. Generička detekcija je detekcija i uklanjanje više zlonamjernih prijetnji korištenjem jednog odgovarajućeg potpisa.

Tako primjerice trojanac Vundo ima nekoliko porodica, ovisno o klasifikaciji proizvođača antivirusa; Symantec klasificira "članove" Vundo porodice u dvije kategorije: Trojan.Vundo i Trojan.Vundo.B.

Iako identificiranje specifičnog virusa ima svoje prednosti, brži je način stvaranje generičkog potpisa za porodicu. Istraživači virusa pokušavaju kod porodica naći jedinstvene zajedničke karakteristike, tako da za njih mogu stvoriti jedan generički potpis.

### Detekcija rootkita
Antivirusni softver može pokušati skenirati kompjuter u potrazi za rootkitom. Riječ je o posebnoj vrsti malwarea dizajniranoj da si pridobije administratorske privilegije preko kompjuterskog sistema - a da pritom, naravno, prođe nezapaženo što je duže moguće. Rootkit može promijeniti način funkcioniranja operativnog sistema, a ponekad se i "uplesti" u rad antivirusnog softvera čineći ga nepouzdanim. Teško ga je ukloniti, a ponekad je jedino rješenje reinstalacija operativnog sistema.

Međutim, i na ovom polju ima nade obzirom da antivirusni program Avast ima licenciran GMER (program za detekciju rootkita) što znatno olakšava borbu protiv ove vrste štetnog programa.

### Zaštita u stvarnom vremenu
Zaštita u stvarnom vremenu poznata je pod nazivima real-time protection, on-access scanning, background guard, resident shield i autoprotect. To je zaštita kakvu posjeduju skoro svi antivirusi, antispywarei (često ne u besplatnoj verziji) i drugi programi za zaštitu kompjutera. Ona bilježi aktivnosti na sistemu i promatra događaju li se kakve sumnjive aktivnosti, i to u stvarnom vremenu. To je drugim riječima razdoblje kada su podaci učitani u memoriju kompjutera: kad korisnik stavlja CD, otvara e-mail poruku, ili surfa internetom; ili pak razdoblje kad je datoteka na kompjuteru već učitana ili izvršena.

## Mogući problemi
### Lažni antivirusi
Neki programi koji su naizgled antivirusi zapravo su štetni softver koji se lažno predstavlja kao legitimni. To su primjerice WinFixer, MS Antivirus, i Mac Defender. Većina antivirusa će prepoznati ovakav štetni softver, no problem nastaje u tome što će lažni antivirus često onesposobiti pravi.

### Lažne uzbune
Lažna uzbuna ( ili *false alarm*) označava dešavanje kada antivirus pogrešno detektira bezopasnu datoteku kao štetni program. Kada se ovo dogodi, mogu se javiti ozbiljni problemi. U slučaju da je antivirus konfiguriran da automatski briše zaražene datoteke ili da ih izolira u karantenu, pogrešna detekcija kod neke važne datoteke može učiniti operativni sistem ili namjenski program nesposobnim za rad. U slučaju da Windowsi postanu nesposobni za rad, troškovi njihovog ponovnog popravljanja u servisima može prisiliti tvrtke u kojima se koriste na privremeno zatvaranje.

Navest ćemo nekoliko slučajeva lažnih uzbuna:

U svibnju 2007. godine, loše napravljen Symantecov virusni potpis greškom je uklonio nekoliko esencijalnih sistemskih datoteka, zbog čega je tisuće kompjutera prestalo funkcionirati. Također u istom mesecu iste godine, Norton AntiVirus (tvrtke Symantec) detektirao je izvršnu datoteku bitnu za rad Pegasus Maila kao trojanca, te ju automatski obrisao. To je, razumljivo, uzrokovalo nemogućnost pokretanja spomenutog mail klijenta. Da stvari budu još gore, Norton AntiVirus pogrešno je prepoznao čak tri izdanja Pegasus Maila kao štetni softver, te bi obrisao njihovu pripadajuću instalacijsku datoteku. U tvrtki Pegasus Mail odgovorili su:

U travnju 2010. godine, McAfee je detektirao svchost.exe, bezazlenu Windows izvršnu datoteku, kao virus. To je se dogodilo na kompjuterima koji su pokretali Windows XP Service Pack 3, zbog čega bi korisnici izgubili vezu na internet ili bi se pak njihov kompjuter non-stop iznova pokretao. U prosincu iste godine, loše osvježenje AVG paketa oštetilo je 64-bitne verzije Windowsa 7 - zbog čega su se neprestano iznova pokretali te time postali onesposobljeni.

U listopadu 2011. Microsoft Security Essentials (MSE) je uklonio Google Chrome preglednik, konkurentan Microsoftovom Internet Exploreru, označivši ga kao Zbot trojanca.

### Sistemski problemi
Pokretanje više antivirusa istovremeno može ugroziti sistemske performanse i, još važnije, uzrokovati sukobe između antivirusa. Zbog toga će mnogi antivirusi odbiti da se instaliraju ako otkriju da na sistemu djeluje i neki drugi. Ipak, pomoću koncepta koji se naziva multiscanning nekoliko je firmi (uključujući G Data te Microsoft) uspjelo napraviti aplikacije koje istovremeno pokreću više *enginea*.

Ponekad je neophodno privremeno isključiti antivirus, npr. tijekom instalacije servisnih paketa za Windowse (što je i preporuka Microsofta) i osvježavanja *[[driver]]a* za grafičku karticu - iz razloga što antivirus može djelomično ili posve spriječiti ovakve znatne sistemske izmene.

Na funkcionalnost nekoliko legitimnih aplikacija također mogu utjecati antivirusni programi. TrueCrypt, program otvorenog koda namijenjen enkripciji diskova, može se sukobiti s antivirusom, što dovodi ili do nemogućnosti funkcioniranja ili velike sporosti programa. I igre na Steam platformi mogu imati problema sa antivirusnim softverom, zbog čega će biti nestabilne ili spore.

### Pouzdanost
Istraživanja provedena u prosincu 2007. godine pokazala su da se pouzdanost antivirusnog softvera smanjila u odnosu na prethodnu godinu, posebno protiv nepoznatih prijetnji. Njemački kompjuterski magazin c't otkrio je da se njihova razina detekcije smanjila sa 40-50% (2006.) na 20-30% (2007.). Iznimka je bio NOD32, koji je u to vrijeme uspio ostvariti razinu od 68 posto.

Problem je dodatno uvećan zbog činjenice da je, za razliku od nekad, danas česta praksa da pisce štetnog softver financiraju kriminalne organizacije. Nije rijetkost da kriminalne organizacije bez dovoljno tehničkog znanja za pisanje malwarea čak kupuju štetne pakete od programera, kojima cene variraju obično ovisno od kompleksnosti i broja opcija, a kreću se od tristotinjak pa sve do preko tisuću eura. Pakete je moguće zasebno podesiti da se izbace ili uvedu neke druge opcije, po želji kriminalaca, a onda ukupna cijena ovisi o komponentama koje su izabrane.

Neovisna testiranja antivirusa u veljači 2010. pokazala su da najbolja razina detekcije iznosi 99,6, a najmanja samo 81,8%. Svi antivirusi na testiranju imali su određen broj lažno pozitivnih rezultata, neki više, neki manje. Iako se metodologije razlikuju, neke istaknute neovisne kompanje za testiranje uključuju AV-Comparatives, ICSA Labs, West Coast Labs, Virus Bulletin, AV-TEST i ostale članice Anti-Malware Testing Standards Organization-a. Valja spomenuti da je testiranje antivirusnih programa vrlo složeno te da varira o mnogim faktorima.

### Novi virusi
Antivirusni programi mogu biti nepouzdani protiv novih virusa, čak i kada koriste metode detekcije koje se ne baziraju na potpisima. Razlog za ovo je što pisci virusa testiraju svoja "djela" na najpoznatijim antivirusima kako bi bili sigurni da nisu prepoznati, prije nego što su pušteni "u divljinu".

Određeni štetni softver, nadasve ucjenjivački softver (koji zaključava pristup sistemu te prikazuje lažnu poruku korisniku da uplati određen iznos novca za njegovo otključavanje), koristi polimorfični kod kako bi onemogućila i izjbegla detekciju antivirusa. Sigurnosni analitičar Jerome Segura ovako je objasnio ovu pojavu:

### Rootkit
Detekcija rootkita predstavlja veliki izazov za antiviruse - s obzirom na to da rootkiti imaju potpuni administratorski pristup kompjuteru, te su nevidljivi korisniku na popisu procesa u Task Manageru; također mogu izmijeniti unutrašnje funkcije sistema kao i antivirusa.

### Oštećene datoteke
Datoteke oštećene virusima obično se ne mogu vratiti u prijašnje stanje. Antivirusni softver prilikom dezinfekcije uklanja virusni kod iz datoteke, ali ovo ne dovodi nužno to njenog vraćanja u originalno stanje. Tada se mogu povratiti jedino iz sigurnosnih kopija (*backupa*); softver koji je zbog oštećenja postao neiskoristiv treba se ponovno instalirati.

Srećom, ako su u pitanju datoteke Windowsa, postoji rješenje u vidu System File Checkera, malo poznate aplikacije koja dolazi sa ovim operativnim sistemom. U slučaju da otkrije oštećene datoteke, pokušat će ih zamijeniti ispravnima (da to uspije, ponekad će biti potrebno staviti instalacijski disk Windowsa).

## Druge metode
### Antivirus "u oblaku"
Antivirus u oblaku, ili na engl. *[[cloud antivirus]]*, je tehnologija koja koristi perolaki agentski sofver na njime zaštićenom kompjuteru. Jedan način implementacije antivirusa u oblaku uključuje skeniranje datoteka korištenjem više antivirusnim jezgri (*enginea*). Ovakav pristup populariziran je ranim oblikom implementacije koncepta *cloud antivirusa* koji se zove CloudAV. CloudAV je dizajniran da šalje programe i dokumente na mrežni oblak, gdje bi ih simultano skeniralo više antivirusa u svrhu poboljšavanja razine detekcije.

Primjeri antivirusa u oblaku su Panda Cloud Antivirus i Immunet.

### Mrežni vatrozid
Mrežni vatrozidi sprječavaju da nepoznati programi i procesi pristupe sistemu. Oni nisu antivirusi niti njihove alternative; ne pokušavaju bilo što detektirati ili ukloniti. Ipak mogu sprječiti infekciju koja dolazi van zaštićenog kompjutera ili njegove mreže, te ograničiti aktivnosti štetnog softvera blokiranjem dolaznih i odlaznih zahtjeva na određenim TCP/IP portovima.

### Online skeniranje
Neki antivirusni proizvođači na svojim internetskim stranicama nude besplatno skeniranje kompjutera: može se skenirati čitav sistem, samo kritična područja, lokalni diskovi, mape ili datoteke. Periodično skeniranje je i više nego dobra ideja, posebno zato što su antivirusi ponekad spori u hvatanju prijetnji. Može se dogoditi i da štetni softver onesposobi antivirus, pa je za barem otkrivanje prijetnje potrebno okrenuti se online skeniranju - osim ako štetni softver prethodno nije onesposobio sigurnosne stranice - i to je moguće.

### Specijalizirani alati
Postoje alati za uklanjanje nekih određenih ili posebno tvrdoglavih vrsta štetnog softvera. U takve spadaju Trend Microv *Rootkit Buster*, rkhunter (oba za detekciju rootkita), Avirin *AntiVir Removal Tool* i *Threat Removal Tool* PCTools-a.

Pokretanje antivirusnog softvera izvan instaliranog operativnog sistema može se vršiti pomoću *bootabilnog* diska za spašavanje (*rescue disk*), koji može biti CD, USB stick i slično. Ovakav antivirus na disku može biti koristan kada se operativni sistem više ne može pokrenuti, te je zaražen malwareom koji se odupire svim pokušajima uklanjanja "klasičnim" antivirusnim paketima. Ovakva rješenja postoje u vidu: Avirinog *AntiVir Rescue System*, *Alternate Operating System Scanner* PCTools-a, i AVG-ovog *Rescue CD*-a.

## Rizici nekorištenja
Velike tvrtke godišnje izgube 12 milijuna dolara zbog problema sa štetnim softverom. Po anketi koju je 2009. godine proveo Symantec, čak trećina malih do srednje velikih tvrtki tada nije imala antivirusnu zaštitu, dok je preko 80% kućnih korisnika na svom kompjuteru imalo instaliran neki antivirusni softver.

## Izvori

## Vanjske veze

* Antivirus Software Marketing