Professional Documents
Culture Documents
Glava 5
Glava 5
60
61
1) Parazitni virusi mijenjaju sadraj inficiranih fajlova, ali tako da ti fajlovi i dalje
ostanu kompletno ili djelimino upotrebljivi (programi i dalje relativno normalno
funkcioniu). U veini sluajeva, originalni kod se pomjera navie ili nanie kako
bi se napravio prostor za kod virusa;
2) Virusi koji prepisuju sadraj fajla prepisuju originalni programski kod svojim
kodom. Na taj nain unitavaju originalni programski kod i program vie na moe
da funkcionie;
3) Virusi sa neprimijetnom ulaznom takom (EPO Entry-Point Obscuring) umeu
u program samo kod koji pokree kod virusa. Instrukcija koja pokree kod virusa
obino se izvrava pod specifinim programskim uslovima, tako da virus moe
due vremena ostati neaktivan.
4) Pratei virusi kreiraju klon host fajla koji se zatim pokree umjesto originalnog
fajla (npr. kod DOS operativnog sistema formira se COM fajl koji se pokree
umjesto originalnog EXE fajla). Ovi virusi mogu da preimenuju ciljni fajl, a
originalni naziv da dodijele zaraenom klonu ili da promijene DOS putanju tako
da vodi do zaraenog fajla;
5) Crvi fajlova ne povezuju se na postojei fajl, ve kopiraju svoj kod u novi fajl,
obino mu dajui specifino ime (setup.exe, install.exe), tako da ga korisnik
raunara grekom moe aktivirati. Ponekad ubacuju i kodove za pokretanje
zaraenog fajla (npr. u BAT fajlove ili u Windows Startup);
6) Link virusi ne mijenjaju fiziki sadraj host fajla, ve kada se on pokrene
primoravaju operativni sistem da pokrene i kod virusa. To se postie
modifikovanjem prvog klastera host fajla, tako da ukazuje na klaster koji sadri
kod virusa.
Virusi koji inficiraju fajlove mogu, takoe, biti statiki ili polimorfni. Statiki virusi se
nikada ne mijenjaju tj. kod virusa ostaje isti kroz sve infekcije. Polimorfni virus se moe
mijenjati prilikom prelaska sa jednog sistema na drugi, tako da ga je teko otkriti. Takoe,
virusi mogu kombinovati infekciju fajlova zajedno sa infekcijom boot sektora.
Najlaki nain za detektovanje virusa koji inficiraju fajlove je praenje veliine
fajlova. Antivirsni programi takoe posjeduju i druge naine za identifikovanje ovih virusa.
Oni mogu pretraivati izvorni kod kako bi pronali tekst koji upisuju uobiajeni virusi.
Takoe, mogu nadgledati pristup izvrnim fajlovima koji su obino read-only, tako da upis u
bilo koji od ovih fajlova predstavlja sumnjivo ponaanje.
Virusi koji inficiraju boot sektor Smjeteni su na dijelu diska koji se uitava u memoriju
prilikom podizanja sistema (na flopi disku to je boot sektor, a za hard disk ekvivalentna oblast
poznata kao Master Boot Record - MBR). Kada se jednom uita, virus moe da zarazi druge
diskove koje raunar koristi. Ovi virusi mogu biti izuzetno destruktivni ako otete ili prepiu
boot sektor hard diska, mogu da sprijee kompletno startovanje raunara, a mogu i da unite
odreene ili sve podatke sa hard diska. Oni su bili naroito aktuelni u vrijeme masovnog
korienja flopi diskova, kada se virus prenosio sa flopi diska na hard disk (i obratno) i tako
se irio. Danas je ei sluaj tzv. hibridnog virusa koji sadri komponentu za inficiranje boot
sektora zajedno sa infektorom fajla, Trojancem ili kodom crva.
U optem sluaju, virusi boot sektora se lako identifikuju i uklanjaju. Tipini virus
boot sektora usporava boot rutinu i esto prikazuje neuobiajene poruke na ekranu raunara.
Antivirusni programi pronalaze ove viruse skeniranjem boot sektora. Veina virusa ima
identifikujui tekst koji se inae ne nalazi u boot sektoru (odnosno MBR kodu). Na pojavu
infekcije, takoe, ukazuje i promjena veliine MBR koda, jer prisutstvo virusa utie na
62
poveanje njegove veliine (standardni MBR kod zauzima manje od polovine sektora na hard
disku, a veina virusa je znatno vea).
Makro virusi To su virusi kreirani pomou makro jezika kojeg koriste brojne softverske
aplikacije. Makroi su manji programi koji se kreiraju za visoko specifine zadatke u okviru
aplikacije i napisani su pseudo programskim jezikom dizajniranim za rad sa aplikacijom (npr.
Visual Basic for Applications (VBA) koji se koristi u Microsoft-ovim aplikacijama). Makro
virusi se ne aktiviraju otvaranjem aplikacije, ve tek nakon otvaranja zaraenog dokumenta
(npr. otvaranjem zaraenog Word fajla). Da bi se to postiglo veina ovih virusa koristi makroe
koji se automatski izvravaju svaki put kada se dokument otvori (ili nakon specifine akcije
programa), bez traenja dozvole ili akcije korisnika. Makro virus tada moe da brie tekst,
preimenuje ili brie fajlove i sl. Veina ovih virusa se kopira na standardni templejt (default
tamplate) aplikacije (npr. u Microsoft Word-u to je templejt Normal, pod nazivom
normal.dot), tako da svi novokreirani dokumenti bivaju zaraeni. Slika 5.1.2. prikazuje tipini
makro virus nakon uitavanja i izvrenja.
Dokument je otvoren (u okviru aplikacije)
Dokument uitava makroe
Izvravaju se makroi koji se automatski
pokreu
Virus je pokrenut kao auto-run makro i
uitava se u sistemsku memoriju
Virus kopira svoje makroe u standardni
templejt (ablon) aplikacije
Virus isporuuje svoj sadraj
Slika 5.1.2. Nain na koji makro virus inficira sistem.
Prisustvo makro virusa obino moe da se otkrije na osnovu neuobiajenog ponaanja
host aplikacije. Jedan od naina za pronalaenje makro virusa jeste otvaranje liste makroa u
aplikacionom softveru (u zaraenom dokumentu pojavljuju se nepoznati makroi). Takoe,
makro virusi mogu izazvati promjenu standardnih (default) postavki u programu.
Najbolja zatita od makro virusa jeste kombinacija bezbjednog ponaanja
(neprihvatanje neeljenih dokumenata), antivirusnog softvera i konfigurisanje aplikacija tako
da se pojavljuju upozorenja prije aktiviranje makroa.
Skript virusi Ovi virusi su zasnovani na skript jezicima (Visual Basic Script VBS,
JavaScript i dr.), koji lie na makro pseudo-programske jezike, a koji se koriste na Web
sajtovima i nekim kompjuterskim aplikacijama. Oni se esto izvravaju automatski sa
otvaranjem Web stranice ili HTML e-maila. Napomenimo da se makro virusi mogu svrstati u
grupu skript virusa, ali je nain njihovog distribuiranja (preko dokumenata) drugaiji od
63
ostalih skript virusa (preko zaraenih Web stranica, e-mail poruka, fajlova pripojenih e-mail
porukama i Internet Relay Chat IRC sesija).
Standardni metodi zatite od virusa mogu efikasno da zatite sistem i od infekcija
skript virusa. Mogua mjera je, takoe, konfigurisati Web browser i program za e-mail tako
da automatski ne izvravaju veinu uobiajenih ugraenih skriptova.
Trojanci i crvi Trojanac je program koji tvrdi da radi jednu, a ustvari radi sasvim drugu
stvar. Isporuuje svoj sadraj kroz obmanu, ba poput mitolokog trojanskog konja. Najee
se isporuuju kroz attachment-e uz e-mail poruke. Otvaranjem attach fajla isporuuju svoj
sadraj i nanose tetu sistemu. Maskiraju se u praktino sve tipove fajlova (aplikacije,
dokumente, slike, antivirusne alatke, itd.). Razlikuju se od klasinih virusa po tome to se ne
mogu replicirati (tj. kopirati). Posebnu opasnost ine tzv. backdoor Trojanci koji,
neovlatenim korisnicima, omoguavaju daljinski pristup inficiranom sistemu.
Crv je kompjuterski program koji se kopira sa jedne maine na drugu, obino bez
eksplicitne akcije korisnika. ire se preko mree (automatskim slanjem e-mail, IRC ili instant
poruka). Isporuuju destruktivne sadraje ili samo zaguuju mreu samopropagiranjem.
Najskriveniji su tzv. mreni crvi. Najee koriste propuste u Web serverima i browserima.
Dok funkcioniu, ovi programi postoje samo u sistemskoj memoriji tako da ih je tee
identifikovati od pomenutih crva fajlova. Crvi skeniraju mreu kompanije ili Internet, traei
drugi raunar sa specifinim propustom po pitanju zatite. Brzo se repliciraju, a mrea
zaraena crvom moe da se obori za nekoliko sati.
5.1.3. Osnovni principi rada antivirusnih programa
Veina antivirusnih programa ima sline funkcionalne karakteristike. Oni najee
omoguavaju: runo skeniranje, skeniranje u realnom vremenu (dinamiko nadgledanje
sistema), skeniranje e-maila, uitanih fajlova, skriptova i makroa. Pored mogunosti za
pronalaenje poznatih virusa (skeniranjem potpisa), obino imaju mogunost detekcije i
nepoznatih virusa (najee primjenjuju heuristiko skeniranje). Opisaemo ukratko ove
tehnike.
Skeniranje potpisa Primarni metod detektovanja poznatih virusa kojeg koriste antivirusni
programi naziva se skeniranje potpisa. Ovaj metod provjerava da li u sadraju skeniranog
fajla postoje unaprijed definisane jedinstvene sekvence binarnih kodova poznatih virusa (slika
5.1.3.). Kodovi poznatih virusa se nalaze u bazi podataka antivirusnog programa. U sluaju
podudarnosti, program oznaava fajl kao inficiran i preduzima odgovarajuu akciju.
Definicije virusa
Virus A: 01 02 03 04
Virus B: 11 12 13 14
Virus C: 21 22 23 24
Virus D: 31 32 33 34
Virus E: 41 42 43 44
Virus F: 51 52 53 54
Skener potpisa
Inficirani fajl
A2 B7 D5 E9
54 A6 B2 55
00 11 33 55
31 32 33 34
00 00 FF 0F
00 22 99 FF
Podudarnost
64
65
66
67
vrsta napada esto koristi programerski bag nazvan prekoraenje bafera. Kada se bafer
napadnutog programa prepuni podacima (zahvaljujui napadau), originalni kod programa se
izbacuje i ubacuje se drugi kod. Na ovaj nain se u sutini reprogramira program,
omoguavajui napadau da aktivira svoj kod.
- Infrastrukturni napadi (Infrastructure Attacks) Infrastrukturni napad koristi slabosti u
tehnikom protokolu ili odreenoj infrastrukturi. Podsjea na napad eksploatisanja slabosti
programa, izuzev to je raireniji obuhvata cio sistem. Postoji vie vrsta infrastrukturnih
napada, a neki od njih su:
DNS prevara (DNS spoofing) Odvija se kada napada otme DNS (Domain Name
System) ime koje odgovara IP adresi nekog kompjutera ili Web servera. Napada
iskopira DNS ime na IP adresu svog kompjutera. Tada, korienjem napada povjerenje
u gostujue kompjutere, eventualno moe pristupiti i drugim serverima i mreama.
FTP odbijanje (FTP bouncing) U ovom sluaju pronalazi se pogodan FTP server koji
se koristi za slanje e-maila drugim kompjuterima i na taj nain se skriva izvor bilo kog
napada e-mailom.
ICMP bombardovanje (ICMP bombing) Protokol za kontrolu internet poruka (ICMP
Internet Control Message Protocol) koristi se od strane Internet usmjerivaa (rutera)
za obavjetenje host kompjutera da je odreena destinacija nedostupna. Napada alje
mnotvo lanih ICMP poruka kako bi izbacio host kompjuter sa Interneta.
Preusmjeravanje saobraaja ka izvoru (Source Routing) Ovo je sofisticiran napad
koji koristi ICMP bombardovanje i DNS prevaru kao korake ka veem napadu. Napad
poinje ICMP bombardovanjem provjerenog host kompjutera u ciljanoj mrei, kako bi
se on izbacio sa Interneta. Napada potom zauzima njegovo mjesto podeavanjem
svoje adrese na adresu bombardovanog kompjutera. Host kompjuter mree koja je
krajnji cilj napada sada gleda na sve komunikacije koje dolaze sa napadaevog
kompjutera kao da dolaze sa host kompjutera.
Trka za autentikacijom (Racing authentication) U ovoj vrsti napada napada se
prijavljuje na mreu u isto vrijeme kad i registrovani korisnik. On koristi isto
korisniko ime kao i registrovani korisnik i eka dok on ne unese sve osim posljednjeg
znaka svoje lozinke. Tada napada nasumice unosi posljednji znak i, ako pogodi,
pristupa ciljanoj mrei, dok je registrovani korisnik iskljuen.
Pogaanje TCP niza (TCP sequence quessing) Ova vrsta napada omoguava da se
napadaevi podaci infiltriraju u ciljanu mreu. Tehnika je bazirana na injenici da su
konekcije preko Interneta oznaene brojevima u polunasuminom nizu koji raste.
Napada presretne trenutnu konekciju ka ciljanom kompjuteru i (koristei
odgovarajui program) pogaa broj narednog mogueg niza. U sluaju da pogodi,
stvara se nova konekcija ka ciljanom kompjuteru i tada se mogu emitovati loi podaci
i intrukcije.
TCP upad (TCP Splicing) Napada se pozicionira negdje u mrei na putanji izmeu
dva kompjutera i eka da se legitmna konekcija uspostavi izmeu njih. Jednom kada je
konekcija uspostavljena napada upada u nju, otima tok podataka i postaje jedan od
korisnika.
Korienje slabosti beine mree Ako kompanija koristi mree zasnovane na WiFi
beinom protokolu, a nije ukljuila opciju za ifrovanje (WEP Wired Equivalent
Privacy), napada moe na relativno lak nain pristupiti mrei (npr. korienjem
laptopa i antene u blizini poslovnih objekata).
68
69
70
71
neprekidnog napajanja (UPS), praviti esto rezervne kopije i koristiti razliite pomone
programe za odravanje sistema.
Na kraju, moemo rei da su za uspjenu zatitu raunarske mree neophodne tri
komponente: prevencija, detekcija i obrada napada. Prevencija podrazumijeva sve mjere koje
neka organizacija preduzima da bi umanjila rizike za bezbjednost svog sistema. To su, kako
projektovanje i implementacija bezbjednijih operativnih sistema, tako i bezbjednosna pravila,
enkripcija, identifikacija, autentifikacija i firewall sistemi. Detekcija je proces gdje dolaze do
izraaja IDS i antivirusni skeneri. Rezultati procesa detekcije dovode do sljedeeg procesa
obrade napada, koji obino ima dvije faze. Prva je istraivanje otkrivenih problema i
dokumentovanje uzroka problema i druga, otklanjanje nastalog problema ili osmiljavanje
naina za otklanjanje problema ukoliko se ponovo javi. Svi savremeni IDS-ovi trebalo bi da
na osnovu bezbjednostnih pravila, procedura i iskustva, automatski izvravaju ove dvije faze.
5.2.4. Funkcije mrene barijere
Firewalli odravaju Internet konekciju to je mogue bezbjednijom tako to ispituju i
nakon toga odobravaju ili odbijaju svaki pokuaj povezivanja privatne mree i spoljnih mrea,
kao to je Internet. Oni omoguavaju centralizaciju svih bezbjednosnih servisa na spoljnim
mainama koje su optimizovane i posveene zadatku zatite.
Po prirodi, firewalli kreiraju "uska grla" (bottlenecks) izmeu unutranjih i spoljnih
mrea. Razlog za to je to sva saobraajna tranzicija izmeu ovih mrea mora proi kroz
jednu taku kontrole. Ovo je mala cijena za bezbjednost. S obzirom na to da su spoljne
zakupljene linije relativno spore u poreenju sa brzinama modernih raunara, zastoj
prouzrokovan firewallima moe biti kompletno transparentan. Veini korisnika su relativno
jeftini firewall ureaji vie nego dovoljni da se poveu sa Internetom. Za poslovne potrebe i
potrebe ISP-a (Internet Service Provider - Dobavlja Internet usluga), iji je Internet saobraaj
na mnogo viem nivou, razvijeni su ekstremno brzi (i skupi) firewalli, koji su u mogunosti da
opslue i najzahtjevnije privatne mree.
Firewalli primarno funkcioniu koristei tri osnovna metoda:
Filtriranje paketa - Odbacuje TCP/IP pakete neautentifikovanih hostova kao i pokuaje
povezivanja na neautentifikovane servise.
Network Address Translation (NAT) - Prevodi IP adrese unutranjih hostova i tako ih
skriva od spoljnog praenja. Ovaj metod se naziva i maskiranje IP adrese (IP address
masquerading).
Proxy servisi - Uspostavljaju konekcije na visokim aplikacionim nivoima za unutranje
domaine u cilju da se kompletno prekine konekcija mrenog sloja izmeu unutranjih i
spoljnih domaina.
Mogue je korienje ureaja ili servera koji obavljaju samo jednu od navedenih
funkcija; na primjer, moe se koristiti usmjeriva (ruter) koji obavlja filtriranje paketa, kao i
proxy server na posebnoj maini. Na ovaj nain, filter za pakete mora propustiti saobraaj
kroz proxy server ili se proxy server mora nalaziti van unutranje mree, bez zatite koju
prua filtriranje paketa. Oba naina su opasnija od korienja samo jednog firewall proizvoda
koji obavlja sve bezbjednosne funkcije u isto vrijeme. Veina firewalla takoe obavlja dva
podjednako vana bezbjednosna servisa:
- ifrovana autentifikacija - Omoguava korisnicima na javnim mreama da dokau svoj
identitet firewallu, u cilju spreavanja pristupa privatnim mreama sa spoljnih lokacija.
73
inicirao unutranji host, koji je povezan na svoj unutranji mreni nterfejs, zna IP adresu tog
hosta i zna na kom portu oekuje odgovor. Firewall zatim pamti da treba da dozvoli spoljnom
hostu, ija se adresa nalazi u konekcionoj poruci, da vrati saobraaj na IP adresu unutranjeg
hosta samo na port koji je odreen. Kada uesnici u sesiji zatvore TCP konekciju, firewall
brie unose u svojoj tablici stanja (memorija u kojoj se nalazi stanje konekcija) i time prekida
mogunost udaljenom hostu da dalje komunicira sa unutranjim. Ukoliko unutranji host
prestane da odgovara prije zatvaranja TCP konekcije (na primjer, zbog prekida veze) ili ako
protokol koji je u pitanju ne podrava sesije (na primjer, UDP), firewall e ukloniti unos u
tablicu stanja konekcije nakon programiranog isteka vremena od nekoliko minuta.
Filtriranje ne rjeava u potpunosti problem bezbjednosti na Internetu. Kao prvo, IP
adrese raunara u filteru su predstavljene u dolazeem saobraaju, to pojednostavljuje
odreivanje tipa i broja Internet hostova u filteru, kao i praenje napada na ove adrese.
Filtriranje ne sakriva identitet domaina u filteru. Pored toga, filteri ne mogu provjeriti sve
fragmente jedne IP poruke, zasnovane na protokolima vieg nivoa, kao to su TCP zaglavlja,
iz razloga to zaglavlje postoji samo u prvom fragmentu. Podijeljeni fragmenti nemaju
informacije o zaglavlju i mogu biti uporeeni samo sa IP pravilima, koja uobiajeno
dozvoljavaju neto saobraaja kroz filter. Ovo omoguava grekama u odredinim IP
stekovima raunara na mrei da se eksploatiu i mogu omoguiti komunikacije sa Trojanskim
konjem instaliranim negdje na mrei. Savremeniji firewallovi podravaju povratak
fragmentovanih podataka u preanje stanje i nakon toga primjenu firewall pravila na njih.
Konano, filteri nijesu dovoljno sloeni za provjeru legitimnosti protokola u okviru paketa
mrenog sloja. Na primjer, filteri ne ispituju HTTP pakete, sadrane u TCP paketima, radi
utvrivanja da li oni sadre elemente kojima hakeri gaaju web pretraiva ili web server na
kraju konekcije. Veina pokuaja modernog hakerisanja zasnovana je na iskoriavanju ovih
servisa viih slojeva TCP/IP steka, iz razloga to su firewalli gotovo eliminisali uspeno
hakerisanje na mrenom sloju, ako izuzmemo neugodne napade tipa "odbijanje izvrenja
servisa" (DoS, denial-of-service).
Prevoenje adresa iz mree (Network Address Translation - NAT)
Prevoenje adrese iz mree rjeava problem skrivanja unutranjih hostova. NAT je
zapravo proxy mrenog sloja: jedan host ini zahtjeve u ime svih unutranjih hostova. Na taj
nain on skriva njihov identitet na javnoj mrei. Napomenimo da veina savremenih
operativnih sistema obezbeuje ovu funkciju kao dio samog operativnog sistema.
NAT skriva adrese unutranjih hostova, konvertujui ih u adresu firewalla. Firewall
zatim ponovo alje podatke unutranjih hostova, koristei sopstvenu IP adresu. Korienjem
TCP broja porta, uspijeva da prati koje se konekcije na javnom dijelu podudaraju sa
hostovima na privatnom dijelu mree. Gledano sa Interneta, sav saobraaj sa lokalne mree
izgleda kao da dolazi sa jednog, ekstremno zaposlenog raunara.
Prevoenje IP adresa omoguava korienje bilo kog opsega IP adresa na unutranjoj mrei,
ak i ako se te adrese ve koriste negdje na Internetu. Takoe, NAT dozvoljava
multipleksiranje jedne javne IP adrese kroz cijelu mreu.
Proxy servisi
NAT rjeava mnoge probleme Internet konekcija, ali ne sprovodi potpunu kontrolu
podataka kroz firewall. Mogue je, na primjer, da neko uz pomo mrenog monitora pregleda
saobraaj koji dolazi iz firewalla i na osnovu dobijenih informacija zakljui da firewall
prevodi adrese drugih maina. Hakeri na ovaj nain mogu dobiti informacije potrebne za
otimanje TCP konekcija ili za prolaz kroz firewall lanom konekcijom.
75
76
77
78
79
Slika 5.2.5. Primjer dva firewalla postavljena tako da tite kompletnu mreu
Najvei broj firewall proizvoda dozvoljava upotrebu demilitarizovanih zona koje
omoguavaju funkcionalnost posjedovanja dva firewalla tako to sadre razliite
bezbjednosne politike za svaki postavljeni interfejs na firewallu. Sa tri postavljena interfejsa
-spoljna mrea, unutranja mrea i mrea javnog servera moe se definisati bezbednosna
politika da blokira pokuaje konekcije na unutranju mreu, ali da dozvoli pojedine protokole
do javnih servera. Ovo omoguava funkcionalnost dva firewalla korienjem samo jednog
proizvoda (slika 5.2.6.).
Slika 5.2.6. Primjer DMZ firewalla koji omoguava razliitu bezbjednost za razliite potrebe
Pojedine velike organizacije upotrebljavaju tzv. Enterprise firewalle. To su proizvodi
koji dijele jednu centralnu firewall politiku na vie firewalla. Enterprise firewalli dozvoljavaju
da se zadri centralna kontrola bezbjednosne politike, bez brige o tome da li je politika
korektno implementirana na svakom firewallu unutar organizacije. Politika firewalla je obino
80
81