Zaviruj si Mac
Mezi tradičními velikonočními zprávami kolují světem, Internetem, sociálními sítěmi a komunitními servery i zvěsti o fatálním množství zavirovaných Maců. Přes půl milionu takových počítačů po celém světě bylo napadeno zákeřným trojským koněm Flashback sdružujícím je v botnetu, který je zlomyslně využívá pro další aktivity. Ale je tohle na viruprostých Macích vůbec možné? Jako vždy, zase je to celé poněkud nafouknuté.
Onen zmiňovaný trojský kůň (či lépe Trojan-Downloader:OSX/Flashback.I) využívá kritické zranitelnosti Javy (CVE-2011-3544) umožňující spustit libovolný kód mimo sandboxované prostředí a potenciálně tak poškodit běžící systém. Není to nic nového, o chybě se v Oracle ví (ostatně i podle čísla) už celkem dlouho a projevila se na všech operačních systémech podporujících Javu. Ale pojďme si zavirovat Mac, je to teď in.
Jak taková úspěšná infekce probíhá? Jednoduše. Javascriptový kód umístěný v zákeřné navštívené stránce dynamicky vytvoří kontejner pro javovský applet, který se následně pochopitelně načte a spustí. Tento applet nejprve na cílovém systému pomocí jednoduché kontroly existence lokálních cest prověří přítomnost různého bezpečnostního software (ten se tam ovšem v drtivé většině případů nenachází) a poté začne stahovat a díky zneužité chybě Javy i spouštět škodlivý kód - loader pro trojského koně. Ten je už zřejmě psán nativně pro Mac OS X, maskuje se pod názvem Software Update a dokonce laskavě požádá nic netušícího a naivního uživatele o jeho heslo. Spokojený uživatel heslo mlčky napíše, načež tomuto kódu udělí požehnání správce pro provádění změn v systému. Následuje zápis a vytvoření spouštěcího bodu samotného trojana a odeslání informací o jeho úspěšném umístění na určenou adresu. A tento trojan pak počítač s klidem a v souladu s pravidly systému zneužívá v botnetu k nějaké jiné divotvorné činnosti.
Ze samotné podstaty chyby i tohoto scénáře ale celkem jasně vyplývá, že se nejedná o žádnou samovolnou a zběsilou infekci Mac OS X. Není nijak zasaženo ani jeho jádro, ani jeho komponenty. Žádný závažný problém se správou paměti nebo tak něco. Uživatel si Javou stažený kód a instalaci trojského koně prostě spustí dobrovolně sám. Mac OS X je postaven na léty prověřeném UNIXu a jako takový vznikl fúzí klasického MacOS a systému NeXTSTEP, poprvé do divočiny vypuštěného už někdy v roce 1988, za kterým stál rovněž sám Steve Jobs. Byla to druhá nejlepší věc hned po krájeném chlebu, neboť by bez něj například nevznikl ani web tak, jak ho dneska známe, ale to jen tak mimochodem. Když si zkrátka člověk matlá svůj výtvor nebo operační systém sám, je v něm svým pánem a s troškou odpovědnosti se může za sebe a za výsledek zaručit. Jenže ve chvíli, kdy je násilím donucen použít jakýkoliv doplněk třetí strany (v tomto případě onu zákeřnou Javu), už jistota klesá. A chyba v Javě, umožňující vyvolat situaci podobnou tomu, jako kdybychom škodlivý program někomu poslali ručně, rozhodně není ojedinělá. Přestože jsou sice systémy jako katedrála (ve skutečnosti neexistují žádné dobré operační systémy - jsou jen špatné a ještě horší), v reálu se vyskytuje nespočetné množství malwaru využívajícího podobně divoké principy doplňků třetích stran například v Linuxu. Nebo ve Windows.
Dá se takové infekci vůbec nějak předejít? A jak? Tak to je hodně hloupá otázka.
- Mít přehled nad běžícími procesy. Osobně z historických důvodů ještě z éry G4 mám v Opeře zakázané automatické spouštění jakéhokoliv aktivního obsahu (tedy Flashe, Javy apod.) bez explicitního povolení uživatelem. To má hned několik zásadních výhod, počínaje nezobrazováním rušivých reklam, přes nespouštění pochybných appletů, až po krásně nízké systémové nároky při spuštění jednoho prvku namísto deseti na stránce najednou.
- Mít přehled nad síťovými spojeními. Je velmi vhodné krom obyčejného firewallu (stejně si ho nikdo ručně nekonfiguruje) proti příchozí čihošti sledovat i spojení odchozí. A ta hlavně. Není nic lepšího než zatnout tipec zlobivé aplikaci odesílající osobní data kamsi do Internetu.
- Pochopitelně se nechovat jako trupka a neotevírat pochybné odkazy a stránky. Ale to je ve většině případů škoda mluvit.
Bezpečnost jakéhokoliv operačního systému je nejvíce ohrožena stupiditou uživatele, který rozhodně nepřemýšlí a bezmyšlenkovitě odklikává všechno možné i nemožné. Je strašně smutné, kolik lidí začalo používat Mac bez jediné potuchy o existenci UNIXu, natož něco o jeho struktuře, správě, sledování procesů, nebo vůbec historii a filosofii. Je to z části díky tomu, že i Apple použil v poslední době velmi oblíbenou marketingovou strategii vykašlání se na současné zákazníky a díky novým a úplně převráceným produktům vytvoření zcela nové, větší zákaznické základny, z níž jde svěží profit, a z části druhé znepřehledňováním samotného systému vypuštěním uživatelských kontrolních mechanismů nad spuštěnými aplikacemi ve stylu mobilního iOS. A právě díky zmršení vycházejícího z iOS vznikla úplně nová generace switcherů a nagelovanců s MacBooky čistě pro pózu. A právě tato nová generace je tou skutečnou virovou infekcí současného OS X.
Na celém humbuku kolem Flashbacku je ovšem jednoznačně nejhorší jeho neuvěřitelná viralita. Na diskusních fórech a v komentářích u článků současnou situaci popisující vznikají neuvěřitelné flamewary šířící nenávist a posměch. A vesměs se jedná o nenávist z čisté závisti, že někdo vůbec vlastní produkty od Apple, nebo ortodoxní uživatele jiných OS s tím, že oni jsou netknutí. Samotný Flashback trochu zavání touto nenávistí, neboť mohl být vzhledem ke své primárně javovské povaze použit proti úplně jinému systému. Zvolil si ovšem Apple, protože začíná být příliš populární (pomineme-li tedy, s jakým zpožděním a ex-post přístupem vyšel update). Kdyby se teď, řekněme, objevila třetí chyba v OpenBSD, neštěkne po ní ani pes. Úplně stejně si nikdo nevšiml smrti Dennise Ritchieho krátce po smrti Steva Jobse.
Je to všechno ostuda. Skutečně se zdá, že budoucnost definitivně skončila.