Hlavní navigace

Man-in-the-browser aneb jak jsem si nechal infikovat prohlížeč

24. 4. 2015
Doba čtení: 6 minut

Sdílet

Funkčnost prohlížečů se dá výrazně měnit pomocí mnoha jednoduše dostupných rozšíření. Například blokování reklamy je lákavé – stačí pár kliků a nainstalujete si přímo z obchodu prohlížeče některé z rozšíření, po kterém je web najednou čistý a rychlý, jako býval kdysi. Jak se to může vymstít, si povíme níže.

Pod včerejší zprávičkou o verdiktu soudu ve sporu o blokování reklam může být pro mnohé čtenáře pobídnutím k tomu, aby se po případném blokátoru reklam poohlédli. Ostatně i mě před zhruba měsícem diskuse o blokování reklam právě zde na Root.cz přiměla, abych se podíval, jaká rozšíření jsou k dispozici pro mnou používaný Google Chrome. Prohlížeč Chrome má, podobně jako jiné prohlížeče, svůj vlastní „Internetový obchod Chrome“, ve kterém je možné velmi jednoduše vyhledávat podle klíčových slov. No a pokud člověk z diskuse ví, že nejlepší rozšíření se jmenuje „Adblock“, má řešení doslova na dosah ruky.

Po zadání hledané fráze „adblock“ se na zvědavce vyhrne hned několik rozšíření začínající tímto slovem – Adblock Plus, Adblock Pro a Adblock Super. Aplikace jsou v obchodě hodnoceny hvězdičkami, je také vidět, kolik spokojených uživatelů mají. Všechny tři měly podobné hodnocení (přes 90 %), navíc jako další pozitivní referenci desetitisíce až dokonce milióny uživatelů. Proto jsem se musel rozhodnout nějak logicky – a „Super“ je logicky nejlepší, že? Tak jsem si nainstaloval Adblock Super (verzi 2.7.4) a tři týdny měl opravdu mnohem víc místa na monitoru při čtení běžných webů, nic mi na obrazovce nepopojíždělo, neblikalo, nepřekrývalo čtený text – prostě paráda.


Změna nastala někdy před pár dny. Z ničeho nic jsem při čtení normální webové stránky klikl na odkaz na další stránku a místo na ní jsem skončil na nějakém zcela neznámém webu nabízejícím online kasino. V první chvíli jsem si myslel, že mám vlčí mlhu. Zkusil jsem se vrátit na předchozí stránku a znovu kliknout na stejný odkaz a normálně se mi natáhla správná stránka. Tak se mi to jen zdálo? Nebo mám snad zavirovaný počítač? Ne, to není možné – už dvě dekády tvrdím všem okolo, že Linux je nejbezpečnější operační systém, na který viry neexistují!

Ještě by bylo teoreticky možné, že mám nakažený jen prohlížeč, ale Google Chrome je zřejmě ten nejbezpečnější na trhu – díky vyplácení vysokých částek za hlášení chyb v něm snad žádné známé díry nejsou, a navíc záplaty a nové verze přijíždějí co chvíli. Jediný stín podezření tak padá na to nedávno přidané rozšíření Adblock Super – koneckonců jsem mu při instalaci odsouhlasil oprávnění „číst a měnit všechna data na navštívených webech“.


Tudíž jsem bleskurychle deaktivoval toto rozšíření, abych zjistil, způsobuje-li to nebo ne. Bohužel problém občasného náhodného přesměrování na úplně jiné, vždycky však online herní stránky, pokračoval i nadále. Začal jsem tedy pátrat po podobně postižených. Zatímco pro Windows se dá najít hned několik nástrojů, které rádoby odstraňují podobné problémové situace, pro Linux neexistuje nic – což je logické, neboť Linux se nedá zavirovat, že? Nakonec jsem našel vlákno v Google product fóru, kde pár nešťastníků popsalo něco velmi podobného, co pronásleduje mě, ale řešení veskrze žádné – snad jen promazat ~/.cache/chrome a pak to prý přestane. S tím se ale nelze spokojit, neboť to problém nevyřeší, jen dočasně skryje. Každopádně se všichni shodovali, že to zřejmě souvisí s instalací některého z rozšíření, a často jmenovali i adblock.

Nezbylo mi než se na to podívat pořádně sám. Dobrá pomoc je v chrome://extensions  zapnout „Režim pro vývojáře“. U povolených rozšíření se pak objeví možnost „Zkontrolovat zobrazení“ a URL na jejich obsah. Pokud některé z URL obsahuje soubor „background.html“, tak to je ten, který běží v prohlížeči na pozadí.


Když jsem otevřel background.html od Adblock Super, našel jsem tam kromě jeho 10+6 skriptů ještě jeden, který na první pohled vypadal, že je tam navíc. Sosá se z externího zdroje na adrese  https://cdn.dreamnetworld.com.


