Professional Documents
Culture Documents
Virus-osnove
Kompjutorski virusi su programirane rutine izradjene da bi izazvale
smetnje u radu , oštecenja ili uništenje datoteka, programa ili
podataka. Zlonamjerno napisani kompjutorski programi ili dijelovi
programskog koda nazivaju se raznim imenima. Uz vec spomenute
zeceve tu ima i crva (worm), trojanskih konja, logickih bombi,
zamki(trap-door) i naravno virusa.
-Crv je program koji se širi samoumnozavanjem kroz kompjuterske
mreze. Crv je samostalan i za razliku od virusa ne treba program
domacin da bi radio. Crva u pogon pušta i kontrolira sam autor.
-Logicka bomba je metoda aktivacije procesa temeljem zadovoljenja
logickog uvjeta. Logicka bomba ustvari predstavlja princip djelovanja,
a ne cjelovit mehanizam.
-Trojanski konj je program koji naizgled sluzi za neku drugu operaciju
od one za koju je napravljen. Trojanski konj bi recimo bio program koji
izgleda kao tekst procesor, a zapravo jednom pokrenut formatira hard
disk.
-Zamka predstavlja posebnu nedokumentiranu funkciju programa
koja se moze pokrenuti na unaprijed odredjen nacin. Programeri koji
pišu razlicite programe cesto znaju predvidjeti posebnu lozinku ili
sekvencu znakova koja jednom otipkana omogucava pristup
nevidljivim podacima.
-Virus je dio programskog koda koji je sposoban izvršiti
samokopiranje (infekciju) tako da dodaje svoj sadrzaj u druge
programe ili u operativni sustav. Dakle postoji velika slicnost izmedju
kompjutorskih i bioloških virusa.
Virus se obicno sastoji od dva dijela. Prvi dio je samokopirajuci kod,
koji omogucava razmnozavanje (kopiranje) virusa, a drugi dio je
koristan teret (payload) koji moze biti bezopasan ili opasan. Neki se
virusi sastoje samo od samokopirajuceg koda i nemaju nikakav
koristan teret.
Vrijeme koje je proteklo od smještanja virusa na kompjutor do
njegovog pokretanja naziva se latentno stanje virusa.
Prva faza djelovanja virusa je faza širenja, ona je vjerojatno
najvazniji trenutak u zivotu svakog virusa, jer da nema nje, ne bi bilo
ni 'epidemije' kompjutorskih virusa.
Druga faza je faza mirovanja. Tada se virusi primire, ne daju ni znaka
zivota od sebe i samo cekaju pogodan trenutak da ispune svoju
zivotnu zadacu: da vam zagorcaju zivot cineci svakakve pakosti. Ova
faza moze i ne mora postojati. Ukoliko postoji, veoma je teško
odrediti od kojeg programa i kada je zaraza pocela.
Treca i posljednja faza u zivotu svakog kompjutorskog virusa je faza
uništavanja, ona odredjuje kada ce virus izvršiti svoj teroristicki
napad. Da bi se pokrenula faza uništavanja, moraju biti ispunjeni
odredjeni uvjeti. Oni su razliciti od virusa do virusa i ovise o mašti
pokvarenog uma koji je stvorio virus. Obicno se trazi da tekuci datum
bude petak 13-ti, ili prvi april, ili 1.1.2000. U fazi uništavanja virusi
nanose štetu korisniku kompjutora. Neki se virusi zadovoljavaju time
da se malo igraju, ispisujuci razne, cesto uvredljive poruke, ili
odbijajuci ping pong lopticu po ekranu. No to su samo nedorasli
primjerci, bebe-virusi. Njihove mame i tate nisu tako njezni, brisu
datoteke sa diska, pišu po FAT tabeli, formatiraju diskete, usporavaju
normalan rad sistema ili ga potpuno blokiraju.
Vrste virusa
Postoji pet glavnih vrsta kompjutorskih virusa :
-boot sector virusi
-parazitski virusi
-svestrani (multipartite) virusi
-virusi pratioci (companion)
-link virusi
Mreze i Virusi
Boot sektor i link virusi nisu u stanju zaraziti mrezni disk, ali mogu
napasti DOS particiju posluzitelja mreze. Parazitski i svestrani virusi,
te virusi pratioci, mogu zaraziti izvršne programe na mreznom disku.
Buduci da korisnici na mrezi vrlo cesto izvršavaju iste programe,
zarazeni program na mreznom disku uskoro ce zaraziti izvršne
programe na hard diskovima radnih stanica, a onda ce kopiranjem
programa na floppy diskete i njihovom razmjenom nastaviti širenje
zaraze i izvan mreznog sustava. Najsigurniji nacin zaštite je redovito i
pouzdano arhiviranje podataka (backup). Izuzetno je vazno instalirati
program za pronalazenje poznatih virusa na mrezi. Antivirusni
program mora biti sposoban pregledavati mrezne diskove.
Zadnjih par godina svjedoci smo širenja gobalne mreze interneta. Ni
ova mreza kao ni ostale nije imuna na kompjutorske viruse. Dana 2.
studenog 1988. oko 17 sati, racunalnu mrezu internet napao je
najpoznatiji ikad otkriveni mrezni "crv". Na udaru su bila samo
racunala tipa Sun 3 i VAX pod UNIX operativnim sustavom. Širio se
je zapanjujuce brzo . Prvi pokušaji analize izvedeni su na MIT-u i
pokazalo se da se radi o crvu koji se širi putem elektronske pošte.
Tek se kasnije pokazalo daje to samo jedan od nacina širenja ovoga
virusa. Reakcije administratora na racunalima bile su razlicite. Oni su
iskljucili racunala, neki samo iz mreze, a mnogi i potpuno. Racunala
koja su ostala na mrezi postala su uskoro neoperativna jer su kopije
crva, koje su se nekontrolirano mnozile, trošile sve resurse racunala,
tako da se drugi programi nisu mogli normalno izvršavati. To je bila i
jedina šteta koju je ovaj crv pocinio. Ovaj se crv ubraja u relativno
miroljubive pošto nije brisao niti mijenjao podatke.
Crv se sastoji od dva dijela. Glavni program pronalazi racunala
pogodna za napad i razbija korisnicke lozinke, a vektor program ima
ulogu prethodnice i nakon uspješnog napada prenosi glavni program.
Antivirusni programi
Najjednostavnija definicija antivirusnog programa jest da je to
program sposoban u svakom trenutku otkriti, identificirati te otkloniti
virus sa racunala.
Autori antivirusnih programa danas poznaju više od 5000
kompjutorskih virusa. Svaki mjesec oni u svoje programe ugrade
podatke za prepoznavanje nekoliko stotina novih virusa.
Najpopularniji, iako ne i najsigurniji programi za pronalazenje
kompjutorskih virusa su programi za pronalazenje poznatih
kompjutorskih virusa - scanneri. Za prepoznavanje virusa scanneri
koriste prethodno pribavljene informacije o svakom pojedinom virusu .
Prvi su scanneri viruse prepoznavali na temelju search stringa-niza
heksadecimalnih znakova, ustvari dijela koda koji je sastavni dio
virusa. Kako su autori kompjutorskih virusa smislili tehnike
polimorfizama (samoizmjenjivimnogooblicni kod), kojima
onemogucavaju upotrebu istog search stringa, tako su autori
antivirusnih programa bili prisiljeni zapoceti korištenje naprednijih
metoda, koje se oslanjaju na prepoznavanje uzoraka, statistiku,
automatsko disasembliranje koda i sl.
Kako scanneri otkrivaju poznate kompjutorske viruse, mogu lako
pasti na ispitu ako im se kao protivnik iznenada pojavi novi ,
antivirusnoj industriji još nepoznat kompjutorski virus.
Buduci da programi za nespecificnu detekciju virusa - checksummeri
ne pate od ove bolesti, neki proizvodjaci antivirusnih programa nude
posebne programe za nespecificnu detekciju, ili takvu mogucnost
dodaju kao funkcionalnu jedinicu za svoj scanner.
Programi za nespecificno prepoznavanje virusa na bazi
checksumma ne prepoznaju specificne viruse vec prepoznaju
promjene na postojecim sadrzajima. Takve promjene, pogotovo kada
nastaju na djelovima operativnog sustava ili na izvršnim programima,
najcešce pobudjuju sumnju na postojanje kompjutorskog virusa.
Najnoviji trend u antivirusnoj industriji je tzv. heuristika - pronalazenje
virusa temeljeno na poznavanju karakteristika i/ili nacina rada
kompjutorskih virusa. Heuristika se obicno zasniva na tehnologiji
znanja (knowledge based), umjetnoj inteligenciji (artifical intelligence)
i/ili primjeni pravila (rule based). Heuristicki programi, zapravo
takodjer scanneri ne prepoznaju specificne kompjutorske viruse, oni
prepoznaju skup obiljezja koja su zajednicka svim kompjutorskim
virusima kao što su npr. programski kod koji provjerava da li pojedini
sadrzaj na disku ima COM ili EXE ekstenziju, pokušaj pisanja po
izvršnoj datoteci, pokušaj ostajanja rezidentnim u memoriji i slicno.
Nedostatak checksummera lezi u cinjenici da se njima otkriva
infekcija virusom tek nakon što se vec dogodila, dok pravilno korišten
scanner otkriva virus na disketama prije nego što zarazi kompjutor .
Recnik
Antivirusni program je program sposoban u svakom trenutku otkriti,
identificirati te otkloniti virus sa racunala.
Boot sector virusi najstariji su virusi na IBM PC kompatibilnim
kompjutorima. Oni napadaju Master Boot sektor (partition table), DOS
boot sector (oba na hard diskovima) ili boot sector floppy disketa.
Checksummeri su programi za nespecificno prepoznavanje virusa
koji ne prepoznaju specificne viruse vec prepoznaju promjene na
postojecim sadrzajima. Takve promjene, pogotovo kada nastaju na
dielovima operativnog sustava ili na izvršnim programima, najcešce
pobudjuju sumnju na postojanje kompjutorskog virusa.
Crv je program koji se širi samoumnozavanjem kroz kompjutorske
mreze. Crv je samostalan i za razliku od virusa ne treba program
domacin da bi radio. Crva u pogon pušta i kontrolira sam autor. Crv
se sastoji od dva dijela. Glavni program pronalazi racunala pogodna
za napad i razbija korisnicke lozinke, a vektor program ima ulogu
prethodnice i nakon uspješnog napada prenosi glavni program.
Dekripcija ili dešifriranje je obrnuti postupak od šifriranja.
Elk Cloner - prvi znani nalaz kompjutorskog virusa datira još u 1981.
godinu,a pronadjen je na Apple II racunalu.
Enkripcija ili šifriranje je postupak kojim se originalna informacija
mijenja u cilju skrivanja njenog pravog sadrzaja.
Heuristika - tehnika zapronalazenje virusa temeljena na poznavanju
karakteristika i/ili nacina rada kompjuterskih virusa. Heuristika se
obicno zasniva na tehnologiji znanja (knowledge based), umjetnoj
inteligenciji (artifical intelligence) i/ili primjeni pravila (rule based).
Korupcija podataka je neprekidno i progresivno propadanje integriteta ili
tocnosti podataka. Korupcija podataka moze biti izazvana namjerno ili se
javiti slucajno. Oštecene mogu biti baze podataka, arhive sa programima i
podacima, tekstualne datoteke i sl. Slucajan oblik korupcije je kada virus
greškom inficira tekstualnu datoteku. Datoteka ce biti oštecena, a virus u toj
datoteci nece se moci razmnozavati.
Len Adleman je prvi puta u povijesti upotrijebio rijec "virus" opisujuci
samokopirajuci kod.
Link virusi su najinfektivnija vrsta virusa, koji kada su jednom pokrenuti u
trenu inficiraju kompjutorski sistem. Ovi virusi ne mijenjaju napadnute
programe vec mijenjaju pokazivace u strukturi direktorija na takav nacin da
ih preusmjere na klaster na disku gdje je prethodno skriven virusni kod.
Kada napadnuti program bude izvršen, prvo ce se izvršiti virusni kod. Nakon
toga virus preuzima kontrolu i ucitava program sa ispravne lokacije.
Logicka bomba je metoda aktivacije procesa temeljem zadovoljenja
logickog uvjeta. Logicka bomba ustvari predstavlja princip djelovanja, a ne
cjelovit mehanizam.
Mark Wasburn je napravio prvi polimorfni virus.
Parazitski virusi su najcešca vrsta virusa. Ovi su virusi sposobni
zaraziti izvršne datoteke na sistemu dodavanjem svog sadrzaja na
kraj, na pocetak ili ugradjivanjem svog sadrzaja u samu strukturu
programa, mijanjajuci tok inficiranog programa tako da se virusni kod
izvrši prvi.
Polimorfizam je preoblikovanje izvršnog koda, na takav nacin da se
ocuva funkcionalnost virusa , a istovremeno bitno promijeni njegov
izgled. Polimorfizam se najcešce koristi uz tehniku enkripcije.
Scanneri - programi za pronalazenje poznatih kompjutorskih virusa.
Za prepoznavanje virusa scanneri koriste prethodno pribavljene
informacije o svakom pojedinom virusu.
Stealth je kompleksna tehnika koju koriste pisci kompjutorskih virusa.
Osnova ove tehnike je pokušaj prijevare korisnika, sistema ili
antivirusnog programa na takav nacin da ga se uvjeri da se u sistemu
ne dogadja ništa neobicno. Na primjer, najjednostavnija tehnika
samosakrivanja je presretanje DIR komande na takav nacin da se
umjesto stvarne , pokaze duljina zarazenih programa prije infekcije.
Tehnike samosakrivanja koriste nacin komunikacije izmedju hardvera
i softvera (preko interrupta).
Svestrani virusi - dobre osobine boot sektor i parazitskih virusa ujedinjene
su kod svestranih virusa. Ovi virusi mogu inficirati i boot sektore i izvršne
programe.
Trojanski konj je program koji naizgled sluzi za neku drugu operaciju od
one za koju je napravljen. Trojanski konj bi recimo bio program koji izgleda
kao tekst procesor, a zapravo jednom pokrenut formatira hard disk.
Virus je dio programskog koda koji je sposoban izvršiti samokopiranje
(infekciju) tako da dodaje svoj sadrzaj u druge programe ili u operativni
sustav.
Virusi aktivni u memoriji - ova vrsta virusa se instalira u radnoj
memoriji i ostaje aktivna dugo nakon što zarazeni program bude
izvršen. Virus aktivan u memoriji moze biti sposoban zaraziti svaki
izvršeni program, svaku disketu koja bude pokrenuta, on u svakom
trenutku moze iskrcati svoj korisni teret.
Virusi koji nisu rezidentni u memoriji - vrsta virusa koji nakon
izvršenja svojega koda i vracanja kontrole originalnom programu ne
ostaju aktivni u memoriji. Ova vrsta virusa djeluje tako da pronadje
pogodan objekt za infekciju i zarazi ga.
Virusi pratioci su najjednostavniji oblik kompjutorskih virusa. Oni
koriste prioritet kojim se izvršavaju programi sa istim imenom pod
DOS-om. COM datoteke se uvijek izvršavaju prije EXE datoteka.
Virus pratioc stvori COM datoteku sa imenom vec postojeceg EXE
programa i ugradi u nju svoj kod. Kada program bude pozvan
umjesto EXE programa izvršiti ce se COM program sa virusnim
kodom. Sada virus vraca kontrolu EXE programu. Da bi prikrio
prisustvo virus postavlja skriveni atribut za COM program.
Zamka predstavlja posebnu nedokumentiranu funkciju programa koja
se moze pokrenuti na unaprijed odredjen nacin. Programeri koji pišu
razlicite programe cesto znaju predvidjeti posebnu lozinku ili
sekvencu znakova koja jednom otipkana omogucava pristup
nevidljivim podacima.
Zec je preteca virusa koji je nastajao slucajem ili greskom kada je
pomahnitali kompjutorski program poceo sam sebe kopirati po
sistemu, uzrokujuci usporavanje brzine rada kompjutera ili cak pad
sistema.
Literatura
Virusi u racunarima, Moj mikro/ lipanj, 1989;
S. Milašinovic: Nešto zivo u mom PC-ju, Svet kompjutera/ broj 75,
prosinac, 1990;
L. Caric: Mreze i virusi - lako proširiva zaraza, BUG/ ozujak,1993;
L. Caric: Tema broja - kompjutorski virus, BUG/ broj 17, travanj, 1994;