Kompjuterski virusi

Tekstovi o zaštiti, 29.11.2009, 23:19 PM

Kompjuterski virusi

Kompjuterski virusi se mogu klasifikovati prema svom okruženju i metodama infekcije. Pod okruženjem se podrazumeva aplikacija ili operativni sistem čije je prisustvo potrebno kako bi virus inficirao fajlove. Metode infekcije su tehnike koje se koriste za ubacivanje virusnog koda u dati fajl.

Okruženje

Većina virusa može se naći u jednom od sledećih okruženja:

  • Sistemski fajlovi

  • Boot sektori

  • Macro okruženja

  • Script hostovi

Virusni fajlovi za širenje koriste sistemski fajl datog operativnog sistema (ili više njih). Virusni fajlovi se mogu podeliti u sledeće kategorije:

  • oni koji inficiraju izvršne fajlove (ovo je najveća grupa virusa)

  • oni koji stvaraju duplikate fajlova (virusi pratioci)

  • oni koji stvaraju svoje kopije u različitim direktorijumima

  • oni koji koriste svojstva sistemskog fajla (link virusi)

Virusi boot sektora se upisuju ili u boot sektor diska ili na master boot record, ili pak infekciju izvrše tako što izmeštaju aktivan boot sektor. Ovi virusi su bili široko rasprostranjeni devedesetih godina prošlog veka, ali su skoro nestali sa pojavom 32-bit procesora i povlačenjem iz upotrebe flopi diskova. Tehnički je moguće pisanje boot sektor virusa za CD-ove i USB fleš ROM, ali takvi virusi još uvek nisu otkriveni.

Mnoge aplikacije za obradu teksta, računanje, editovanje kao iaplikacije za izradu projakata imaju ugrađene macro script-ove koji automatizuju često korišćene frekvence. Ovi macro jezici su često složeni i uključuju širok spektar komandi. Macro virusi su pisani u macro jezicima i inficiraju aplikacije sa ugrađenim macro-ima. Macro virusi se šire korišćenjem mogućnosti macro jezika kako bi ostvarili prelaz sa inficiranog na drugi fajl.

Metode infekcije

Grupa virusa koji su prikazani u tekstu iznad mogu se razvrstati u podgrupe prema tehnikama koje virusi koriste za infekciju objekata.



Virusni fajl

Virusni fajl koristi sledeće metode infekcije:

  • prepisivanje (preko postojećeg)

  • parazitiranje

  • pratilac

  • linkovi

  • object moduli (OBJ)

  • kompajling (prevođenje) datoteka

  • izvorni kod aplikacije

Prepisivanje

Ovo je najednostavniji metod infekcije: virus zamenjuje kod zaraženog fajla sopstvenim, brišući orginalan kod. Fajl tako postaje neupotrebljiv i ne može se dovesti u pređašnje stanje. Ovakvi virusi se brzo otkrivaju zato što će operativni sistem i pogođena aplikacija prestati da rade ubrzo posle infekcije.

Parazitiranje

Parazitski virusi menjaju kod zaraženog fajla. Zaraženi fajl ostaje pri tom delimično ili potpuno funkcionalan.

Parazitski virusi su grupisani prema delu fajla gde upisuju svoj kod:

  • Prepending: štetan kod je upisan na početku fajla

  • Apending: štetan kod je upisan na kraju fajla

  • Inserting: štetan kod je ubačen u sredinu fajla

'Prepending' virusi

'Prepending' virusi upisuju svoj kod u ciljani fajl na dva načina. U prvom slučaju, virus pomera kod sa početka ciljanog fajla na kraj i upisuje sebe na upražnjeno mesto. U drugom slučaju, virus dodaje kod ciljanog fajla u svoj sopstveni kod.

U oba slučaja, svaki put kad se zaraženi fajl pokrene, virusni kod je prvi koji se izvršava. U nastojanju da se održi integritet aplikacije, virus može očistiti zaraženi fajl, ponovo ga pokrenuti, sačekati da se fajl izvrši, i onda kad se taj proces okonča, virus će kopirati sebe ponovo na početak fajla. Neki virusi koriste privremene fajlove kako bi sačuvali čiste verzije zaraženih fajlova. Neki virusi će obnoviti kod aplikacije u memoriji i vratiti ga u početno stanje, i povratiti neophodne adrese u telu, i na taj način duplirati rad operativnog sistema.

'Appending' virusi

Većina virusa potpada pod ovu kategoriju. 'Appending' virusi upisuju sebe na kraj inficiranog fajla. Međutim, ovi virusi obično menjaju fajlove (menjaju ulazni deo u zaglavlju fajla) kako bi osigurali da se komande sadržane u virusnom kodu izvrše pre komandi zaraženog fajla.

'Inserting' virusi

Pisci virusa koriste različite tehnike kako bi ubacili viruse u sredinu fajla. Najednostavnije tehnike podrazumevaju premeštanje dela koda fajla na kraj fajla ili potiskivanje orginalnog koda u stranu kako bi se stvorio prostor za virus.

