Virus - program kome je potreban neki drugi (legitimni) program koji će mu biti "domaćin" (domaćin može biti bilo koji program). Virus dodaje sebe na početak programa domaćina i time se ugrađuje u program koji je "čist" pre ugrađivanja. Teoretski posmatrano, domaćin će pravilno da funkcioniše čak i ako je zaražen (u praksi to ne mora biti slučaj, zavisi od znanja programera).
Prilikom pokretanja programa domaćina:
- prvo će se pokrenuti virus, koji će u tom momentu da zarazi još neki program (čineći ga time svojim domaćinom),
- a nakon toga će virus prepustiti kontrolu izvršavanja svom domaćinu (dakle, pokrenuće se aplikacija koja je prvobitno trebala biti pokrenuta).
Karakteristike:
- virus je jedini malware koji ima mogućnost inficiranja (dakle, crv ne može inficirati bota i obrnuto, itd...).
- samo virus ima mogućnost širenja sa programa na program.
- najstarija kategorija malware-a
- [način inficiranja]: virus je po svom načinu razmnožavanja file-infector; da bi zarazio neku datoteku B, potrebno je da se prethodno pokrene datoteka A, koja je već zaražena. U momentu kada pokrenete program koji je zaražen, prvo se pokreće virus, koji na operativnom sistemu odmah traži nezaražene datoteke, i kada ih nađe on se doda na početak tih datoteka, čineći te datoteke svojim domaćinom.
- teoretski postoje i načini da se računar inficira bez korisnikove interakcije (tj. bez korisnikovog eksplicitnog pokretanja zaražene datoteke).
Dropper - program koji iz sebe izbacuje neki maliciozan program (svoj tovar), snima ga na disk i pokreće, na nekom operativnom sistemu, s tim da ne postoji mogućnost odabira koji tovar će se ugraditi u taj program, jer se njegov tovar ugrađuje u fazi programiranja, tj. pre kompajliranja tog programa.
Packer - softver koji pravi softverski omot (softversku kovertu) oko nekog izvršnog objekta. Na taj način menja njegovu prirodnu izvršnu formu, ali zadržava originalnu, prvobitnu funkcionalnost (dakle, pre omotavanja) u memoriji. Neki od pakera su UPX, Exe32Pack, i drugi. Datoteke je moguće i višestruko pakovati te se time otežava posao antimalware aplikacijama.
Termin “paker” se upotrebljava u dva konteksta, u jednom za rezultat kompresor-arhivera, u drugom za EXE-pakere (ili run-time pakere).
[ ! ] Razlikovati ga od SFX.
Software envelope - Softverski omot - predstavlja sloj (layer) koji paker kreira oko ciljane datoteke. Kôd ovoga sloja predstavlja vrlo važan deo identifikacije pakera. Postoje različite tehnike implementacije omotavanja tako da se malware može zakamuflirati, jer se time rešava heuristike koja, na taj način, neće moći da “prepozna” maliciozan kod:
- EXE Packers: pakeri koji kompresuju izvršnu datoteku i formiraju novu izvršnu datoteku, po pravilu manje veličine na disku, koja mora sadržati u sebi i deo kôda za dekompresiju. Pre izvršavanja “nove” izvršne datoteke, dekompresioni kôd regeneriše originalni kôd prvobitne izvršne datoteke. U većini slučajeva je proces transparentan, tako da se pakovana izvršna datoteka može koristiti na isti način kao njen original. EXE-paker vaš pakovani program raspakuje u memoriji, i tamo ga odmah izvrši, tj. startuje.
[ dodatno čitanje: ovde ]
- EXE Cryptors: paker koji uključuje različite tehnike enkripcije kôda određenog programa, s tim da se na početak rezultujuće datoteke ugrađuje programski deo koji će kriptovani program vratiti u normalu. Na korisnikovom disku je čitljiv samo programski deo za raspakivanje, dok kriptovani program nije čitljiv. Dekripcija programa, i nakon toga pokretanje dekriptovanog programa se odvija u memoriji.
- EXE Protectors: programi koji imaju sposobnost detektovanja okruženja u kojem se pokreće dekriptor; ukoliko program “proceni” da su uslovi okruženja nepovoljni (program se pokreće u virtualnoj mašini, ili nekom debuggeru, itd.) programi/datoteke se neće dekriptovati.
- Code Obfuscators: pakeri koji koriste tehnike koje kôd namerno čine nejasnim i nerazumljivim, te time otežavaju analizu omotane datoteke određenim alatima i algoritmima za analiziranje kôda. Tehnike koriste junk code, to jest delove kôda koji nemaju neku praktičnu svrhu, sem “ošamućivanja” kôda (tj. činjenja kôda nejasnim).
- i drugi (Morph Engines, itd…)
SFX (self extracting archive) – računarska aplikacija koja sadrži arhivu kompresovanih datoteka, kao i deo koji sadrži informaciju kako izvući datoteke iz te arhive. Ovaj oblik je pogodan jer ne zahteva dodatni program za arhiviranje kako bi se izvukle datoteke iz arhive.
[ ! ] SFX treba razlikovati od EXE packer-a.
Iako su konceptualno isti – baziraju se na kompresovanju programa/datoteka i dodavanju programa za raspakivanje na početak rezultujuće datoteke, razlika je u tome što će EXE packer spakovani program raspakovati te odmah izvršiti u memoriji, dok SFX podrazumeva raspakovanje na tvrdi disk.
Dialer - program koji se konektuje na nekog posebnog Internet provajdera koji, po pravilu, ima visoku cenu pružanja usluge konekcije na Internet. Dialer sam po sebi nije maliciozan, jer korisnik može svesno da ga koristi kako bi pristupio “vrućim razgovorima za odrasle” čiji provideri imaju visoke cene minuta razgovora.
Dialeri mogu biti i maliciozni ukoliko su ubačeni na sistem bez znanja korisnika u cilju pribavljanja finansijskih sredstava tog korisnika kroz nepovoljan “Internet provajding”. Efekat tog pribavljanja se ogleda kroz iznos telefonskog računa korisnika-žrtve.
Zero-day exploit - (poznat i kao 0day exploit) je program napisan da iskoristi 'bug' ili ranjivost u okviru aplikacije ili operativnog sistema, a koji se pojavljuje odmah pošto je ranjivost otkrivena. Zero-day exploit, dakle, ne ostavlja skoro nimalo vremena proizvođaču softvera da napravi zakrpu ('patch'), ili IT administratorima da primene druge odbrambene mere.