Makro viry
Poznámka: Tento článek byl psán v době, kdy ještě na trhu nebyl produkt Microsoft Office 97 !
V dalším textu se omezíme výhradně na makroviry pro Microsoft Word.
Jména všech menu a položek odpovídají české lokalizaci Wordu.
Pro lepší pochopení problému si připomeňme některá fakta:
Makroviry se mohou šířit a projevovat jen v prostředí Wordu.
Pokud tento není aktivní, lze se soubory naprosto bezpečně manipulovat.
Není tedy nutné provádět takové akce, jako zavádění systému z čisté diskety.
Nebezpečí se ovšem skrývá tam, kde je Word nastaven jako implicitní prohlížeč
a spouští se zcela automaticky, příkladem může být prohlížení elektronické pošty.
V mnoha případech je možné nahradit plný Word jeho omezenou verzí (např. WordView),
která není schopna makra zpracovávat a pro makroviry tedy nepředstavuje použitelné
prostředí. Nevýhoda spočívá v tom, že WordView prostě není Word a nemusí být schopen
správně zobrazit všechny informace v dokumentu obsažené.
Omezení šíření makrovirů lze dosáhnout použitím jiného formátu pro uchování
(a zejména pro výměnu) textů, než je formát .doc tam, kde je to možné. Příkladem může
být formát .rtf, který je schopen nést některé typografické informace o textu, ale
nemůže obsahovat makra. Tato metoda je schopna vyřadit z boje většinu makrovirů, existují
ovšem i takové, které dokáží přinutit Word, aby i pod označením .rtf používal
běžné dokumenty (příkladem budiž v současnosti stále rozšířenější makrovirus Cap).
Pokud se tedy smíříme s tím, že budeme používat plnohodnotný Word a dokumenty tak, jak
je Microsoft vymyslel, musíme se poohlédnout po jiných metodách. K tomu, aby makrovirus
zajistil své další šíření musí docílit svého spustění. K tomu účelu bývá zneužívána šablona
normal.dot, kterou Word při svém spuštění automaticky načítá a interpretuje. Tato
šablona představuje jakési globální prostředí Wordu a mnoho metod je tedy zaměřeno právě
tímto směrem.
Word disponuje řádkovými volbami, které omezují provádění některých automatických
akcí. Tyto volby lze zadat kliknutím pravým tlačítkem na ikoně zástupce Wordu, menu
Vlastnosti, panel Zástupce.
Volba /a zakáže automatické spuštění makra AutoExec v načítaném dokumentu.
Volba /m znemožní automatické spuštění makra AutoExec v načítaném dokumentu.
Takto spuštěný Word ovšem nebude imunní vůči ručnímu otevření infikovaného dokumentu,
navíc ztrácíte možnost používat vlastní AutoExec a jiná makra z globální šablony.
Uživatelům Wordu 97 lze doporučit využití možnosti nahrát dokument bez maker, kterou Word nabízí
v případě, že v nahrávaném dokumentu nějaká makra najde. Není vhodné toto varování
vypínat.
Pokud se vám podaří při spouštění Wordu držet klávesu shift, neprovede se makro AutoOpen,
obdobně, stisknutý shift při ukončení Wordu zabrání provedení makra AutoClose. Pro rutinní
používání však tato rada příliš praktická není, protože dříve či později na stisk klávesy shift
zapomenete (nadto jsou situace, kdy se stisk této klávesy neprojeví).
Vhodnější řešení této situace nabízí obecný zákaz spouštění automaker. Toho lze dosáhnout
vytvořením makra AutoExec, které bude obsahovat příkaz
DisableAutoMacros 1
Takto vytvořené makro pak musí být uloženo v globální šabloně případně v libovolné šabloně
umístěné v adresáři pro automatický start. Je zřejmé, že jediné automakro, které se provede,
je právě makro AutoExec, tato metoda tedy není použitelná, pokud sami využíváte některá jiná
automakra.
Za normálních okolností může makrovirus zapsat do globální šablony bez jakéhokoliv varování,
doporučujeme proto využívat možnost podmínit takovýto zápsi dotazem.
Toto lze docílit zaškrtnutím položky výzva pro uložení normální šablony v menu nástroje/možnosti/ukládání.
Musím ovšem připomenout, že tato výzva se objeví až při ukončení Wordu. To že virus má možnost tuto
volbu programově vypnout už snad ani připomínat nemusím, to je u Wordu normální.
Pokud neprovádíte příliš časté změny v globální šabloně, je velmi účinné ochránit globální šablonu proti
zápisu nastavením systémového atributu read-only. Na rozdíl od předchozích případů by nemělo být možné, aby
virus v jednom spuštění odstranil atribut read-only a poté zapsal do globální šablony.
Také je možné (a velmi vhodné) si vytvořit záložní kopii souboru normal.dot a v případě
napadení Wordu nahradit tuto infikovanou šablonu původní. V nouzi lze globální šablonu i smazat
(Word si vytvoří novou), přijdete tak však o všechna uživatelská nastavení, která v ní byla uložena.
Proti jednotlivým konkrétním virům se lze někdy bránit vytvořením některých speciálních maker.
Například virus Concept stejně jako český virus Bertík lze od další činnosti odradit vytvořením maker
Payload případně FileSaveAs. Pokud je některé z těchto maker přítomno, zmíněné viry se nebudou nijak
projevovat ani šířit. Některé méně chytré antivirové programy ovšem mohou na tato makra reagovat
poněkud podrážděně (t.j. zobrazením falešného poplachu).
Při podezření z napadení Wordu je vhodné zkotrolovat jestli a jaká makra jsou aktivní. Bohužel,
prostředky Wordu umožňují virům, modifikovat menu, takže typický postup Nástroje/Makro může být z
důvodů nepužitelný (ovšem už samotné zmizení položky Makro z menu signalizuje něco nekalého). O něco
spolehlivější metoda ke kontrole maker vede přes menu Soubor/Šablony, tlačítko Organizátor, panel Makra.
Ovšem ani tato metoda není dokonalá, bohužel se mi nepodařilo najít způsob zobrazení seznamu maker,
který bych byl ochoten označit za spolehlivý.
K automatickému zavedení maker slouží kromě globální šablony také všechny šablony uložené ve speciálním
adresáři. Jméno tohoto adresáře je v různých variantách Wordu různé a lze jej nalézt pomocí menu
Nástroje/Možnosti panel Umístění souborů, položka Spouštění. Typické jméno je wrdstart nebo startup
v adresáři Wordu. Některé viry umisťují svá makra do tohoto adresáře a nevyužívají NORMAL.DOT, je tedy
vhodné při podezření prohlédnout jeho obsah.
Mezi makroviry je populární metodou, jak dosáhnout svého cíle vytvoření a spuštění běžného dosového
programu. K tomu virům velmi dobře slouží program Debug, který je standardní součástí DOSu i Windows
a je schopen vytvořit binární program z textového scriptu obsaženého v těle makroviru. Pokud program
debug.exe (dříve DEBUG.COM) přejmenujete, znemožníte makrovirům jeho zneužití.
Žádná z výše popsaných metod není stoprocentní a ani jejich kombinace nevyloučí možnost napadení virem.
Přesto ale vhodným výběrem a kombinací metod, které vás neomezují, lze dosáhnout nezanedbatelného zvýšení
bezpečnosti a omezení šíření makrovirů.
Zdroj: Virus Info - Makroviry? Bijte je! - Grisoft s.r.o.