'Inserting' virusi uključuju takozvane 'cavity' viruse (viruse šupljina); ovakvi virusi upisuju svoj kod u delove fajlova za koje se zna da su prazni. Na primer, ovi virusi mogu se kopirati na neiskorišćeni deo zaglavlja exe fajlova, zatim u praznine između delova exe fajla, ili u tekstualna polja popularnih kompajlera (prevodilaca). Neki od ovih virusa će zaraziti fajl na mestu gde određeni blok sadrži određeni bajt; izabrani blok će biti prepisan virusnim kodom.

Najzad, neki 'inserting' virusi su loše napisani i prepisuju se preko dela koda koji je neophodan kako bi zaraženi fajl uopšte funkcionisao. To za posledicu ima definitivno oštećenje fajla.

Ulazno mesto opskurnih virusa - EPO

Postoji mala grupa parazitskih virusa koja uključuje i 'appending' i 'inserting' viruse koji ne menjaju adrese ulaznog mesta u uzglavljima EXE fajlova. EPO virusi upisuju šablonsko podešavanje iz tela virusa u središte zaraženog fajla. Virusni kod se onda izvršava samo ako šablon sadrži pozivani virus . Ako je ovaj šablon retko korišćen (na primer, retko obaveštenje o grešci), EPO virus može ostati dugo vremena neaktivan.

Pisci virusa treba pažljivo da odaberu ulazno mesto: loše odabrano ulazno mesto može ili oštetiti host fajl ili prouzrokovati da virus ostane neaktivan dovoljno dugo dok zaraženi fajl najzad ne bude obrisan.

Pisci virusa koriste različite metode kako bi pronašli pogodno ulazno mesto:

  • Pretraživanje frejmova i prepisivanje preko njih zaraženih početnih mesta

  • Rastavljanje koda host fajla

  • Promena adresa važnih funkcija

Virusi pratioci (Companion viruses)

Virusi pratioci ne menjaju host fajl. Umesto toga, oni stvaraju duplikat fajla koji sadrži virus. Kada se pokrene zaraženi fajl kopija koja sadrži virus će biti prva izvršena.

Ova kategorija uključuje viruse koji preimenuju host fajl, beležeći novo ime za buduće pozivanje i onda prepisuju originalan fajl. Na primer, virus može preimenovati notepad.exe u notepad.exd i upisatii sopstveni kod u fajl pod orginalnim nazivom. Svaki put kada korisnik pokrene notepad.exe, virusni kod se izvršava dok orginalan Notepad fajl, notepad.exd, se pokreće tek posle toga.

Postoje druge vrste virusa pratioca koje koriste orginalne metode ili iskorišćavaju ranjivosti određenog operativnog sistema. Na primer, Path-companion virusi smeštaju svoje kopije u sistemske direktorijume Windowsa, koristeći činjenicu da je ovaj direktorijum prvi na PATH listi; sistem će startovati od ovog direktorijuma kada pokrene Windows. Mnogi današnji crvi i Trojanci koriste ovakve autorun metode.

Ostale tehnike infekcije

Neki virusi ne koriste izvršne fajlove za infekciju kompjutera, već se jednostavno kopiraju u određenom broju direktorijuma u nadi da će pre ili kasnije biti pokrenuti od strane korisnika. Neki pisci virusa pišu viruse tako da im dodeljuju fajlove kao što su install.exe ili winstart.bat kako bi ubedili korisnika da pokrene fajl koji sadrži virus.

Drugi virusi se kopiraju u kompresovane fajlove u formatima kao što su ARJ, ZIP i RAR, dok neki koriste komande za pokretanje zaraženog fajla u BAT-fajlu.

Link virusi takođe ne menjaju host fajlove. Međutim, oni primoravaju operativni sistem da izvršava virusni kod menjanjem odgovarajućih polja u sistemskim fajlovima.

Virusi boot sektora

Virusi boot sektora su poznati po tome što su odgovorni za infekciju boot sektora flopi diskova ili Master Boot Record (MBR) hard diska. Boot virusi funkcionišu na bazi algoritma koji pokreće operativni sistem onda kada se kompjuter uključi ili restartuje. Onda kada se izvrši neophodna provera memorije, diska itd., boot program sistema čita prvi fizički sektor boot diska (A:, C: ili CD-ROM, zavisno od toga koji su parametri konfigurisani/instalirani u opciji BIOS Setup) i prolazi kontrolu ovog sektora.

Kada inficira disk, boot virus će izvršiti zamenu programa - koji uspostavlja kontrolu kada se sistem pokrene - svojim kodom. U nastojanju da inficira sistem, virus će primorati sistem da čita memoriju i preuzme kontrolu ne nad originalnim boot programom već nad virusnim kodom.

Flopi diskovi mogu biti zaraženi samo na jedan način. Virus upisuje svoj kod na mesto orginalnog koda boot sektora diska. Hard diskovi mogu biti zaraženi na tri načina: ili virus upisuje svoj kod na mesto MBR koda ili koda boot sektora boot diska, ili menja adrese aktivnih boot sektora na Disk Partition Table na MBR hard diska.

