Makroviry

podstatn∞ ovlivnily sv∞t poΦφtaΦ∙, a dnes pro u₧ivatele znamenajφ stßle v∞tÜφ nebezpeΦφ.

1. Na ·vod trochu historie

Prvnφ funkΦnφ makrovirus se objevil p°ed pouh²mi Φty°mi lety, shodou okolnostφ tak°ka p°esn∞ v dob∞, kdy byly na trh uvedeny Windows 95, tak₧e makroviry jsou stßle pom∞rn∞ mladou zßle₧itostφ. P°esto podstatn∞ ovlivnily sv∞t poΦφtaΦ∙, a dnes pro u₧ivatele znamenajφ stßle v∞tÜφ nebezpeΦφ. Brzy potΘ toti₧ nastalo obdobφ masovΘho vyu₧φvßnφ aplikacφ, kterΘ jejich Üφ°enφ umo₧≥ujφ. V souΦasnΘ dob∞ se jednß hlavn∞ o programy firmy Microsoft: MS-Word a MS-Excel a MS-PowerPoint, ale obecn∞ mohou pracovat ve vÜech aplikacφch, kterΘ podporujφ makra nebo skripty na dostateΦn∞ silnΘ ·rovni.

Prvnφm znßm²m makrovirem se stal v lΘt∞ 1995 virus WM/Concept.A. Velmi rychle se rozÜφ°il zejmΘna v Americe a Anglii, ale nap°φklad i v severnφ Evrop∞. Netrvalo dlouho a objevily se dalÜφ - WM/Nuclear.A, WM/Colors.A, WM/Hot.A a WM/Atom.A. Jak se pozd∞ji ukßzalo, prvnφm existujφcφm makrovirem byl WM/DMV.A, kter² vytvo°il ji₧ koncem roku 1994 Joel McNamara pro svΘ studijnφ ·Φely. Sv∙j virus pak zve°ejnil a₧ potΘ, kdy se objevil WM/Concept.

2. Co je to vlastn∞ makro?

Ji₧ prvnφ kancelß°skΘ aplikace umo₧≥ovaly prßci s takzvan²mi makry. Tehdy se ve v∞tÜin∞ p°φpad∙ jednalo o zapamatovßnφ a ulo₧enφ posloupnosti klßves (klßvesnicovß makra). Tato makra mohla b²t opakovan∞ vyvolßna a mohla zjednoduÜit a zautomatizovat prßci aplikaΦnφho programu. Postupem se ale zp∙sob prßce s makry m∞nil, tak₧e dnes jsou makra vytvß°ena ve specißlnφch vyÜÜφch programovacφch jazycφch, jejich₧ mo₧nosti se v∙bec neliÜφ od klasick²ch programovacφch jazyk∙. Mohou tedy manipulovat s daty aplikace a takΘ s makry, kterΘ jsou s dan²mi daty spojeny (nap°φklad je kopφrovat). Bohu₧el mohou i modifikovat ostatnφ data na danΘm poΦφtaΦi.

3. Co je to makrovirus?

Makro (nebo souhrn maker), kterΘ je schopno zkopφrovat sebe sama z jednoho dokumentu do druhΘho (a to opakovan∞), je naz²vßno makrovirem. Je z°ejmΘ, ₧e ·sp∞ÜnΘ Üφ°enφ viru vy₧aduje n∞kolik podmφnek. Pou₧φvanß aplikace musφ b²t Üiroce pou₧φvßna a musφ dochßzet k v²m∞n∞ dat vΦetn∞ maker mezi jednotliv²mi u₧ivateli a poΦφtaΦi. VÜechny tyto podmφnky dnes spl≥ujφ hlavn∞ programy MS-Word a MS-Excel, a proto jsou zdaleka nejrozÜφ°en∞jÜφ prßv∞ makroviry pro tyto dva programy.

Programy z MS-Office neuklßdajφ makra, spjatß s dokumentem, do zvlßÜtnφho souboru, ale do stejnΘho, ve kterΘm jsou ulo₧ena vlastnφ data (takovΘ soubory jsou nap°φklad v MSWordu 6 a 95 naz²vßny Üablonami). V takovΘm p°φpad∞ se tedy nejednß o Φist∞ datovΘ soubory, ale sv²m zp∙sobem o programy. To zßsadn∞ m∞nφ p°φstup k takov²m soubor∙m z hlediska bezpeΦnosti.

Zajφmavou vlastnostφ makrovir∙ je to, ₧e mohou fungovat na r∙zn²ch poΦφtaΦφch (IBM PC, Macintosh) a v r∙zn²ch operaΦnφch systΘmech (Windows 3.1, Windows 95, Windows NT, MacOS). Platformou je pro n∞ toti₧ p°φsluÜnß aplikace. Nap°φklad virus Tristate je schopen napadat dokumenty vÜech t°φ zßkladnφch aplikacφ MS-Office. Krom∞ ji₧ zmφn∞n²ch aplikacφ MS-Word, MS-Excel a MS-PowerPoint dnes existujφ makroviry i pro AmiPro a Corel. Tyto viry ale nemajφ reßlnou Üanci Üφ°it se, proto₧e ob∞ aplikace uklßdajφ makra do zvlßÜtnφho souboru. Koncem b°ezna 1998 se objevil prvnφ makrovirus, kter² je schopen pracovat v prost°edφ programu MS-Access, kter² potΘ nßsledovaly i dalÜφ. V praxi vÜak tyto viry neznamenaly ₧ßdnΘ nebezpeΦφ, proto₧e mezi u₧ivateli k v²m∞n∞ dokument∙ programu MS-Access tak°ka nedochßzφ.