A tento skript, který jsem si pro analýzu stáhl bokem pomocí wget (abych ho nemusel hledat uvnitř Chrome), obsahuje krom jiných i funkci popupSnooze(), která jednou za několik hodin náhodně vkládá přímo do stránky přesměrování na nevyžádané reklamy:


Viník objeven, ale zásadní otázky zůstávají. Za prvé: jak je možné, že nepomohlo vypnout rozšíření v nastavení Chrome? Dále, k čemu jsou rozšíření na detekci škodlivých rozšíření (heh)? Extension Defender nenašel nic, takže asi k ničemu. A především – jak může mít Google ve svém vlastním obchodě takto nakažené rozšíření?

Na tuto poslední otázku jsem mezitím odpověď našel: tvůrci úspěšných rozšíření je často prodají. Noví majitelé nelení a vydají novou verzi vylepšenou o malware, která se díky automatické instalaci nových verzí rozšíření pro Chrome bleskově všem nainstaluje. A k čemu je pak 90% hodnocení a milióny spokojených uživatelů? Mimochodem, vestavět injektor reklam do programu na blokování reklam je vrchol ironie.

Největší problém ale není náhodné přesměrování na stránku s online hrou. Ta pravá ledová sprcha nastane, když si uvědomíte, že ty skripty měly povoleno dělat na všech mnou navštívených stránkách cokoliv je napadlo, tedy včetně čtení, a zřejmě i zaznamenávání a případně odesílání všech údajů někam do pryč. Potřebuje někdo údaje z mých platebních karet včetně CVV kódu? Mé přihlašovací údaje do online bankovnictví? Do online Bitcoin peněženky? Do PayPalu? Není problém, všechno jsem jim tam za ty týdny jak nejzelenější BFU naťukal, mysleje si, že v Linuxu se mi nemůže nic stát, že keylogger mi nikdo nenainstaluje. K čemu mi byl skvěle zabezpečený operační systém? K čemu prohlížeč s nejlepší bezpečnostní historií? Skočil jsem jim na špek…

Mnohaletý mýtus o jistotě sucha a bezpečí se zhroutil. Dokud má člověk v prohlížeči nainstalováno jakékoliv rozšíření, které má právo číst nebo dokonce modifikovat webové stránky bez omezení, je marný a vydaný napospas. Tato vlastnost, spolu s automatickou instalací nových verzí existujících rozšíření, dělá z každého, dnes třeba ještě nevinného rozšíření, potenciální bezpečnostní problém. I pravý Adblock Plus, který je teď open source pod GNU GPL a právě vyhrál u německého soudu své právo na život, může jednoho dne změnit majitele a pak se stát infikovanou hrozbou. Tohle je pravé peklo, ke kterému Google výchozím nastavením Chrome zásadně přispěl.

Mimochodem, chtěl jsem si ověřit, že ta verze 2.7.4 je skutečně nakažená už na Webstore, abych to mohl Google nahlásit. Proto jsem necelou hodinu po tomto nepříjemném objevu sedl k jinému počítači a pokusil se na něm nainstalovat Adblock Super. Přivítala mě však úplně jiná verze, mnohem nižší, takže jsem si musel ověřit, že mě opět nešálí zrak.


Tato verze dokonce nevyžaduje žádná speciální oprávnění, takže už nemůže tak výrazně škodit. Bohužel, jelikož je verze 1.3 nižší než verze 2.7.4, nedojde zřejmě k její automatické instalaci na strojích s nakaženou verzí 2.x.


Slibovaná funkčnost už vzala úplně za své. Místo blokování jakýchkoliv reklam jen zběsile otevře tři reklamní okna a pak spadne celý prohlížeč.

UX DAy - tip 2


Je zřejmé, že u Adblock Super právě dochází k významným změnám, které mají za úkol uklidit stopy po malware přítomném ve verzi 2.7.4. Pokud budete chtít tento článek ověřit, nejspíš už bude všechno opět jinak. Mnou pořízené fotky obrazovek jsou z 23. dubna kolem poledne (před obědem verze 2.7.4, po obědě už verze 1.3).

Závěrem se můžu přiznat k tomu, že z instalace rozšíření do prohlížečů jsem definitivně vyléčen. Dokud se nezmění bezpečnostní politika šíření nových verzí a vůbec ta možnost stahovat část rozšíření z externího zdroje (což prakticky znemožňuje kontrolu na straně Webstore), je sebevraždou mít víc než jen čistý prohlížeč.

Byl pro vás článek přínosný?

Autor článku

Petr Stehlík vystudoval aplikovanou informatiku a pracuje jako vývojář webových aplikací a administrátor linuxových serverů. Provozuje vlastní server tvpc.cz.