D∞lenφ vir∙



D∞lenφ podle umφst∞nφ v pam∞ti



  • Rezidentnφ viry
    Rezidentnφ virus setrvßvß ilegßln∞ v pam∞ti. Takov² virus se v∞tÜinou p°i prvnφm spuÜt∞nφ infikovanΘho souboru (pokud se jednß o souborov² virus) nebo p°i prvnφm zavedenφ systΘmu z infikovanΘho boot sektoru (pokud se jednß o bootov² virus) stane rezidentnφm v pam∞ti, a odtud potom provßdφ svoji Ükodlivou Φinnost. Virus z∙stßvß v pam∞ti dokud nenφ systΘm vypnut. Naprostß v∞tÜina vir∙ se umis¥uje a₧ na vrchol systΘmovΘ pam∞ti, ale pod mez 640 KB (v MS-DOSu).
    Existujφ vÜak i viry, kterΘ vyu₧φvajφ nφzkou systΘmovou pam∞t, pam∞t videokarty atd. pro ukrytφ kusu svΘho k≤du. Oproti nßsledujφcφ skupin∞, vir∙ rezidentnφch - TSR, jsou p°i svΘ instalaci do pam∞ti velmi t∞₧ko detekovatelnΘ. Se zapnutφm systΘmu jsou okam₧it∞ schopny infekce soubor∙ Φi boot sektoru nebo tabulky rozd∞lenφ.

  • Rezidentnφ - TSR viry
    N∞kterΘ souborovΘ viry se mohou instalovat do pam∞ti pomocφ slu₧eb DOSu (tedy relativn∞ legßln∞) jako rezidentnφ TSR (podobn∞ jako nap°. ovladaΦ myÜi apod.) a pak tajn∞ provozovat svoji Ükodlivou Φinnost a replikovat se. Jednß se o podskupinu p°edchozφch rezidentnφch vir∙. Pokud se jednß o rezidentnφ TSR virus, m∙₧eme ho v∞tÜinou lehce v pam∞ti nalΘzt p°φkazem MEM s parametrem /C (MEM /C).


    PopisovanΘ p°φklady se t²kajφ operaΦnφho systΘmu MS-DOS. V operaΦnφm systΘmu Windows 9x/2000/NT je situace jinß, podφvejte se nφ₧e do sekce "DalÜφ tΘmata". Souhlasit lze v p°φpad∞ Windows pouze s nßsledujφcφm odstavcem:

  • Nerezidentnφ viry - viry p°φmΘ akce
    Tyto viry nevyu₧φvajφ pam∞t pro svΘ Üφ°enφ. StaΦφ jim, kdy₧ jsou aktivovßny spoleΦn∞ s hostitelsk²m programem. Pak p°ebφrajφ °φzenφ jako prvnφ, provedou svoji Φinnost, nejΦast∞ji replikaci a pak p°edajφ °φzenφ zp∞t hostitelskΘmu programu. Replikacφ zde v∞tÜinou rozumφme nap°φklad napadenφ vÜech vhodn²ch soubor∙ (postupn∞ nebo narßz) v aktußlnφm adresß°i, Φi napapadenφ soubor∙ uveden²ch v prom∞nnΘ PATH (v souboru AUTOEXEC.BAT).
    Nerezidentnφ viry jsou v₧dy souborovΘ viry.


    DalÜφ tΘmata:

    PokraΦovßnφ knihy najdete zde.

    Zdroj: O poΦφtaΦov²ch virech ... a jak na n∞ ? - (c)1996 Ing.Ji°φ MrnuÜtφk, AEC s.r.o.


    "Zrezidentn∞nφ" viru (platφ pro operaΦnφ systΘm DOS)

    Umφst∞nφ viru rezidentn∞ v pam∞ti probφhß ve dvou krocφch. Prvnφm je vyhledßnφ nebo vytvo°enφ vhodnΘho mφsta, kam by se vir umφstil. TakovΘ mφsto musφ b²t jednak dostateΦn∞ velkΘ, jednak dostateΦn∞ bezpeΦnΘ.
    V p°φpad∞ boot viru nenφ v²b∞r mo₧nostφ nijak p°evratn². Vir se toti₧ instaluje do pam∞ti v okam₧iku, kdy jeÜt∞ nenφ zaveden operaΦnφ systΘm a nemß tedy k dispozici ani to mßlo funkcφ pro manipulaci s pam∞tφ, kterΘ DOS nabφzφ.
    Naprosto nejΦast∞jÜφm zp∙sobem, kter²m se boot viry s tφmto problΘmem vypo°ßdßvajφ, je snφ₧enφ velikosti zßkladnφ pam∞ti a vyu₧itφ takto uvoln∞nΘho mφsta. Datovß oblast BIOSu obsahuje prom∞nnou, kterß °φkß, kolik zßkladnφ pam∞ti je k dispozici. Ve v∞tÜin∞ p°φpad∙ obsahuje tato prom∞nnß hodnotu 640, co₧ je maximßlnφ velikost zßkladnφ pam∞ti v kilobajtech. Pokud vir tuto hodnotu snφ₧φ, operaΦnφ systΘm se domnφvß, ₧e mß k dispozici mΘn∞ pam∞ti, a ani se nepokouÜφ vyu₧φvat tu Φßst, kterß by tam podle n∞j b²t nem∞la, a vir se tedy m∙₧e do tΘto oblasti bezpeΦn∞ nast∞hovat.
    K nev²hodßm uvedenΘ metody pat°φ takΘ pom∞rn∞ snadnß mo₧nost zjistit netypickou velikost zßkladnφ pam∞ti. (OvÜem pozor, n∞kterß za°φzenφ vyu₧φvajφ tuto oblast obdobn²m zp∙sobem jako viry, je tedy t°eba zvß₧it, jestli se jednß o b∞₧n² stav nebo ke zm∞n∞ doÜlo bez n∞jakΘho zjevnΘho d∙vodu.)
    Jinou metodou, kterou pou₧φvajφ n∞kterΘ, zejmΘna menÜφ viry, je vyu₧itφ mal²ch voln²ch oblastφ v datov²ch oblastech v dobrΘ vφ°e, ₧e do nich nebude nikdo jin² zapisovat. S vyu₧itφm tΘto techniky se lze obΦas setkat i v t∞le n∞kter²ch souborov²ch vir∙. (Dlu₧no podotknout, ₧e podobn² zp∙sob zachßzenφ s pam∞tφ je operaΦnφm systΘmem chßpßn jako zdvo°ilß prosba o jeho havßrii).
    D∙mysln∞jÜφ boot viry vyu₧φvajφ techniku jakΘhosi "meziskladu", kter²m °eÜφ doΦasnou nedostupnost slu₧eb pro manipulaci s pam∞tφ. Jejφ princip spoΦφvß v tom, ₧e se vir umφstφ do oblasti pam∞ti, o kterΘ p°edpoklßdß, ₧e nebude po urΦitou, pom∞rn∞ krßtkou, dobu zm∞n∞na (typicky se k t∞mto ·Φel∙m vyu₧φvß hornφ Φßst videoram, kterß nenφ v b∞₧nΘm textovΘm re₧imu vyu₧φvßna). PotΘ nechß zavΘst operaΦnφ systΘm a teprve pak se p°ekopφruje na definitivnφ pozici s vyu₧itφm vÜech mo₧nostφ, kterΘ majφ souborovΘ viry.
    SouborovΘ viry mohou vyu₧φvat bu∩ standardnφ kolekci t°φ slu₧eb pro prßci s pam∞tφ (alokuj blok, uvolni blok, zm∞≥ velikost bloku), nebo mohou pou₧φt n∞kolik r∙zn²ch, v∞tÜinou nedokumentovan²ch zßsah∙ do °φdφcφch struktur DOSu. To mß pro n∞ oporoti vyu₧itφ systΘmov²ch slu₧eb tu v²hodu, ₧e takto zrezidentn∞n² vir nebude figurovat na p°φpadnΘm seznamu rezidentnφch program∙.
    Modern∞jÜφ viry se takΘ nauΦily manipulovat nejen se zßkladnφ pam∞tφ, ale dokß₧φ se usadit i v pam∞ti nad hranicφ 640 KB, pokud je dostupnß. Typick²m p°φkladem m∙₧e b²t virus Tremor.
    N∞kterΘ z pokroΦilejÜφch vir∙ mohou dokonce sledovat hospoda°enφ jin²ch program∙ s pam∞tφ a v p°φpad∞, kdy₧ usoudφ, ₧e se pro n∞ uvolnilo vhodn∞jÜφ mφsto, mohou se p°esunout ze svΘho souΦasnΘho p∙sobiÜt∞ do novΘho.
    Aby m∞lo usφdlenφ kopie viru v pam∞ti n∞jak² smysl, musφ b²t vir n∞jak spojen se systΘmem. Toto spojenφ b²vß realizovßno p°esm∞rovßnφm vhodn²ch systΘmov²ch slu₧eb do t∞la viru. D∙sledkem takovΘto vazby na systΘm je, ₧e v pr∙b∞hu °ßdnΘ Φinnosti systΘmu jsou ve vybran²ch okam₧icφch aktivovßny urΦitΘ Φßsti viru.
    P°esm∞rovßnφ slu₧eb se provßdφ zm∞nou tzv. vektor∙ p°eruÜenφ, co₧ jsou adresy, na kterΘ se p°edßvß °φzenφ v p°φpad∞ generovßnφ p°eruÜenφ (systΘmovΘ slu₧by jsou realizovßny prßv∞ volßnφm p°eruÜenφ). Tabulka adres t∞chto slu₧eb je ulo₧ena na konstantnφm mφst∞ v operaΦnφ pam∞ti (na jejφm ·plnΘm zaΦßtku) a v operaΦnφm systΘmu DOS je bohu₧el nekontrolovateln∞ p°φstupnß vÜem program∙m, kterΘ z nφ mohou hodnoty nejen beztrestn∞ Φφst, ale takΘ do nφ zapisovat.
    Standardnφ postup p°evzetφ systΘmovΘ slu₧by virem spoΦφvß v napln∞nφ vektoru p°eruÜenφ adresou sm∞°ujφcφ do t∞la viru. P°i vyvolßnφ p°eruÜenφ vir provede vlastnφ Φinnost a potΘ, pomocφ zapamatovanΘ p∙vodnφ hodnoty vektoru p°eruÜenφ zavolß p∙vodnφ funkci (mo₧n² je i opaΦn² postup, kdy vir nejd°φve zavolß p∙vodnφ systΘmovou slu₧bu a potΘ provede vlastnφ Φinnost, p°φpadn∞ vir p∙vodnφ slu₧bu nevolß v∙bec a jejφ Φinnost zcela nahradφ). Velmi zjednoduÜen∞ lze d∞nφ v systΘmu znßzornit nßsledovn∞:

    P°ed "p°evzetφm slu₧by" viremPo "p°evzetφ slu₧by" virem
    B∞₧φ u₧ivatelsk² programB∞₧φ u₧ivatelsk² program
    Vyvolß systΘmovou slu₧buVyvolß systΘmovou slu₧bu
    OperaΦnφ systΘm provede po₧adovanou operaciVir prozkoumß po₧adavek a ud∞lß, co uznß za vhodnΘ;
    P°φpadn∞ se ke slovu dostane i OS
    U₧ivatelsk² program pokraΦujeU₧ivatelsk² program pokraΦuje

    Vlastnφ Φtenφ a zm∞nu hodnot vektor∙ p°eruÜenφ lze realizovat op∞t pomocφ slu₧eb DOSu. Pou₧φvßnφ t∞chto slu₧eb lze ovÜem snadno monitorovat, proto se mnoho vir∙ uchyluje ke zm∞n∞ vektor∙ p°eruÜenφm p°φmo do tabulky vektor∙, kterΘ se nachßzφ zcela na zaΦßtku operaΦnφ pam∞ti, co₧ je jednak mΘn∞ nßpadnΘ, a pokud je programßtor Üikovn², i kratÜφ.
    Slo₧it∞jÜφ viry obΦas nevyu₧φvajφ tuto p°φmou metodu p°evzetφ vektoru, mφsto toho sm∞rujφ slu₧bu do svΘho t∞la p°ed jak²si "m∙stek" umφst∞n² odd∞len∞ od t∞la viru, jeho₧ k≤d ned∞lß nic jinΘho, ne₧ ₧e bezprost°edn∞ zavolß cφlovou funkci viru.
    Toto °eÜenφ nenφ samo·ΦelnΘ, ale mß z pohledu vir∙ jistΘ v²hody. Jednß se o typick² produkt souboje vir∙ a antivir∙; ty se toti₧ nauΦily sledovat, kam ukazujφ vektory n∞kter²ch d∙le₧it²ch slu₧eb, a pßtrat v jejich okolφ po k≤du viru. Uveden² postup se jim to pokouÜφ alespo≥ zkomplikovat, takΘ ruΦnφ anal²za takovΘho k≤du je obtφ₧n∞jÜφ.

    Zdroj: Praktickß sebeobrana proti vir∙m (Petr Odehnal, Petr ZahradnφΦek)