Existujφ i viry, kterΘ krom∞ dokument∙ napadajφ i dalÜφ objekty (Anarchy-6093, kter² napadß normßlnφ programy, Navrhar-12888, kter² napadß drivery typu VxD pro Windows 95 Φi Beast-41472, Fabi-15930, Coke-22231 a Heathen-12288). ┌plnß novinka to ale nenφ, filosofie odpovφdß klasick²m multipartitnφm vir∙m, kterΘ napadajφ programy i systΘmovou oblast disku.

Pro uklßdßnφ ·daj∙ do souboru pou₧φvß Microsoft sv∙j vlastnφ formßt, naz²van² Compound Storage File, kter² je souΦßstφ OLE2 (Object Linking and Embedding). Takov² soubor obsahuje sv∙j vlastnφ souborov² systΘm, vΦetn∞ tabulek FAT, adresß°∙, podadresß°∙, soubor∙. Struktura souboru (a zp∙sob ulo₧enφ maker) nebyla firmou nikdy Microsoft zve°ejn∞na, je definovßno pouze API rozhranφ, kterΘ vÜak v °ad∞ p°φpad∙ necht∞jφ Φi nemohou antivirovΘ programy vyu₧φvat, a to n∞kdy z principißlnφch d∙vod∙ (nap°φklad pro programy pracujφcφ pod MS-DOSem nenφ API k dispozici). Zp∙sob ulo₧enφ maker se navφc mezi jednotliv²mi verzemi znaΦn∞ liÜφ.

Jak² je tedy princip Φinnosti makroviru? Pro MS-Word funguje v∞tÜina vir∙ nßsledujφcφm zp∙sobem: makrovirus je ulo₧en v napadenΘm dokumentu. Pokud je takov² dokument otev°en a naΦten danou aplikacφ, m∙₧e b²t za urΦit²ch podmφnek virus spuÜt∞n (nap°. pomocφ automaker, ale i jin²mi zp∙soby, o nich₧ se zmφnφme za chvφli). Virus pak m∙₧e zkopφrovat sebe sama do n∞jakΘho globßlnφho dokumentu, kter² mu zajistφ aktivaci p°i ka₧dΘm nßsledujφcφm spuÜt∞nφ aplikaΦnφho programu (u MS-Word je to soubor NORMAL.DOT). P°i dalÜφch spuÜt∞nφch aplikace tak z∙stßvß aktivnφ a m∙₧e napadat vÜechny vytvß°enΘ, modifikovanΘ Φi jen ΦtenΘ dokumenty. Toto samoz°ejm∞ nenφ jedinß cesta, jak se mohou makroviry Üφ°it, je vÜak rozhodn∞ nejpou₧φvan∞jÜφ.

4. Trochu hlubÜφ pohled

V nßsledujφcφch odstavcφch se podφvßme trochu podrobn∞ji na zp∙sob Φinnosti makrovir∙ a na mo₧nosti, kterΘ majφ v danΘm prost°edφ k dispozici.

4.1 Dokument a Üablona

MS-Word verze 6 a 95 rozliÜuje dva typy dokument∙, se kter²mi pracuje. Jednak äΦist∞ datovΘ" dokumenty a jednak Üablony. èablony mohou krom∞ klasick²ch dat obsahovat r∙znΘ dalÜφ informace, jako definice tlaΦφtek liÜty, klßvesovΘ zkratky, Φi prßv∞ makra. RozliÜenφ mezi ob∞ma typy nenφ dßno rozÜφ°enφm ve jmΘn∞ soubor∙ (.DOC pro dokumenty a .DOT pro Üablony), i kdy₧ tato rozÜφ°enφ MS-Word standardn∞ pou₧φvß. Vlastnφ rozliÜenφ je v jedinΘm bitu ve stavovΘm slov∞ uvnit° dokumentu. Typ dokument nem∙₧e u₧ivatel zm∞nit pomocφ prost°edk∙ MS-Word, v²jimkou je p°φkaz makrojazyka, kter² je pou₧φvßn makroviry. Soubory, oznaΦenΘ jako dokumenty, mohou obsahovat makrovirus, kter² je ale v tom p°φpad∞ v neaktivnφm stavu. Dokumenty, kterΘ makrovirus napadne, jsou v₧dy zm∞n∞ny na Üablony, aby virus mohl b²t p°i jejich naΦtenφ aktivovßn.

4.2 Automakra

