SouborovΘ viry
ProveditelnΘ soubory mohou mφt dva r∙znΘ formßty: COM nebo EXE. Tyto formßty
se liÜφ hlaviΦkou a zp∙sobem startovßnφ program∙ urΦen²ch k spuÜt∞nφ.
P°φpona (COM, EXE) nemusφ odpovφdat skuteΦnΘmu formßtu souboru (i kdy₧ to p°i
spuÜt∞nφ nemß ₧ßdn² vliv). Soubory COM a EXE jsou napadßny rozdφln∞, proto
virus musφ rozeznßvat soubory r∙zn²ch formßt∙. Virus m∙₧e tento problΘm vy°eÜit
dv∞mi cestami: zjistit p°φponu souboru (COM, EXE), nebo hlaviΦku souboru.
V∞tÜina vir∙ nemß s rozeznßvßnφm formßtu souboru problΘmy, tak₧e dokß₧ou
uvΘst soubor do funkΦnφho stavu (se sv²m t∞lem).
Souborov² parazitick² virus na zaΦßtku souboru (prepend)
┌vodnφ data souboru jsou p°esunuta na jeho konec a virus se do prßzdnΘ vytvo°enΘ
mezery ulo₧φ.
Virus ulo₧φ svoji kopii do pam∞ti RAM, za nφ p°φdß obsah souboru a tento
vytvo°en² celek ulo₧φ na disk jako soubor.
Virus sßm sebe vlo₧φ na zaΦßtek souboru bez ulo₧enφ p∙vodnφho obsahu.
V tomto p°φpad∞ se vÜak jednß o p°episujφcφ viry (overwrite viruses).
Souborov² parazitick² virus na konci souboru (append)
Tento zp∙sob je nejpou₧φvan∞jÜφ. Virus modifikuje zaΦßtek souboru,
tak aby nad nφm p°evezmul kontrolu jako prvnφ. U COM soubor∙ v∞tÜinou
virus modifikuje prvnφ t°i byty (nebo vφce) a do nich umφstφ skok (JMP) na sebe.
U EXE soubor∙ musφ virus modifikovat startovacφ adresu.
N∞co podobnΘho se d∞je i u vir∙ napadajφcφch soubory New EXE:
Souborov² parazitick² virus ve st°edu souboru (insert)
Velmi mßlo pou₧φvanß metoda infekce. I tak vÜak existujφ t°i:
- Metoda 1 - s ·pravou hlaviΦky (·prava startovacφ adresy)
Virus odlo₧φ p∙vodnφ obsah Φßsti souboru na konec souboru a sßm sebe umφstφ
do st°edu souboru. Pak uprav² ·daje v hlaviΦce (startovacφ adresu - entry point).
- Metoda 2 - bez ·pravy hlaviΦky
Virus zjistφ startovacφ adresu souboru (entry point), a pokud sm∞°uje n∞kam do st°edu souboru,
umφstφ se do n∞j (p∙vodnφ obsah Φßsti souboru samoz°ejm∞ odlo₧φ na konec souboru). Virus
pak p°i spuÜt∞nφ infikovanΘho souboru p°evezme kontrolu nad programem jako prvnφ, bez toho aby p°edtφm musel m∞nit
startovacφ adresu (vstupnφ bod - entry point).
- Metoda 3 - Cavity viruses - mezerovΘ viry
Tyto viry dokß₧ou napadnout soubor, bez prodlou₧enφ jeho dΘlky. N∞kterΘ soubory toti₧ obsahujou nepot°ebnΘ nebo prßzdnΘ
oblasti, do kter²ch se vejde i celkem velk² virus (kup°φkladu sem pat°φ virus BackForm, kter² mß dΘlku 2 kB).
Typick²m p°φkladem souboru "pln²ch mezer" je COMMAND.COM.
T°etφ metoda m∙₧e b²t snadno spln∞na i n∞kter²mi viry, napadajφcφ PE EXE soubory (soubory systΘmu Windows 95, NT...).
V PE EXE souborech je hodn∞ mezer, tak₧e se do nich v₧dy dokß₧e ukr²t nap°φklad virus Win95.CIH.
SchΘma Φinnosti p°episujφcφho viru (virus p°φmΘ akce - nerezidentnφ) vypadß takto:
Vir je aktivovßn v okam₧iku, kdy je spuÜt∞n libovoln² infikovan² program, a jeho prvnφ starostφ je vyhledat jin²
vhodn² program, kter² je mo₧no napadnout.
Vir zkopφruje svΘ t∞lo na zaΦßtek vyhlΘdnutΘho programu, Φφm₧ si zajistφ, ₧e bude aktivovßn okam₧it∞ po jeho spuÜt∞nφ, ale
zßrove≥ je tφmto krokem cφlov² program nenßvratn∞ zniΦen.
Pokud jsou spln∞ny zadanΘ podmφnky, vir vykonß svΘ poslßnφ.
Vir nem∙₧e pokraΦovat v Φinnosti p∙vodnφho programu, proto jej bezprost°edn∞ ukonΦφ, Φasto s n∞jak²m hlßÜenφm
naoko vysv∞tlujφcφm nemo₧nost b∞hu programu (nap°φklad fiktivnφ nedostatek pam∞ti).
SchΘma Φinnosti nep°episujφcφho viru (virus p°φmΘ akce - nerezidentnφ) vypadß takto:
Tento krok je naprosto shodn² jako v p°edchozφm p°φpad∞.
Vir p°ipojφ vlastnφ k≤d k programu tak, aby zachoval vÜechny informace pot°ebnΘ k jeho sprßvnΘ
Φinnosti. NejjednoduÜÜφm zp∙sobem jak to za°φdit, je p°ipojit t∞lo viru za konec napadenΘho programu. Aby vÜak
byl vir aktivovßn okam₧it∞ po spuÜt∞nφ infikovanΘho programu, musφ na zaΦßtek programu vlo₧it instrukci skoku na
t∞lo viru, p°iΦem₧ p∙vodnφ k≤d, kter² je p°epsßn skokovou instrukcφ, je ulo₧en do t∞la viru.
SchΘma Φinnosti rezidentnφho souborovΘho viru vypadß takto:
P°i spuÜt∞nφ napadenΘho programu vir zjistφ, nenφ-li ji₧ rezidentnφ v pam∞ti. Pokud nalezne svou kopii
v pam∞ti, pokraΦuje bodem 5.
V opaΦnΘm p°φpad∞ vyhledß a vyhradφ pro svΘ pou₧φtφ (tzv. alokuje) ·sek pam∞ti vhodnΘ velikosti.
P°ekopφruje sßm sebe do tohoto ·seku pam∞ti a zm∞nφ adresy n∞kter²ch diskov²ch (a p°φpadn∞ i jin²ch)
slu₧eb tak, aby sm∞rovaly do t∞la viru (viz. Slovnφk pojm∙ - p°eruÜenφ).
Obnovφ zaΦßtek napadenΘho programu (pouze v pam∞ti, ne na disku) a tento program spustφ.
Pokud je od tΘto chvφle spouÜt∞n jak²koli program, je nejd°φve vyvolßn rezidentnφ vir, kter² tento program
infikuje tφm, ₧e p°ipojφ sv∙j k≤d ke k≤du programu a zm∞nφ ·vodnφ skok (stejn∞ jako u nep°episujφcφch vir∙ p°φmΘ akce).
Jsou-li spln∞ny podmφnky, provede akci.
Zdroj: AVP virus encyclopedia
Zdroj: Praktickß sebeobrana proti vir∙m