Nacionalni CERT

O virusima

Općenito
Računalni virus je računalni program koji svojom reprodukcijom može zaraziti računala na način da bez dopuštenja ili znanja samog korisnika računala kopira samog sebe u datotečni sustav ili memoriju ciljanog računalnog sustava. Izraz "virus" često se povezuje i s malicioznim programima poput adware-a (program za oglašavanje) i spyware-a (program za prikupljanje podataka), koji nemaju sposobnost reprodukcije kao virus. Virusi se najčešće šire s jednog računala na drugo u obliku izvršnog zlonamjernog koda putem Interneta, privitaka u e-mail porukama ili medija poput floppy diskete, eksternog hard diska, CD, DVD ili USB diska. Povećana je mogućnost širenja virusa u slučaju da se datoteke zaražene virusom nalaze na poslužitelju, kojem imaju pristup više korisnika.

Pojam računalnih crva ili trojanskog konja, često se poistovjećuje s pojmom računalnog virusa , no oni se razlikuju u tehničkom smislu. Računalni crv ima za namjeru iskorištavanje sigurnosne ranjivosti sustava kako bi se proširio na druga računala, umnožavajući sam sebe koristeći Internet bez sudjelovanja druge fizičke osobe, dok je trojanski konj program, koji se pretvara da izgleda bezopasno, predstavljajući se kao neka igra ili sadržaj koji se šalje u e-mail poruci, no najčešće ima skrivenu štetnu funkcionalnost koja može dovesti do npr. formatiranja cijelog diska ili instalacije programa za udaljenu kontrolu, koja omogućava nekoj trećoj zlonamjernoj osobi potpunu ili djelomičnu kontrolu nad vašim pohranjenim podacima i računalom.

Također je važno napomenuti da na taj način zaražena računala mogu biti član „botneta“, odnosno infrastrukture sastavljene od mnogo zaraženih računala koja imaju uspostavljenu vezu sa komandnim centrom. Na taj način treće osoba imaju kontrolu nad računalima korisnika koja su izvršioci kod slanja spama ili masivnih DDoS napada.  Isto tako veliki broj virusa ima i drigih zlućudnih funkcija, kao što su na primjer praćenje aktivnosti tipkovnice što omogućuje krađu privatnih podataka, lozinka, brojeva kreditnih kartica i ostalo.


Načini zaraze i izvršenja malicioznog koda
Da bi se virus replicirao pokretanjem izvršenja malicioznog koda, virusi se vežu za izvršne datoteke legitimnih programa. Tako se u slučaju pokretanja zaraženog legitimnog programa, istovremeno pokreće izvršavanje i virusnog koda.

Prema svom načinu djelovanja, virusi se dijele se na dvije vrste, nerezidentne i rezidentne. Nerezidentni virusi se nalaze u RAM memoriji samo u vrijeme njihovog izvršenja, odnosno od njihovog pokretanja pa do završetka rada. Njihovo širenje se svodi na princip da dio njihovog koda pronalazi datoteke koje mogu biti zaražene na sustavu(npr. .exe., .doc i slično), a drugi dio koda kopira virusni kod u pronađenu datoteku.

Rezidentni virusi se prilikom njihovog izvršenja učitaju u memoriju i njihov kod ostaje u memoriji cijelo vrijeme rada računala. Rezidentni virusi koriste tehnike TSR („terminate and stay resident“) i manipulaciju memorijskim blokovima (MBC) kako bi se zadržali cijelo vrijeme u memoriji računala. Maliciozni kod rezidentnih virusa koristi mehanizme operativnog sustava za svoje aktiviranje, na primjer, pokretanje koda pri svakom pokretanju bilo koje aplikacije. Na taj način se postiže efekt zaraze i nad novim instaliranim aplikacijama.

Osnovne vrste virusa

  • boot sektor virusi – kopiraju svoj maliciozni kod u Master boot sektor i na taj način osiguravaju izvršenje malicioznog koda pri svakom startu računalnog sustava
  • programski virusi – aktiviraju se pri izvršenju zaražene izvršne datoteke, najčešćom s ekstenzijom .exe ili .com
  • makro virusi – virusi koji su napisani višim programskim makro jezikom imaju mogućnost da sami sebe kopiraju, brišu i mijenjaju dokumente


Tehnike prikrivanja koje koriste virusi

„Potpis virusa“ je uzorak sastavljen od niza okteta koji je dio malicioznog koda određenog virusa ili skupine virusa. Ukoliko antivirusni program pronađe takav uzorak u datoteci, obavještava korisnika da je datoteka inficirana. U svrhu težeg otkrivanja, virusi koriste razne tehnike pomoću kojih mijenjaju virusne potpise, dok se njihov kod modificira prilikom svake infekcije što znatno otežava antivirusnom alatu detektiranje virusa.

"Stealth" tehnike
Sakriveni virus leži u pozadini, presreće zahtjeve koje šalje antivirusni alat prema operativnom sustavu, kako bi ih analizirao računalni sustav te na taj način obmanjuje korisnika i antivirusni program da je sve u redu. Virusi koji koriste „stealth“ tehnike su obično rezidentni u RAM memoriji računala i koriste se podacima, odnosno, dijelom koda koji se nalazi sakriven na nezauzetim sektorima diska, a često se koriste i druge metode sakrivanja kao što je sakrivanje promjene dužine pojedinih datoteka i foldera.

Polimorfni kod
Svaki puta pri novoj zarazi, odnosno repliciranju, virus mijenja svoj kod i dužinu te ga je teško prepoznati standardnim metodama prepoznavanja potpisa, jer se isti mijenja.

Metamorfni kod
U svrhu izbjegavanja od detekcije neki se virusi samostalno na novo reprogramiraju te na taj način promjene svoj kod i potpis. Razlika između polimorfnog i metamorfnog koda je ta, što polimorfni virus koristi tehnike enkripcije za promjenu potpisa, dok metamorfni virus mijenja svoj kod i pri tome zadržava istu funkcionalnost. Metamorfni virus je u većini slučajeva velik i kompleksan.