U velikoj većini slučajeva, kada inficira disk, virus će izmestiti orginalan boot sektor (ili MBR) na drugu sekciju diska, najčešće prvu koja je slobodna. Ako je virus duži od sektora, onda će inficirani sektor sadržati prvi deo virusnog koda, a ostatak koda će biti smešten u drugim sektorima, najčešće prvim koji budu slobodni.

Macro virusi

Najrašireniji macro virusi su oni pisani za Microsoft Office aplikacije (Word, Excel i PowerPoint) koji čuvaju podatke u OLE2 formatu (Object Linking and Embedding - povezivanje i postavljanje objekata).

Pozicija virusa u MS Office fajlu zavisi od formata fajla, koji je u slučaju Microsoft-ovih proivoda veoma složen. Svaki Word dokument, Office 97 ili Excel tabela su sastavljeni od delova blokova podataka (od kojih svaki ima sopstveni format) koji su priključeni/povezani/udruženi sa servisnim podacima. Usled složenosti formata Word, Excel i Office 97 fajlova, lakše je koristiti dijagram da bi se prikazalo mesto macro virusa u takvom fajlu:

Neinficirani dokument

Inficirani dokument

File header

Service data (directories, FAT)

Text

Fonts

Macros (if any)

Other data

File header

Service data (directories, FAT)

Text

Fonts

Macros (if any)

Virus macros

Other data

Pri radu sa dokumentima i tabelama, MS Office obavlja mnogobrojne različite radnje: program otvara dokument, snima ga, štampa, zatvara itd. MS Word će tražiti i pokretati odgovarajuće ugrađene macro-e. Na primer, korišćenje File/Save komande će pozvati FileSave macro, File/SaveAs komanda će pozvati FileSaveAs macro, i tako redom, uvek pretpostavljajući da je takav macro definisan/konfigurisan.

Takođe postoje i auto macro-i, koji će automatski biti pozivani u određenim situacijama. Na primer, kada je dokument otvoren, MS Word će proveriti dokument u smislu eventualnog postojanja AutoOpen macro-a. Ako se macro pronađe, Word će ga pokrenuti. Kada se dokument zatvara, Word će pokrenuti AutoClose, kada je Word pokrenut, program će pokrenuti AutoExec macro itd. Ovi macro-i se izvršavaju automatski, bez ikakvog učešća korisnika, bilo da su macro-i/funkcije koje su povezane sa određenim tasterom, ili sa određenim vremenom ili datumom.

Po pravilu, macro virusi koji inficiraju MS Office fajlove koriste jednu od tehnika opisanih iznad. Virus će sadržati ili auto macro (automatska funkcija) ili će jedan od macro sistema (udružen sa stavkom iz menija) biti redefinisan, ili će macro virus biti automatski pozivan pritiskom na određeni taster ili kombinaciju tastera. Onda kad macro virus uspostavi kontrolu, prebaciće se na druge fajlove, obično na one koji se tog trenutka uređuju. Mnogo ređe, virusi će pretraživati disk u potrazi za drugim fajlovima.

Script virusi

Script virusi su podgrupa virusnih fajlova, pisanih različitim script jezicima (VBS, JavaScript, BAT, PHP itd.). Oni ili inficiraju druge script-ove, npr. Windows ili Linux komande i servisni fajlove, ili čine deo multikomponentnih virusa. Script virusi mogu da zaraze i druge formate fajlova, kao što je HTML, ukoliko format fajla dopušta izvršenje script-a.

Članak preuzet sa


Prijavite se na našu mailing listu i primajte najnovije vesti (jednom dnevno) putem emaila svakog radnog dana besplatno:

Izdvojeno

Kako da prepoznate da vam je računar zaražen malverom

Kako da prepoznate da vam je računar zaražen malverom

Uključujete računar i čekate. Čekate. I dalje čekate. Najzad se pojavljuje desktop ali stvari ne izgledaju mnogo bolje. Internet je spor, program... Dalje

Evo šta treba da uradite ako neko pokušava da vam hakuje nalog

Evo šta treba da uradite ako neko pokušava da vam hakuje nalog

I to se dešava... Vaš nalog je napadnut. Vidite zahtev za promenom lozinke, email ili SMS obaveštenje o pokušaju neovlašćenog prijavljivanja na ... Dalje

Kako funkcioniše ruski finansijski sajber kriminal (2. deo)

Kako funkcioniše ruski finansijski sajber kriminal (2. deo)

Grupe koje se bave sajber kriminalom organizovane su na sličan način kao i bilo koja IT kompanija. Ključne uloge u tim grupama igraju programeri ko... Dalje

Kako funkcioniše ruski finansijski sajber kriminal (1. deo)

Kako funkcioniše ruski finansijski sajber kriminal (1. deo)

Rusko sajber podzemlje, kome pripadaju sajber kriminalci iz Ruske Federacije i nekih država bivšeg SSSR-a, pre svih, iz Ukrajine i baltičkih zemalj... Dalje

Kako da se zaštitite od fišinga

Kako da se zaštitite od fišinga

Ako malo razmislite, mala je razlika između pecanja na internetu poznatog pod nazivom fišing, i stvarnog pecanja. Jedna od glavnih razlika je to št... Dalje