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 (EXE soubory majφ v prvnφch dvou bajtech "MZ"). 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 (p∙vodnφ t°i bajty uschovß do svΘho t∞la, aby pak mohl vrßtit °φzenφ p∙vodnφmu programu). U EXE soubor∙ musφ virus modifikovat hlaviΦku (CS:IP - entrypoint, SS, SP).
    N∞co podobnΘho se d∞je i u vir∙ napadajφcφch soubory New EXE (NE) Φi PE EXE (Windows 9x/NT). Bli₧Üφ informace zde.

    Souborov² parazitick² virus ve st°edu souboru (insert)


    Velmi mßlo pou₧φvanß metoda infekce. I tak vÜak existujφ t°i:
    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