Vlastnostφ MS-Wordu i dalÜφch aplikacφ firmy Microsoft, kterß zcela jist∞ p°ispφvß k Üφ°enφ a ·sp∞chu makrovir∙, jsou automakra. Jednß se o makra se specißlnφmi jmΘny, kterß jsou za urΦit²ch podmφnek automaticky vykonßna. P°φkladem mohou b²t makra AutoExec (automaticky spuÜt∞no p°i startu programu), AutoOpen (p°i otev°enφ dokumentu), AutoClose (p°i uzav°enφ dokumentu) a AutoExit (p°i skonΦenφ aplikace). NaneÜt∞stφ provedenφ t∞chto maker nejde jednoduÜe a spolehliv∞ zakßzat, navφc majφ p°ednost makra, ulo₧enß v prßv∞ otevφranΘm dokumentu p°ednost p°ed globßlnφmi makry (nap°. z NORMAL.DOT). To vÜe p°ispφvß k tomu, ₧e makroviry, kterΘ pou₧φvajφ prßv∞ automakra, pat°φ k nejrozÜφ°en∞jÜφm a nej·sp∞Ün∞jÜφm.

4.3 Zm∞ny v menu

To vÜak zdaleka nenφ jedin² zp∙sob, jak²m m∙₧e b²t makrovirus aktivovßn. Ve skuteΦnosti je celΘ prost°edφ dneÜnφch aplikacφ velmi flexibilnφ - pomocφ maker je mo₧no p°edefinovat libovolnou polo₧ku menu Φi libovolnΘ tlaΦφtko na stavovΘ liÜt∞. Makrovirus pak m∙₧e b²t aktivovßn nap°φklad tφm, ₧e u₧ivatel ulo₧φ nebo vytiskne soubor. Tuto vlastnost °ada vir∙ vyu₧φvß i pro skr²vßnφ svΘ p°φtomnosti, kdy₧ manipuluje s polo₧kou Tools/Macro, pop°φpad∞ File/Templates/Organizer. Existujφ viry, kterΘ takovou polo₧ku prost∞ zakß₧φ, zm∞nφ ji na prßzdnΘ okno, simulujφ chybu Φi dokonce zobrazφ vÜechna makra, samoz°ejm∞ krom∞ sv²ch. U₧ivatel pak m∙₧e jen t∞₧ko zjistit prost°edky danΘ aplikace p°φtomnost viru.

4.4 P°edefinovßnφ klßves

DalÜφ v∞cφ, kterou jsou schopna makra modifikovat, jsou klßvesovΘ zkratky a v∙bec stisk libovolnΘ klßvesy. Virus tak m∙₧e b²t aktivovßn, kdykoli nap°φklad stisknete klßvesu äa", äe" nebo mezernφk (virus WM/Gangsterz.A). Je zkrßtka vid∞t, ₧e zabrßnit viru v jeho aktivaci vlastnφmi prost°edky nap°φklad MS-Wordu je nesplniteln² ·kol.

4.5 Metody stealth

╪ada vir∙ dokß₧e v prost°edφ danΘ aplikace velmi efektivn∞ skr²vat svoji p°φtomnost podobn∞, jako to d∞lajφ klasickΘ viry. Ji₧ jsme se zmφnili o n∞kter²ch metodßch, nap°φklad znep°φstupn∞nφ polo₧ky Tools/Macro. I v tomto p°φpad∞ naz²vßme takovΘ viry ästealth". N∞kterΘ jdou dokonce tak daleko, ₧e na polo₧ku Tool/Macro majφ napojenu sv∙j reprodukΦnφ mechanismus, tak₧e u₧ivatel nejen ₧e nezjistφ p°φtomnost viru, ale sv²m pokusem virus p°φmo aktivuje. P°φm²m d∙sledkem stealth technik je to, ₧e z prost°edφ aplikace nelze spolehliv∞ zjistit, zda je dokument skuteΦn∞ infikovßn nebo ne.

4.5 Polymorfismus

