Historie hackingu: Vývoj virů v dokumentech

5. 3. 2016

Sdílet

 Autor: © piumadaquila.com - Fotolia.com
Dlouhé roky to byla nezpochybnitelná pravda informační bezpečnosti: dokumenty nemohou obsahovat viry, zavirovat lze pouze spustitelné soubory (maximálně boot sektory disket a disků). Historie nám ovšem už mnohokrát ukázala, že věčné pravdy jen málokdy platí věčně, a v počítačové bezpečnosti zvláště.

Dlouhé roky se viry dokumentům vyhýbaly. Prostě proto, že je nešlo kam vložit: ať se autor snažil sebevíc, nikdy spustitelný kód nedostal příležitost.

Dnes s odstupem času a o desítky let zkušeností (inu, po bitvě je každý generál) můžeme říci, že jsme měli spíše štěstí: nějaká bezpečnostní chyba umožňující spuštění kódu „propašovaného“ do dokumentu by se tehdy už bezesporu našla, zvláště v době, kdy byla bezpečnost přehlíženou Popelkou. Leč nikdo se o nic podobného nepokoušel.

Pokud si odmyslíme možnost bezpečnostní chyby, pak lze konstatovat, že dokumenty škodlivé kódy obsahovat nemohou. Dokument je totiž soubor, který skutečný program (grafický či textový editor apod.) pouze zobrazí, ale nevykoná jej. Jinými slovy – kniha s návodem na výbušninu vám z principu věci v ruce také neexploduje.

 

MS Office mění hru

Jenže co je jednoduché v reálném světě, bývá v kyberprostoru zpravidla jinak. Stačí se podívat do osudového roku 1995, kdy na svět přišly Windows 95. A s nimi i kancelářský balík Office s netušenými možnostmi a vlastnostmi.

Jednou z nich byla i schopnost vkládat do dokumentů makra. Záměrem tvůrců bylo zjednodušit uživatelům dělání nudných, složitých nebo opakujících se operací: ty bylo možné nahradit vložením skriptu, který za ně vše vykonal.

Tvůrci konceptu ovšem dali makrům do vínku velmi silný jazyk: Visual Basic, což znamenalo, že makra mohla téměř cokoliv včetně formátování disku nebo rozesílání e-mailů.

První demonstrační makrovirus tohoto typu přišel v prosinci 1994 a měl název DMV (Document Macro Virus). Přesněji šlo o dva různé makroviry: jeden pro Word, druhý pro Excel. Šlo jen o ukázkové kódy, které měly sloužit coby varování.

V srpnu 1995 (ve stejném měsíci, kdy se začaly prodávat Windows 95) pak přišel skutečný makrovirus. Jmenoval se Concept a nad jeho původem se dodnes vznáší celá řada otazníků.

Jeho autor měl totiž výtečnou znalost prostředí maker: takovou, jakou nelze dosáhnout ani velmi důkladným studiem. Dodnes se spekuluje (ověřit to pochopitelně nelze), že Concept vytvořil některý ze zaměstnanců Microsoftu, který se na vývoji koncepce přímo podílel.

Concept se každopádně stal jedním z historicky nejrozšířenějších virů. Důvod je jednoduchý: na příchod makrovirů nebyli připraveni uživatelé ani antivirová ochrana. Ti prvně jmenovaní roky poslouchali, že dokumenty prostě nemohou obsahovat viry. Ti druzí pak na tomto předpokladu postavili své algoritmy.

Vše ale bylo třeba změnit a nebylo to vůbec jednoduché. Antivirové firmy například opakovaně (a také marně) žádaly Microsoft o zveřejnění některých funkcí či parametrů, které by jim umožnily efektivně makroviry potírat. Asi nikoho tak nepřekvapí, že podíl makrovirů na celkovém počtu škodlivých kódů skočil během jediného roku z nuly na devadesát procent.

České kotliny se tenkrát tento problém příliš netýkal, protože při překládání kancelářského balíku do češtiny si někdo dal práci a přeložil nejen hlášky, ale i vnitřní strukturu.

Makroviry psané pro anglické prostředí tak v Česku neměly šanci. Když například hledaly instrukci „Open“, nepochodily. Protože v tuzemské struktuře byl příkaz „Otevřít“.

 

Lotus 123 a JPG

Ale abychom nenasazovali psí hlavu jen systému Windows: makra v dokumentech existovala již dříve. Demonstrativně bylo prokázané, že pro prostředí Lotus 123 bylo možné vytvářet sebereplikační makra. Teoreticky dokonce již od roku 1989, kdy byla tato funkce do prostředí implementována.

Prakticky se ale viry v Lotusu 123 nikdy nestaly problémem. A to díky tomu, že tam implementovaný jazyk byl velmi slabý. A také třeba i proto, že aktivace makra nebyla vůbec jednoduchá a zvládl ji jen zkušený uživatel. Hypotetický makrovirus by tak vyžadoval opravdu významnou pomoc.

Pandořina skříňka se každopádně otevřela. Programátoři objevili sílu maker, takže je začali přidávat do všech možných i nemožných aplikací. Světem se tak začaly šířit makroviry pro Corel (GaLaDRieL) nebo AutoCad (ACAD.Star).

Skutečně značné nebezpečí ale představoval až škodlivý kód Perrun, jenž se objevil v roce 2002 a který byl schopný infikovat formát obrázků JPG.

Řešil to sice jistou obezličkou (do formátu JPG přidával spustitelný kód a pomocí zvláštního EXE souboru s odkazem v registrech se na něm odkazoval), ale zbořil další dogma.

Pak se objevilo ještě několik škodlivých kódů, které byly schopné JPG infikovat (například modifikací metadat), ale naštěstí se příliš neprosadily.

Důvod byl prozaický: ve stejné době vrcholila „zlatá éra e-mailových červů“. Tyto kódy byly mnohem rychlejší, cílenější a pro útočníky pohodlnější, takže tvorba nějakých virů v dokumentech hackery příliš nezajímala.

Což je možná dobře, protože kdyby se škodlivé kódy v obrázcích významně rozšířily, kybernetický svět by zřejmě dnes vypadal krapet jinak.

 

Návrat krále?

Po určitém útlumu každopádně viry v dokumentech zažily svůj návrat. Nejprve se jim podařilo dobýt PDF formát (před deseti lety byla významná část dokumentů v tomto formátu na webu nějakým způsobem infikovaná, důvodem byla absence záplatovacího mechanismu na straně výrobce programu).

A dnes se hojně využívají k cílovým útokům třeba v případě průmyslové špionáže.

bitcoin_skoleni

 

Tento příspěvek vyšel v Security Worldu 2/2015. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.