Kapitoly z historie hackingu - [VI] A přišel virus...

8. 2. 2007

Sdílet

Škodlivé kódy se bohužel staly nedílnou součástí ICT světa. Řečeno slovy klasika: můžeme s tím souhlasit,m můžeme s tím nesouhlasit, ale to je tak všechno, co s tím můžeme udělat.

Dnešní malware (malign software, škodlivé programy) jsou diametrálně odlišné od svých dědečků a pradědečků, kteří existovali před dvaceti lety. Výprava do (pre)historie počítačových virů viděná dnešníma očima tak rozhodně nepostrádá své kouzlo...
Všechno začalo v roce 1986, kdy pákistánští bratři Basít a Amjád (jinak provozující obchod s počítačovými programy - některé prý byly i legální) zjistili, že boot sektor každé diskety obsahuje spustitelný kód, který je vykonán pokaždé, kdy je zaváděn operační systém právě z diskety (tzv. bootování). To sice žádným převratným objevem samo o sobě nebylo, mnohem závažnějším faktem se ukázalo být zjištění, že tento kód lze nahradit jiným. A ten může obsahovat nejrůznější instrukce, např. rezidentně instalovat kus programového kódu do paměti a následně sám sebe nakopírovat na každou disketu přistupovanou přes mechaniku. Byla to značně neohrabaná utilita, která byla schopná infikovat pouze 360 kB diskety. Basít a Amjád tento kód pojmenovali "virus".
O pouhý rok později (1987) zaregistrovali na americké University of Delaware, že zde používané diskety obsahují právě pozměněný kód v boot sektoru. Navíc všechny diskety nesly stejné jméno: "(c)Brain". Toto přejmenovávání spolu se šířením sebe sama byly naštěstí jediné projevy viru, který zcela logicky dostal právě jméno Brain. Po teoretickém konceptu se tak první boot-virus objevil v praxi.
A to nebylo vše: vraťme se nyní zpět do roku 1986. Tehdy programátor Ralf Burger ke svému údivu zjistil, že je schopen vytvořit kus programového kódu, který se může připojovat k dalším a dalším souborům. Aby si své zjištění ověřil prakticky, vytvořil demonstrační verzi tohoto efektu nazvanou Virdem (VIRus DEMo). Ten byl schopen infikovat jakékoliv soubory s extenzí COM, ale jinak byl zcela neškodný.
Také tento teoretický koncept se dočkal praktického zneužití - a také v roce 1987. Programátor Franz Swoboda z Vídně upozornil, že v počítačovém programu Charlie je "něco" divného. Šlo o souborový virus, který vešel do historie pod označením Charlie nebo Vienna. Ten s pravděpodobností jedna ku osmi po spuštění napadeného souboru rebootoval počítač, což prováděl pomocí modifikace prvních pěti bajtů napadeného souboru. Ralf Burger se pokusil vytvořit první známý antivirový program tak, že automaticky nahrazoval oněch pět modifikovaných bajtů mezerami - problém byl v tom, že tento koncept nefungoval a takto "odvirované" soubory způsobovaly pády počítačů.
Ve stejné době píše ve Spojených státech Fred Cohen doktorskou disertační práci o počítačových virech. V ní na základě matematických metod přináší důkaz, že není možné napsat program, který bude jiné počítačové programy kontrolovat se stoprocentní jistotou na nepřítomnost virů. Cohen provedl také několik experimentů se škodlivými kódy, kdy je zkoušel "vypouštět" do systému a s hrůzou sledoval, jak neuvěřitelně rychle se dokáží počítačové viry šířit.
Ve stejné době dělali své první experimenty s počítačovými viry také další programátoři. Jeden z nich (původem z izraelského Tel Avivu) svůj první výtvor nazval Suriv-01 (jedná se o slovíčko "virus" čtené pozpátku). Byl to rezidentní program, který mohl infikovat soubory formátu COM. Suriv-01 měl vynikající strategii útoku, takže postupně dokázal infikovat všechny spustitelné soubory na všech dostupných discích napadeného počítače.
Následující Suriv-02 se zaměřoval jen na EXE soubory (jako první škodlivý kód na světě). A Suriv-03 už dokázal infikovat jak EXE, tak COM soubory. Tím série "surivů" skončila a na její místo nastoupl virus Jerusalem, který se aktivoval vždy, když připadlo třináctého na pátek. Což byla atraktivní vlastnost poutající pozornost médií. (V těchto dobách také začala vznikat poučka o tom, že v některých dnech není vhodné kvůli útokům virů pouštět počítač - jak by asi vypadala dnes?) Tento virus byl poprvé zaznamenaný na Hebrew University of Jerusalem (odsud jeho název).
Jistý student z novozélandské University of Willington vzápětí objevil způsob, jak stvořit velmi efektivní virus. S pravděpodobností jedna ku osmi zobrazil při bootování napadeného počítače hlášení "You PC is now stoned" (Počítač právě zkameněl). Konstatování "Stoned" se tak pak stalo jeho oficiálním jménem. Šlo o kód jen několik set bajtů dlouhý, přesto byl neuvěřitelně úspěšný a stal se pravděpodobně nejúspěšnějším virem v historii - vyjádřeno v procentech zasažených počítačů (vzhledem k ohromnému nárůstu použití výpočetní techniky jsou co se absolutních čísel týká současné epidemie samozřejmě mnohem větší).
Také další virus vznikl na akademické půdě. V rodném listě má napsáno Itálie, Turínská univerzita. Šlo o virus boot sektorový, který každou půlhodinu zobrazoval balón, "skákající" po obrazovce. Znám je pod názvy Italian, Ping Pong nebo Bouncing Ball. Ve svém programovém kódu ale obsahoval výkonnou instrukci, která mu znemožňovala běh na procesorech silnějších než 8088 či 8086 (prostě tento příkaz neznaly).
Virus Cascade (nazvaný podle padajících písmen ze vzkazu jím zobrazovaného) má kořeny v sousedním Německu. Byl nositelem nové a nebezpečné myšlenky, neboť většina jeho programového kódu byla šifrovaná a pouze malá část se nacházela v "otevřeném" tvaru. Díky tomu se špatně vyhledával (antivirovým programům se radikálně zmenšil prostor k nalezení kódu) a stejně tak se špatně odstraňoval - ne pokaždé bylo zřejmé, kde končí původní soubor a kde začíná virus, a tak často docházelo k poškození "opravovaného" souboru.
Rok 1988 bychom mohli charakterizovat klidem zbraní v oblasti počítačových virů, leč intenzivního zbrojení na druhé straně barikády - mezi antivirovými programy. Produkty z této doby byly ve srovnání s dnešními komplexními řešeními nesmírně primitivní a byly také dostupné za velmi nízké ceny - řádově 5 až 10 dolarů. Není divu, vždyť dokázaly "bojovat" maximálně s několika viry. Některé programy byly šířeny jako shareware či freeware. Několik firem se sice pokusilo s antivirovým softwarem udělat větší obchody, ale neměly úspěch. Nikdo nebyl ochoten zaplatit za něco, co bylo pouze potenciálním problémem. Zkrátka, předběhly svou dobu.
V září 1988 se objevil tzv. Morrisův červ (nebyl to přímo virus, ale škodlivý kód, který se pohyboval mezi počítači zapojenými v síti). Student Robert Morris chtěl tehdy experimentálně na několika počítačích vyzkoušet šíření počítačového viru, ale pokus se mu vymkl z ruky a došlo k napadení 6 000 počítačů (což v tehdejší době znamenalo asi osm procent světové počítačové sítě).
Počátkem roku 1989 se počítačové viry staly opět mediálními sólokapry, když se blížil pátek 13. ledna a některé firmy varovaly před projevy Jerusalemu. Senzacechtiví novináři samozřejmě celou kauzu příslušně nafoukli, jenže se celkem nic nestalo - a díky tomu začali mnozí lidí počítačové viry podceňovat.
V březnu 1989 se objevil v Nizozemí virus Datacrime. Ve své aktivační rutině měl nastavené napadání FAT tabulky vždy, pokud systémové hodiny ukazovaly datum mezi 12. říjnem a 31. prosincem. Média ovšem tuto informaci mírně zkreslila a informovala o viru útočícím vždy 12. října, takže se mezi novináři pro něj vžilo označení Columbus Day Virus (12. října 1492 byla objevena Amerika).
Pro detekci Datacrime nechala nizozemská policie dokonce vyrobit program a prodávala jej ve svých služebnách za několik guldenů zhruba v ekvivalentu jednoho dolaru. Jako velký problém se ovšem záhy ukázalo, že tato primitivní a jednorázová utilita způsobovala mnoho falešných a zbytečných poplachů. Bylo nutné vydat verzi programu číslo dvě a důvěra v něj tak byla podlomena.
Ovšem právě Datacrime zapříčinil, že firma IBM (používající dosud svůj interní antivirový software) se rozhodla tento uvolnil pro své zákazníky a rozeslala jim disketu s průvodním dopisem a návodem k instalaci i obsluze. Málokdo sice tehdy našel Datacrime (další z dlouhé řady virů, které jsou více propírány v médiích než reálně nebezpečné), ale zato jiné viry ano. Díky této aktivitě IBM se mnoho počítačových specialistů poprvé setkalo s antivirovými programy.
Rok 1989 se uzavřel s incidentem "AIDS Information Diskette". Na adresář firem zveřejněný v časopise PC Business World bylo rozesláno dvacet tisíc kopií diskety společně s instalačními instrukcemi a žádostí o příspěvek 189 dolarů na boj proti této nemoci.
Byl to vlastně první případ sociálního inženýrství, kdy lidé lační po informacích o chorobě AIDS instalovali informační program jako o život. Leč spolu s žádanými informacemi se jim do počítače dostalo také několik nežádaných skrytých souborů a byl modifikován soubor AUTOEXEC.BAT, který zajišťoval jejich spouštění při každém bootování. Poté, co počet bootování dosáhl čísla devadesát, program zašifroval všechny soubory na disku a dal jim skrytý atribut. Při prvním pohledu na disk tak byl viditelný jen jeden jediný soubor: textová žádost o zaslání 189 dolarů do P.O.Boxu 7 v Panamě, slibující za tento obnos dodání příslušné dešifrovací rutiny. "AIDS Information Diskette" nebyl klasický virus, ale jiný škodlivý kód - trojský kůň. Tedy aplikace, která vykoná nejen to, co chcete, ale zároveň i to, co neočekáváte.
V roce 1990 se v oblasti počítačových virů začaly objevoval nové "podlé technologie". Pocházely především od bulharského autora s přezdívkou Dark Avenger. Šlo např. o "subtle damage" - postupné poškozování (pokud škodlivý kód něco poškodí najednou, uživatel si toho okamžitě všimne - pokud ale destrukce probíhá pomalu krok za krokem, uživatel ji zpravidla zaregistruje pozdě). Díky "subtle damage" docházelo mnohdy k zálohování poškozených dat a jejich obnova se tak stala obtížnou - starší zálohy se neukládají a pokud ano, doplnění dat na původní kvalitu i kvantitu je velmi zdlouhavé a obtížné. Dark Avenger byl v oblasti počítačových virů velmi kreativní. Své kódy nahrál na BBS či infikoval sharewarové antivirové programy (u nich modifikoval i dokumentaci pro ty, kdo byli dostatečně opatrní a kontrolovali si např. velikost souborů podle popisu).
V dubnu 1991 se začala šířit Tequila, první plně polymorfní virus - nebylo možné pro něj napsat ani jeden vyhledávací znak, svou podobu mohl měnit skutečně od "A" do "Z". V roce 1992 o sobě dal opět vědět Dark Avenger, když vytvořil utilitu Commander Bomber. Do té doby bylo poměrně snadné stanovit, kde se virus může v napadeném programu nacházet - buď v hlavičce, nebo na konci souboru (nebo i v jeho těle) - ovšem s odkazem právě z hlavičky. Commander Bomber umožňoval škodlivý kód vložit prakticky kamkoliv do souboru. To znamenalo, že od nynějška bylo nutné kontrolovat na přítomnost počítačových virů celé soubory - což samozřejmě nepříjemně zdržovalo antivirovou ochranu. (Samozřejmě, že zde byla určitá nevýhoda i pro škodlivé kódy, které nemusely být spuštěné vždy, ale jen když na ně ve sledu instrukcí hostitelského souboru "došla řada".)
Největší událostí roku 1992 byl útok viru Michelangelo. Jistý americký výrobce antivirových technologií předpověděl, že 6. března (datum aktivace tohoto škodlivého kódu) by mohlo být zasaženo až šest miliónů počítačů. Další americké firmy vycítily příležitost a začaly katastrofickými scénáři přiživovat mediální zájem. Díky tomu samozřejmě prudce narostl prodej antivirových programů. Nakonec bylo celosvětově zasaženo jen něco mezi pěti a deseti tisíci počítači - takto nízký počet byl (prý) docílen právě včasným varováním.
Rok 1994 stojí na poli škodlivých kódů rozhodně za zmínku především v souvislosti se slovenským virem OneHalf. Jeho nejvýznačnější vlastností bylo, že postupně šifroval data na disku - když pak uživatel odstranil virus, zlikvidoval tak vlastně i dešifrovací klíč ke svým datům...
V polovině devadesátých let přichází operační systém Windows 95. Prezentován je mj. jako bezpečná platforma, kde počítačové viry nebudou mít příležitost se šířit či jakkoliv škodit. Mnozí také prorokovali konec antivirového průmyslu. Jenže opak byl pravdou - "pětadevadesátky" především umožnily vznik zcela nové kategorie škodlivých kódů, makrovirů. Textový editor Word totiž umožňoval do dokumentů vkládat kusy programového kódu (makra), které měly provádět některé rutinní operace a usnadňovat tak uživatelům práci. Ovšem díky implementaci silného programovacího jazyka mohla makra obsahovat i různé jiné rutiny - šířící, destrukční apod.
A tak není divu, že první makrovirus (virus napsaný v makrech a šířící se v dokumentech) se objevil v srpnu 1995. Jmenoval se Concept a rozšířil se nesmírně rychle - mj. i proto, že Microsoft neposkytl antivirovým společnostem žádné informace o vnitřní struktuře dokumentů. Ty pak nemohly odpovídající rychlostí a dostatečným způsobem na nově vzniklou hrozbu reagovat.
Makroviry velmi přesně vystihly změněné chování uživatelů - už mezi nimi nekolovaly programy, ale díky postupné unifikaci prostředí dokumenty (je ostatně logické, že společně s dokumentem nepředáváte i textový editor). Během jediného roku došlo k tomu, že na makroviry připadalo devadesát procent incidentů.
A začátkem roku 1996 přišel na svět i první virus psaný přímo pro Windows 95 (tedy pro operační systém, který byl podle slov svých tvůrců proti škodlivým kódům odolný). Boza alias Bizatch se sice díky velkému množství chyb prakticky vůbec nešířil, ale ukázal, že vytvořit podobný kód možné je. Vzápětí následoval makrovirus pro tabulkový editor Excel (Laroux) a první rezidentní virus pro Windows 95 (Punch).
První desetiletí počítačových virů se tak uzavřelo...

Autor článku