Chip 11/2004: antivirový koutek
Trvá to zhruba čtrnáct dní, pak už začne jít do tuhého. O čem je řeč? O intervalu, který v posledních dvou letech uplyne od doby, kdy firma Microsoft zveřejní záplatu na existující bezpečnostní chybu, do doby, než se objeví nějaký škodlivý program, který tuto chybu zneužívá. Bylo tomu tak loni v létě (červ Blaster), letos na jaře (červ Sasser) a je tomu tak víceméně i nyní v souvislosti s chybou ve zpracování obrázků JPEG, o které si dnes budeme povídat. Je to dlouhá či krátká doba? Jak se to vezme – mohlo by to být samozřejmě mnohem horší, pokud by došlo ke zneužití dosud neznámé chyby nebo chyby, na kterou dosud neexistuje žádná opravná záplata. Dva týdny jsou podle všeho zatím dostatečné na to, aby zodpovědní uživatelé svoje operační systémy opravili – nicméně je jasné, že existuje dostatečně velká skupina lidí, kteří tyto záplaty z nejrůznějších důvodů neinstalují, a jejichž počítače pak tvoří základ pro šíření nových druhů škodlivých programů.
O co se jedná v tom posledním případě? 14. září Microsoft oznámil bezpečnostní problém a zveřejnil opravnou aktualizaci (MS Security Bulletin MS04-028). Konkrétně se jedná o to, že obrázky typu JPEG mohou obsahovat sekci s komentářem, jehož délka je v hlavičce sekce uložena a může mít minimální délku 2 (samotná délka, žádná data). Program, který s těmito daty pracuje, obsahuje chybu – odečítá zmíněnou dvojku od uložené délky, aniž zkontroluje, zda původní hodnota není 0 či 1. Pokud tomu tak je, dojde k podtečení bufferu a k následnému přepsání obsahu zásobníku, což může vést ke spuštění speciálně vytvořeného kódu, který je v obrázku uložen. Program tak může být spuštěn pouhým pokusem o prohlédnutí speciálně upraveného obrázku, který se k Vám může dostat nejrůznějšími způsoby – brouzdáním po Internetu nebo třeba elektronickou poštou.
Celý problém má dva nepříjemné aspekty: postižena není totiž jediná aplikace, ale systémové knihovny, jejichž služeb využívá řada dalších programů. Proto není jednoduché stoprocentně určit všechny situace, ve kterých může k vyvolání kódu dojít. Druhým problémem je to, že obrázky JPEG jsou nejrozšířenějším typem obrázků vůbec, a to jak na Internetu, tak například v oblasti digitální fotografie. Antivirové programy jsou dnes samozřejmě schopny obecně detekovat jakýkoli nebezpečný obrázek, ale už to, že je potřeba každý obrázek zkontrolovat, může vést k mnohem větší zátěži systému a ke zpomalení antivirové kontroly na daném počítači.
Chyba se týká následujících operačních systémů: Windows XP a Windows XP Service Pack 1 (včetně 64bitových verzí) a Windows Server 2003 (včetně 64bitové verze), a dále těchto aplikací: MS Office XP SP 3, MS Office 2002, MS Office 2003, MS Project 2002 a 2003, MS Visio 2002 SP1, MS Visio 2003, dále naprosté většiny .NET aplikací a dalších produktů firmy Microsoft (MS Picture It!, Greetings, Digital Image atd.). Problém má i program Internet Explorer 6 SP 1.
Postiženy naopak nejsou nejnovější Windows XP SP2 a také starší verze operačních systémů: NT Server 4.0 SP 6a, Windows 2000 SP 3 a SP4, Windows 98, Windows 98 SE a Windows ME, a dále nejnovější a naopak starší aplikace (např. MS Office SP1 či MS Office 2000). Chybou netrpí ani starší verze Internet Exploreru (IE 5.01 či IE 5.5 SP2).
Je vidět, že záběr zmíněné chyby je opravdu velmi široký a nepříjemný. Dobrou zprávou je, že výše zmíněná záplata jednou provždy počítač proti této chybě ochrání a nechtěné spuštění škodlivého programu nemůže v žádné aplikaci nastat. To je také jediné systémové řešení, protože spoléhat pouze na to, že antivirové programy budou „vadné“ obrázky detekovat (ať už obecně nebo konkrétní zneužití) je poněkud krátkozraké.
Netrvalo dlouho a objevily se první pokusy o zneužití chyby – 23. září se objevily první ukázky, které spuštěly program pomocí upraveného obrázku, hned o den později dokonce byl zveřejněn nástroj, který jednoduchým způsobem a bez znalosti programování umožňoval vytváření trojských koní – kód v obrázku stáhnul z Internetu určený program a spustil ho. Tento nástroj má jeden zajímavý efekt – pokud jej použijete na nezáplatovaném stroji, Vámi určený program je kvůli chybě automaticky stažen a spuštěn J! Začátkem října byl pak přes IRC a Usenet distribuován obrázek, který stáhl a spustil trojského koně typu BOT. Počet podobných útoků se jistě bude nadále zvyšovat.
Je vidět, že autoři virů i trojských koní se učí velmi rychle a dokáží nové metody šíření do svých výtvorů zapracovat docela rychle. Je proto žádoucí, aby uživatelé opravdu dbali na stav svých počítačů a kritické záplaty do nich instalovali co nejdříve. Pokud máte nainstalován systém Windows XP Service Pack 2, pak je vhodné nastavit automatické instalování kritických záplat – pak je (ve většině případů J) po starostech!