Kdy₧ ji₧ hovo°φme o podobnosti s klasick²mi viry, p°ipome≥me si, ₧e i makroviry mohou b²t polymorfnφ. O polymorfismu hovo°φme tehdy, kdy₧ je virus schopen b²t v ka₧dΘ svΘ instanci jin², modifikovan², p°iΦem₧ jeho zßkladnφ chovßnφ z∙stßvß v∞tÜinou stejnΘ. K polymorfismu pou₧φvajφ makroviry op∞t s ·sp∞chem prost°edky samotnΘ aplikace. Ta toti₧ umo₧≥uje to, ₧e makro m∙₧e editovat jinΘ makro. T∞lo makra (tedy jeho zdrojov² k≤d) nenφ tedy fixnφ, ale prom∞nnΘ. To samoz°ejm∞ m∙₧e ztφ₧it detekci viru. ┌pravy, kterΘ virus provßdφ, mohou b²t velice trivißlnφ (pouhΘ p°idßvßnφ °ßdk∙, zm∞ny komentß°∙, zm∞ny jmen prom∞nn²ch a podobn∞. V n∞kter²ch p°φpadech jsou vÜak velmi komplikovanΘ: virus m∙₧e mφt Φßsti svΘho k≤du Üifrovßny, p°φpadn∞ uschovßny i mimo oblast maker. Ve sprßvnΘm okam₧iku pak pouze vytvo°φ v reßlnΘm Φase novΘ funkΦnφ makro, kterΘ spustφ a nßsledn∞ vyma₧e. Dobrou zprßvou je to, ₧e polymorfnφ makroviry Φasto pracujφ p°φliÜ pomalu a t∞₧kopßdn∞, navφc v n∞kter²ch verzφch MS-Wordu nemohou modifikaci vlastnφch maker skr²t, tak₧e u₧ivatel vidφ vÜechny provßd∞nΘ zm∞ny na svΘm monitoru.

4.6 èifrovanß makra

MS-Word umo₧≥uje makra, ulo₧enß v dokumentu, zaÜifrovat. Toto Üifrovßnφ nemß nic spoleΦnΘho s vlastnφm Üifrovßnφm vir∙, zmφn∞nΘm v p°edchozφm odstavci. Makra, zaÜifrovanß programem MS-Word, jsou naz²vßna execute-only a jsou urΦena pouze pro spouÜt∞nφ, nelze je tedy ₧ßdn²m zp∙sobem Φφst nebo modifikovat. Toho vyu₧φvajφ distributo°i nejr∙zn∞jÜφch komerΦnφch maker (chrßnφ svoje intelektußlnφ vlastnictvφ), sprßvci velk²ch podnik∙ (majφ jistotu, ₧e jim u₧ivatelΘ makra nem∞nφ), ale bohu₧el takΘ makroviry. èifrovanß makra toti₧ nemohou b²t zobrazena Φi dokonce modifikovßna pomocφ polo₧ky Tools/Macro. SamotnΘ Üifrovßnφ je natolik trivißlnφ, ₧e nenφ nejmenÜφ problΘm makra deÜifrovat a p°φpadn² virus nalΘzt. DneÜnφ antivirovΘ programy s tφm nemajφ nejmenÜφ potφ₧e. Jen to nejde ud∞lat z prost°edφ MS-Wordu. Vlastnφ data dokumentu p°i tomto zp∙sobu ochrany maker samoz°ejm∞ z∙stßvajφ nedotΦena.

4.7 Viry se potkßvajφ...

Na rozdφl od klasick²ch vir∙ nemajφ makroviry jednoznaΦn² zaΦßtek, v °ad∞ p°φpad∙ se sklßdajφ z vφce maker, a tak majφ vφce vstupnφch bod∙ a cest, kter²mi mohou b²t aktivovßny. Typick²m p°φkladem m∙₧e b²t virus, kter² obsahuje makra FileSave (Ulo₧it) a FileSaveAs (Ulo₧it jako). Pokud se na jednom poΦφtaΦi setkajφ dva r∙znΘ makroviry, jejich₧ sada maker se p°ekr²vß (jednß se o jmΘna maker), m∙₧e dojφt ke vzniku novΘho druhu viru, kter² je kombinacφ dvou p°edchozφch. V n∞kter²ch p°φpadech v²sledn² äprodukt" nenφ funkΦnφ, tj. nenφ schopen se dßle mno₧it, ale n∞kdy dojde k tomu, ₧e nov² makrovirus se bez problΘm∙ Üφ°φ dßl. Dokonce ani nemusφ jφt o setkßnφ vir∙, n∞kterΘ makroviry jsou toti₧ schopny äspolykat" i obyΦejnß neÜkodnß makra u₧ivatele Φi dokonce antivirovß makra, kterß se n∞kdy pou₧φvajφ.

4.8 Viry degenerujφ...

N∞kterΘ makroviry jsou nßchylnΘ k tomu, ₧e za urΦit²ch podmφnek jsou schopny n∞kterß svoje makra äpoztrßcet" a p°esto z∙stßvajφ funkΦnφ. V∞tÜinou se jednß o chybu v k≤du makra, kter² n∞kdy zapomene urΦitΘ Φßsti viru zkopφrovat . Typick²m p°edstavitelem tΘto skupiny maker je virus WM/Rapi.A, kter² mß p∙vodn∞ sedm maker, ale jejich poΦet se m∙₧e snφ₧it a₧ na p∞t, p°iΦem₧ virus je stßle schopen se Üφ°it.

4.9 Viry b²vajφ poÜkozeny...

N∞kterΘ starÜφ verze programu MS-Word obsahujφ chybu, je₧ vede za urΦit²ch podmφnek k tomu, ₧e p°i zßpisu souboru dojde k poÜkozenφ makra. Mechanismus tohoto poÜkozenφ nenφ p°φliÜ jasn², ale tu a tam dojde k tomu, ₧e makro je zapsßno Üpatn∞. Zm∞n∞na je v∞tÜinou jen jedna Φi n∞kolik slabik a samoz°ejm∞ zßle₧φ na tom, kam se zrovna MS-Word ätrefφ". V makrech je toti₧ ulo₧en zdrojov² text, kter² m∙₧e obsahovat °adu v∞cφ, kterΘ s funkcφ maker p°φmo nesouvisφ (komentß°e, °et∞zce znak∙ a podobn∞). Navφc i p°i poÜkozenφ n∞kterΘ v²konnΘ funkce m∙₧e makrovirus celkov∞ z∙stat funkΦnφ. V praxi to vede k tomu, ₧e se objevuje celß °ada r∙zn²ch variant tΘho₧ viru, kterΘ vznikly äsamovoln∞", tj. bez p°φmΘho zßsahu Φlov∞ka. A je jasnΘ, ₧e v²Üe uvedenΘ platφ zejmΘna pro ty viry, kterΘ jsou vφce rozÜφ°eny mezi u₧ivateli, a tedy Φast∞ji kopφrovßny.

4.10 Viry mohou b²t zniΦeny...

Uvedli jsme si n∞kolik zp∙sob∙, kter²m mohou b²t viry poÜkozeny. V n∞kter²ch p°φpadech virus m∙₧e fungovat i nadßle, jindy ale p°estane b²t virem - ztrßcφ mo₧nost Üφ°it se do dalÜφch dokument∙. Uveden² p°φpad Φasto nastßvß i po äodbornΘm" ale pouze ΦßsteΦnΘm odstran∞nφ makrovir∙. Nep°φjemn² m∙₧e b²t i p°φpad, kdy manipulaΦnφ Φinnost z∙stane funkΦnφ, tak₧e m∙₧e dojφt k jejφmu vyvolßnφ i u jinak nefuknΦnφho viru.

4.11 R∙znΘ verze aplikacφ

Jak je ve sv∞t∞ programovΘho vybavenφ zvykem, neexistuje pouze jedinß verze danΘ aplikace. Asi to pro tak rozÜφ°enΘ programy ani jinak b²t nem∙₧e. Brzy po uvedenφ na trh se toti₧ objevφ nejr∙zn∞jÜφ lokalizace, servisnφ aktualizace (service pack) a jen o mßlo pozd∞ji novß verze, p°iΦem₧ se cel² cyklus opakuje. Jak tento kolob∞h ovliv≥uje makroviry? Dost podstatn∞. VÜimn∞me si nejd°φve lokalizacφ. Nap°φklad program MS-Word se vyskytuje v nejr∙zn∞jÜφch jazykov²ch verzφch. ZajφmavΘ je, ₧e zp∙sob lokalizacφ se v jednotliv²ch zemφch velmi odliÜuje. Srovnßme-li n∞meckou a Φeskou verzi MS-Word verze 6, uvidφme, ₧e v n∞meckΘ verze jsou p°ejmenovßny funkce, spjatΘ s polo₧kami menu (DateiSpeichern mφsto FileSave), v ΦeskΘ verzi se nic takovΘho nevyskytuje. Naopak u nßs byla lokalizovßna i jmΘna datov²ch vnit°nφch struktur, k Φemu₧ naopak nedoÜlo v N∞mecku. AsijskΘ mutace programu MS-Word majφ data ulo₧ena ve formßtu Unicode, kter² pou₧φvß pro k≤dovßnφ jednoho znaku Üestnßct bit∙, zßpadnφ sv∞t uklßdß ka₧d² znak do osmi bit∙, tak₧e tyto programy nejsou vzßjemn∞ kompatibilnφ.

Z uvedenΘho plyne, ₧e ne vÜechny makroviry se mohou Üφ°it ve vÜech verzφch programu MS-Word verze 6. N∞kterΘ se Üφ°φ pouze v danΘ jazykovΘ mutaci, jinΘ mohou pracovat v n∞kolika r∙zn²ch programech. Ve jmΘnu makroviru se takovΘ p°φpady rozliÜujφ uvedenφm k≤du p°φsluÜnΘ zem∞ (nap°. n∞meck² WM/Xenixos.A:De Φi tchajwansk² WM/Twno.A:Tw). Dφky ΦeskΘ lokalizaci se ╚eskΘ republice a ΦßsteΦn∞ i Slovensku vyhnula prvnφ velkß vlna Üφ°enφ makrovir∙, kterΘ se nebyly schopny Üφ°it v ΦeskΘm MS-Wordu a objevovaly se pouze sporadicky a zejmΘna u firem, kterΘ byly v kontaktu se zahraniΦnφmi partnery. VÜe se zm∞nilo a₧ v lΘt∞ 1997, kdy se objevil WM/CAP.A, kter² byl schopen Üφ°it se snad ve vÜech zßpadnφch verzφch programu bez ohledu na zp∙sob lokalizace.

Na ja°e 1997 se objevila novß verze kancelß°sk²ch program∙ firmy Microsoft pod nßzvem MS-Office 97. Ta p°inesla z hlediska vir∙ °adu novinek. Zcela se zm∞nil programovacφ jazyk, zp∙sob uklßdßnφ maker do dokumentu, ochrana maker a podobn∞. Obecn∞ lze °φci, ₧e vÜe je v novΘ verzi mnohem slo₧it∞jÜφ. Podstatn²m rozdφlem je i to, ₧e prost°edφ maker nebylo lokalizovßno v∙bec, a tak se ·pln∞ stφrajφ rozdφly mezi jednotliv²mi nßrodnφmi verzemi programu MS-Word97. Zm∞ny, kterΘ p°inesla verze MS-Office 2000, nejsou zdaleka tak radikßlnφ, i kdy₧ op∞t doÜlo ke zm∞nßm vnit°nφho ulo₧enφ maker v dokumentu.

4.12 Automatickß konverze

MS-Word97 (souΦßst MS-Office 97) umφ automaticky zkonvertovat makra, vytvo°enß p°edchozφ verzφ programu. To se samoz°ejm∞ t²kß i makrovir∙, kterΘ mohou b²t p°evedeny do novΘho programovacφho jazyka, a p°itom z∙stat pln∞ funkΦnφ. Neplatφ to pro vÜechny makroviry, hodn∞ zßle₧φ na tom, jakΘ funkce pou₧φvajφ - Φφm jednoduÜÜφ virus, tφm v∞tÜφ Üance na jeho konverzi (je to podobnΘ jako s klasick²mi viry v DOSovΘm okn∞ Windows 95 Φi Windows NT). Makra, kterß jsou Üifrovßna, zßsadn∞ konvertovßna nejsou. N∞kterΘ viry sice zkonvertovßny jsou, ale ztratφ schopnost se mno₧it. P°φkladem m∙₧e b²t znßm² virus WM/CAP.A. Z hlediska binßrnφho vyjßd°enφ, vlastnφ Φinnosti, zp∙sobu detekce i odstra≥ovßnφ jsou zkonvertovanΘ makroviry ·pln∞ jin²mi druhy vir∙, ne₧ jejich p°edch∙dci. P°itom vznikajφ zcela automaticky. Microsoft sice do finßlnφ verze za°adil velice primitivnφ mechanismus na zjiÜ¥ovßnφ tehdy nejrozÜφ°en∞jÜφch druh∙ vir∙, ale ten pouze nepatrn∞ snφ₧il nebezpeΦφ konverze. Navφc se objevil a₧ ve finßlnφ verzi, tak₧e n∞kterΘ makroviry (nap°. WM/Wazzu.A) byly ·sp∞Ün∞ konvertovßny beta verzφ programu (v p°φpad∞ viru W97M/Wazzu.A dokonce uvnit° Microsoftu!). Zve°ejn∞n² Service Pack pro Office-97 v²razn∞ omezil nejrozÜφ°en∞jÜφ metodu Üφ°enφ tehdy znßm²ch makrovir∙. P°esto se rychle objevila cesta, jak toto opat°enφ obejφt. Tento zp∙sob se poprvΘ objevil ve virech MW97/Class a od tΘ doby je pou₧φvßn i v °ad∞ dalÜφch makrovir∙.

MS-Excel z balφku Office 97 umφ (na rozdφl od MS-Word) uklßdat soubory ve formßtu p°edchozφ verze, a to vΦetn∞ maker, tedy i makrovir∙. V takovΘm souboru jsou pak ulo₧eny vlastn∞ viry dva - jeden pro starÜφ a jeden pro nov∞jÜφ verzi programu MS-Excel.

4.13 Jazyk pro vytvß°enφ maker

Makroviry (obecn∞ makra) jsou dnes vytvß°eny ve vyÜÜφch programovacφch jazycφch. V p°φpad∞ MS-Wordu verze 6 a 95 se jednß o pom∞rn∞ jednoduch² WordBasic, u Excelu verze 5 o VBA 3 (VBA znamenß Visual Basic for Applications) a u aplikacφ z Office 97 a 2000 o VBA 5. V Office 97 mohou b²t makra pou₧φvßna u Programu PowerPoint. Navφc Microsoft ji₧ poskytl n∞kolik licencφ na VBA dodavatel∙m dalÜφch aplikaΦnφch program∙ - Φasem se tedy mohou vyskytnout makra (a tedy i makroviry) pro °adu jin²ch aplikacφ (WordPerfect, AutoCAD). VÜechny tyto programovacφ jazyky jsou velmi mocnΘ - um∞jφ manipulovat nejen s p°φsluÜn²m dokumentem v pam∞ti, ale i s ostatnφmi makry, se soubory na disku, a dokonce mohou komunikovat i s jin²mi aplikacemi. SamotnΘ vytvß°enφ maker je velmi jednoduchΘ a jeliko₧ je k dispozici zdrojov² k≤d, v °ad∞ p°φpad∙ dochßzφ k modifikaci vir∙ jin²m u₧ivatelem (nap°. pouhou zm∞nou text∙).

4.14 èifrovßnφ dokument∙

Dokumenty, vytvo°enΘ aplikaΦnφmi programy, mohou b²t zaÜifrovßny, tak₧e bez znalosti hesla je nelze p°eΦφst. U programu MS-Word verze 6 a 7 jsou Üifrovßna veÜkerß data vΦetn∞ maker, normßln∞ tedy bez hesla nejde zjistit, zda takov² dokument obsahuje virus nebo ne. èifrovßnφ, kterΘ zvolil Microsoft, nenφ p°φliÜ silnΘ a dokument je mo₧no deÜifrovat. Je samoz°ejm∞ etickou otßzkou, zda mß tuto Φinnost provßd∞t antivirov² program. R∙znΘ antivirovΘ programy proto zvolily r∙zn² p°φstup: od ignorovßnφ takovΘho souboru p°es varovnou informaci o tom, ₧e dan² soubor nebyl zkontrolovßn, a₧ po automatickΘ deÜifrovßnφ a otestovßnφ. Jinß je situace u MS-Word97, kdy je Üifrovßn pouze samotn² obsah dokumentu a makra le₧φ v oblasti, kterß nenφ Üifrovßnφm dotΦena. P°esto mohou obsahovat odkazy do dokumentu, na co₧ je pot°eba dßt pozor p°i odstra≥ovßnφ viru.

4.15 ManipulaΦnφ Φinnost vir∙

Makroviry mohou, podobn∞ jako klasickΘ viry, krom∞ svΘho Üφ°enφ provßd∞t i nejr∙zn∞jÜφ manipulaΦnφ Φinnost. VÜe zßle₧φ na ·myslech a morßlnφm profilu autora viru. Virus WM/Concept (o kterΘm se °φkß, ₧e mo₧nß dokonce vznikl v lΘt∞ 1995 p°φmo na p∙d∞ Microsoftu) obsahuje makro Payload, kterΘ ale nic neprovßdφ, pouze obsahuje komentß° äTo staΦφ, abych dokßzal svoji teorii". Ji₧ nßsledujφcφ makroviry ale tak neÜkodnΘ nebyly. WM/Nuclear.A nap°φklad p°idßval na konec dokumentu p°i tisku Φi odeslßnφ faxem v∞tu: äA zßv∞rem bych cht∞l °φci - zastavte vÜechny francouzskΘ nukleßrnφ pokusy v Pacifiku" a pokouÜel se nakazit poΦφtaΦ klasick²m virem Ph33r-1322, virus WM/Colors.A naprosto nßhodn∞ m∞nil nastavenφ palety barev Windows 3.1, virus WM/Atom.A za urΦit²ch podmφnek zaÜifroval dokument heslem. Virus WM/ShareFun.A se pokusil zaslat sebe sama (spolu s napaden²m dokumentem) t°em vybran²m ob∞tem z adresß°e elektronickΘ poÜty p°es program Microsoft Mail. V poslednφ dob∞ se objevily makroviry, kterΘ manipulujφ s citliv²mi daty na disku (PGP û virus Caligula) nebo p°φmo komunikujφ s ostatnφmi aplikacemi bu∩ kv∙li manipulaΦnφ Φinnosti Φi kv∙li svΘmu Üφ°enφ (Outlook a Melissa). Jak je vid∞t, makroviry mohou provßd∞t ledacos a prost°edky na to majφ. Velmi nep°φjemn∞ se nap°φklad projevuje v Americe dosud rozÜφ°en² virus WM/Wazzu.A. Ten za urΦit²ch podmφnek prohodφ dv∞ nßhodn∞ zvolenß slova v dokumentu a na nßhodnΘ mφsto p°idß slovo äwazzu". U IBM provedli v roce 1997 zajφmav² pokus. Hledali toti₧ na Internetu prßv∞ slovo äwazzu", a to na mφstech, kde se nehovo°φ ani o virech, ani o washingtonskΘ universit∞, kterß b²vß prßv∞ tφmto slovem slangov∞ oznaΦovßna. V²sledek byl p°ekvapiv² - mnohΘ dokumenty obsahovaly äwazzu" na t∞ch nejnepravd∞podobn∞jÜφch mφstech. I kdy₧ je nativnφm formßtem webov²ch strßnek HTML, °ada text∙ je do n∞ho p°evedena z programu MS-Word, a ten byl prßv∞ v t∞chto p°φpadech infikovßn virem WM/Wazzu. ╚innosti podobnΘ nßhodnΘmu prohazovßnφ slov jsou velice nep°φjemnΘ. Nßsledky rozhodn∞ nejdou odstranit automaticky a v °ad∞ p°φpad∙ v∙bec.

5. Detekce makrovir∙

Jak je mo₧nΘ makroviry detekovat? Vid∞li jsme, ₧e v samotnΘm prost°edφ programu MS-Word nenφ spolehlivß a ·Φinnß detekce mo₧nß. Musφ proto nastoupit specializovanΘ programy, kterΘ jsou schopny makroviry vyhledat jinak. ProblΘmem je zde samoz°ejm∞ slo₧itost formßtu OLE2 i vlastnφho makrojazyka. Proto takΘ v pion²rsk²ch dobßch nastoupila hrubß sφla - charakteristickΘ °et∞zce se hledaly v celΘm souboru. To bylo samoz°ejm∞ velice pomalΘ a navφc ne v₧dy ·ΦinnΘ. PotΘ se objevily dv∞ metody. To prvnφ, jednoduÜÜφ a v souΦasnΘ dob∞ z°φdka pou₧φvanou je pou₧φvßnφ API na OLE2. Druhou metodou, ke kterΘ se p°iklonila v∞tÜina antivirov²ch firem, je zp∞tnß anal²za jak formßtu OLE2 tak makrojazyk∙.

Pro detekci vir∙ se pou₧φvajφ principißln∞ dv∞ metody: prvnφ je zalo₧ena na poΦφtßnφ kontrolnφch souΦt∙ t∞la maker a porovnßnφ se znßm²mi hodnotami. Jejφ v²hodou je to, ₧e dokß₧e makrovirus identifikovat p°esn∞. Nev²hoda je z°ejmß - nelze detekovat poÜkozenΘ Φi modifikovanΘ viry (varianty p∙vodnφho viru), tato metoda se naprosto nehodφ k detekci sebejednoduÜÜφch polymorfnφch vir∙. Proto se n∞kdy do kontrolnφho souΦtu nezahrnujφ nev²znamnΘ Φßsti (nap°φklad komentß°e, prßzdnΘ °ßdky atd.). Druhou metodou je vyhledßvßnφ charakteristickΘho °et∞zce v t∞le makra. V²hodou je to, ₧e dokß₧e zjistit i °adu variant p∙vodnφho viru, nev²hodou je v∞tÜφ nßchylnost k faleÜn²m poplach∙m a nemo₧nost p°esn∞ virus identifikovat. V praxi se Φasto ob∞ metody kombinujφ.

N∞kterΘ antivirovΘ produkty obsahujφ i heuristickou metodu detekce makrovir∙. Ta opravdu m∙₧e v °ad∞ p°φpad∙ odhalit neznßm² virus. Krom∞ znßmΘho problΘmu s faleÜn²mi poplachy zde p°istupuje i fakt, ₧e d∙kladnß anal²za programu psanΘm ve vyÜÜφm programovacφm jazyce je velmi komplikovanou zßle₧itostφ. To platφ zejmΘna pro VBA 5.

6. Odstran∞nφ makrovir∙

Odstran∞nφ makrovir∙ nenφ jednoduchou zßle₧itostφ. Je prakticky nemo₧nΘ uvΘst napaden² soubor do p°esn∞ stejnΘho stavu, v jakΘm byl p°ed napadenφm. P°esto existuje °ada metod, jak virus eliminovat. U makrovir∙ pro MS-Word je virus neaktivnφ, pokud se vnit°nφ p°φznak v souboru zm∞nφ ze Üablony na dokument. TakΘ binßrnφm p°epsßnφm jmen maker je virus vy°azen z Φinnosti. Tyto postupy vÜak nelze doporuΦit. Sprßvn∞ je pot°eba zjistit, kterß makra jsou souΦßstφ viru, tato makra smazat, jejich t∞la p°epsat, zruÜit veÜkerΘ souvisejφcφ odkazy (nap°. klßvesovΘ zkratky) a pokud je to mo₧nΘ, soubor m∞nit ze Üablony na dokument. Situace je jeÜt∞ komplikovan∞jÜφ u VBA maker, proto₧e jejich struktura je komplikovan∞jÜφ (tabulky prom∞nn²ch, ve VBA 5 existuje dvojφ vyjßd°enφ viru) a makra mohou b²t spjata p°φmo s daty dokumentu, tak₧e krom∞ likvidace vlastnφch maker je nutno provΘst i zßsah do vlastnφch dat.

7. Virovß situace

PoΦet makrovir∙ neustßle stoupß a za pom∞rn∞ krßtkou dobu ji₧ dosßhl skuteΦn∞ ·ctyhodn²ch Φφsel. Je z°ejmΘ, ₧e °ada variant starÜφch vir∙ vznikla samovolnou modifikacφ a ₧e zdaleka ne vÜechny se voln∞ Üφ°φ, a proto znamenajφ nebezpeΦφ pro u₧ivatele. Viry, kterΘ se voln∞ Üφ°φ, jsou asi Φty°iceti odbornφky z r∙zn²ch zemφ publikovßny v takzvanΘm seznamu vir∙ In the Wild (v divoΦin∞).

NejrozÜφ°en∞jÜφm makrovirem dneÜka jak u nßs tak ve sv∞t∞ je urΦit∞ WM/CAP.A, XM/Laroux.A, XM97/Laroux.A, a dßle viry z rodiny WM97/Class a WM97/Ethan. Dodnes je p°ekvapiv∞ znaΦn∞ rozÜφ°en i virus WM/Concept.A a WM/Wazzu.A.

8. Zßv∞r

Makroviry dnes p°edstavujφ skuteΦn∞ reßlnou hrozbu a jejich masovΘ rozÜφ°enφ ji₧ v °ad∞ p°φpad∙ zastφnilo i klasickΘ poΦφtaΦovΘ viry, napadajφcφ programy Φi systΘmovou oblast disk∙. Je to dßno zejmΘna masov²m nasazenφm p°φsluÜn²ch aplikaΦnφch program∙, masivnφ v²m∞nou dat mezi nimi (u₧ivatelΘ si vym∞≥ujφ dokumenty mnohem Φast∞ji ne₧ programy) a v neposlednφ °ad∞ i zv²Üen²m vyu₧φvßnφm elektronickΘ poÜty. èφ°enφ infikovan²ch dokument∙ po sφtφch za pomoci elektronickΘ poÜty je mnohem rychlejÜφ a ·Φinn∞jÜφ, a proto nebezpeΦn∞jÜφ, ne₧ klasick² p°enos vir∙ na disketßch. A proto₧e vÜechny t°i zmφn∞nΘ faktory budou i v budoucnosti zcela jist∞ nab²vat na v²znamu, musφme b²t p°ipraveni na to, ₧e makroviry budou v nejbli₧Üφch letech spφÜe v∞tÜφm ne₧ menÜφm problΘmem.

Autor Φlßnku: Pavel BaudiÜ, Alwil