V posledních dílech seriálu o moderních webových prohlížečích jsme se dostali k tématu bezpečnosti. K té patří také řádná aktualizace samotného webového prohlížeče, takže v tomto díle se zaměříme právě na tuto oblast. V praxi se lze totiž setkat s řadou rozdílů v tom, jak webové prohlížeče, resp. jejich tvůrci přistupují k aktualizaci.
Konkrétně se tedy zaměříme na aktualizaci pod MS Windows. I přes slabou prodejnost Windows 8 jde stále o nejrozšířenější platformu pro osobní počítače s průměrným zastoupením přibližně na devíti z desíti osobních počítačů. S takovou tržní sílou mají bezpečnostní incidenty na této platformě dopad i na uživatele konkurenčních systémů.
Svým způsobem tedy i v jejich zájmu je bezpečnost platformy MS Windows a softwaru na ní používaném. Například uživateli Linuxu nebo OS X není použití jiné platformy vůbec platné, pokud zrovna internetové bankovnictví jeho banky je nedostupné z důvodu DDoS útoku botnetu složeného z armády infikovaných počítačů s MS Windows.
Ze stejného titulu by i uživatelé MS Windows, kteří si dovedou svůj systém přiměřeně zabezpečit, měla zajímat úroveň zabezpečení jiných počítačů. Žijeme v internetové éře, kdy malware neškodí jen infikovanému počítači a omezenému počtu dalších počítačů, které s ním v rámci lokální sítě nebo prostřednictvím přenosných médií přijdou do styku.
Webové prohlížeče jsou v první bojové linii
Na webových stránkách se objevuje nespočet hrozeb zneužívajících nedostatků či rovnou chyb v nejrozšířenějších webových prohlížečích a plug-inech v nich nejčastěji používaných. Že nebezpečí číhá jen na tzv. rizikových webech, je jedním z mnoha mýtů kolem IT bezpečnosti. Zdrojem infekce může být kterákoliv webová stránka od jakkoliv důvěrného provozovatele.
Bylo by neefektivní šířit malware jen prostřednictvím webů, jejichž návštěvu si část uživatelů raději odpustí a alespoň určité procento jejich návštěvníků se na nich chová obezřetně. Mnohem efektivnější je s bezpečnostní hrozbou nějakým způsobem proniknout na webové stránky, kde by nebezpečí návštěvník nečekal. Kompromitovat cizí web a vložit do něj vlastní kód není příliš těžké.
Zvláště pak v éře webů běžících na systémech jako je WordPress, Drupal a jim podobné. Zdrojový kód si může každý podrobně prozkoumat. Pokud v něm najde skulinku, tak má otevřenou cestu k infikování mnoha stovek tisíc webů. Přitom již nejde o systémy pohánějící nanejvýš osobní weby a blogy, ale stále častěji se užívají i komerčně.
Slabým místem může být též obsah třetích stran, který se může stát terčem úspěšného útoku. Pak ohrožuje návštěvníky všech webů, kde se vyskytuje. Příkladem budiž různé widgety, iframy, ale třeba také sdílené knihovny se skripty. Za určitých okolností přitom k úspěšnému útoku stačí pouhé načtení stránky. Jde o tzv. drive-by útok, při němž není potřeba další součinnosti s uživatelem.
Tento typ útoku se tak obejde bez více či méně rafinovaného sociálního inženýrství, takže pouhým zdravým selským rozumem se na ně vyzrát nedá, o což jsou zákeřnější. Je třeba spoléhat na bezpečnost operačního systému, webového prohlížeče a eventuálně i na kvalitu bezpečnostních nástrojů. Všechny je ovšem třeba náležitě aktualizovat včetně webového prohlížeče.
V souvislosti s drive-by útoky se nejvíce hovoří o zranitelnostech v rozšířených plug-inech pro webové prohlížeče. Jakou úroveň ochrany různé prohlížeče poskytují před útoky vedenými skrze některý z plug-inů, jsme si rozebrali v předminulém díle seriálu. Nicméně i samotné prohlížeče obsahují řadu bezpečnostních chyb, které rovněž mohou být v krajním případě zneužity k zákeřnému drive-by útoku.
Proto je nutné webový prohlížeč řádně aktualizovat a instalovat tak opravy bezpečnostních chyb. Těch se ve webových prohlížečích objevuje oproti jiným programům poměrně dost. Je to dáno jednak určením tohoto typu softwaru, ale pak také skutečností, že bezpečnostní chyby jsou v něm mnohem usilovněji hledány.
Jak z preventivních důvodů v dobré víře ochránit uživatele, tak pro nekalé účely. Mozilla a Google pak mají program odměn pro nálezce bezpečnostních chyb. Oběma těmto tvůrcům prohlížečů se podle jejich vlastních slov osvědčil. Microsoft ovšem dlouhodobě o podobném programu s finančními pobídkami nechce ani slyšet. Trvá na tom, že si vystačí s vlastními silami a spoluprací s obchodními partnery.
Každý prohlížeč si musí aktualizaci vyřešit sám
Pod MS Windows neexistuje žádná obdoba linuxových repozitářů. Nejblíže k ní má služba Microsoft Update, která aktualizuje všechny nainstalované produkty společnosti Microsoft a příležitostně se používá i k nabídce některých dalších. Windows Update v základní verze aktualizuje pouze samotná MS Windows a jejich součásti, tedy i prohlížeč Internet Explorer.
Aktualizační služby Windows Update, resp. Microsoft Update, mají na platformě MS Windows nejblíže ke konceptu linuxových repozitářů, ale pořád jsou mu na míle vzdáleny.
Ani jedna služba však není standardně otevřená pro šíření produktů třetích stran a aktualizací pro ně. V roce 2009 se objevila myšlenka, že v případě webových prohlížečů by se mohla udělat výjimka. Přišel s ní Hakon Wium Lie, technologický ředitel společnosti Opera Software. Bylo to v době, kdy si tato norská firma úspěšně stěžovala u Evropské komise coby panevropského regulátora trhu.
Netřeba snad sáhodlouze připomínat, že si stěžovala na předinstalovaný Internet Explorer v MS Windows a jeho dopady na webové prostředí při kombinaci přístup k webovým standardům a tržního postavení. Hakon Wium Lie navrhoval, aby webové prohlížeče byly šířeny přes Windows Update a zároveň se mohly prostřednictvím této služby aktualizovat. Nakonec byl jeho návrh vyslyšen jen z části.
Microsoft byl přinucen pod hrozbou astronomické pokuty, které se ovšem nakonec údajně vlastní chybou stejně nevyhnul, prostřednictvím Windows Update v Evropské unii a několika dalších evropských zemích šířit speciální aktualizaci. Ta do Windows XP a vyšších přináší tzv. ballot screen.
Jde o obrazovku informující uživatele, že si místo předinstalovaného prohlížeče Internet Explorer mohou vybrat jiný. Hned několik jich pak ballot screen uživatelům nabízí ke stažení. Ovšem zde úlohu Windows Update končí. Prohlížeče se stahují ze serverů od svých tvůrců a v rámci systému musí využívat svůj vlastní aktualizační mechanismus.
Uživatelům MS Windows v Evropské unii a několika dalších evropských zemích je Microsoft nucen uživatelům dávat na výběr webový prohlížeč prostřednictvím tzv. ballot screen.
Nejenže tedy ballot screen podle statistik pravděpodobně příliš nepromluvila do rozložení sil mezi webovými prohlížeči, ale zároveň nepřináší žádné zlepšení bezpečnosti. Spíše naopak. V širší nabídce vedle pěti nejrozšířenějších prohlížečů stále figuruje browser K-Meleon. Svého času šlo o nadějný prohlížeč využívající jádro Gecko, který byl pod MS Windows výrazně obratnější než Mozilla Firefox, pro nějž je primárně jádro Gecko vyvíjeno.
Nicméně vývoj prohlížeče skončil v roce 2010. Poslední uvolněná verze obsahuje řadu známých chyb. Poslední ostrá verze pochází z března 2010, takže více než tři roky stará. Jen o něco mladší je poslední vývojová verze zveřejněná v prosinci roku 2010. Od té doby je K-Meleon mrtvým projektem, ovšem v nabídce ballot screen zůstává. Kdo je na vině? Microsoft do nabídky prohlížečů svévolně zasahovat nemůže.
Ballot screen propaguje i již delší dobu nevyvíjený prohlížeč K-Meleon s řadou známých bezpečnostních chyb.
Zavázal se jí sestavovat podle tržních podílů prohlížečů ze tří různých nezávislých statistik. O vyřazení prohlížeče by jedině museli požádat jeho tvůrci, jako to zřejmě loni udělala společnost Apple, když ukončila vývoj svého Safari pro MS Windows. V případě prohlížeče K-Meleon se tak ovšem nestalo. To je ale jen jeden z několika kritizovaných aspektů ballot screen, které nejsou předmětem tohoto článku.
Trend: z aktualizace se vylučuje uživatelský faktor
Nejen Internet Explorer, Mozilla Firefox a Google Chrome, tři nejrozšířenější prohlížeče současnosti (pořadí si srovnejte podle toho, které z dostupných statistik věříte více), se vydaly cestou, která z procesu aktualizace prohlížeče vylučuje uživatelský resp. lidský faktor. Nedochází již k pouhému upozornění na dostupnost nové verze, ale minimálně ve výchozím nastavení rovnou automatické aktualizaci.
Začal s tím Internet Explorer s příchodem druhého servisního balíčku pro Windows XP, který po své instalaci aktivoval automatické aktualizace systému včetně jeho prohlížeče Internet Explorer. Pozdější systémy od Windows Vista přes Windows 7 po Windows 8 již mají ve výchozím nastavení aktivní automatickou aktualizaci.
Ve Windows XP SP2 a pozdějších se aktualizace všech součástí systému včetně prohlížeče Internet Explorer ve výchozím nastavení instalují automaticky. Uživatel to ale může změnit.
Pokud není nastaveno jinak, záplaty se instalují automaticky a systém si dokonce může vynutit svůj restart pro aplikování záplat resp. bezpečnostních aktualizací. Někteří uživatelé spatřují problém v tom, že nelze přes Windows Update či Microsoft Update selektivně aktualizovat jen vybrané části systému resp. jen zvolený software. Tedy třeba jen Internet Explorer.
Možné to je jenom do té míry, že si uživatel nastaví pouhé oznámení o dostupnosti nových aktualizací, po němž si manuálně vybere aktualizace, které si přeje instalovat. Navíc Windows Update se primárně využívá k distribuci záplat pro Internet Explorer. Jeho nové verze, které mají třeba i nové bezpečnostní funkce, se tímto kanálem šíří až se značným časovým odstupem od svého vydání.
Z nesystémových prohlížečů ve vylučování lidského faktoru zatím došel nejdál Google Chrome. Při jeho živelném vývoji a krátkých vývojových a životních cyklech to vlastně ani jinak nešlo. S prohlížečem se tedy do systému instaluje i služba Google Update, která je na pozadí neustále aktivní a stará se o aktualizaci prohlížeče a jeho součástí včetně plug-inu Flash Player.
Asistence uživatele je třeba pouze v těch případech, kdy pro aplikování změn je nutné zavřít a znovu spustit (resp. restartovat) prohlížeč. K samovolným restartům Google Chrome ještě nedospěl, což je při agresivitě Google Update dá se říci překvapivé. V možnostech většiny koncových uživatelů totiž není tzv. tiché aktualizace vypnout. Google argumentuje, že je to z hlediska bezpečnosti ve vlastním zájmu uživatelů.
Google Chrome se udržuje stále aktuální díky kontroverznímu nástroji Google Update, který není zrovna snadné deaktivovat.
Mnohým se ale nelíbí, že se jim prohlížeč svévolně mění takříkajíc pod rukama. Proto prohlížeč SRWare Iron, který stejně jako Google Chrome vychází z open source projektu Chromium, jako jednu ze svých výhod notně anoncuje absenci služby Google Update. Jeho tržní podíl sice pomaličku roste, ale stále je marginální. Zatím mu příliš nepomáhá ani to, že je v rozšířené nabídce ballot screen.
Mozilla Firefox rovněž přešel na systém tichých aktualizací, ale není tak nekompromisní jako Google Chrome. Při instalaci prohlížeče má uživatel možnost službu zajišťující tiché aktualizace neinstalovat. I pokud ji nainstaluje, stále mu Mozilla Firefox ve svém nastavení umožňuje zvolit způsob instalace aktualizací.
Mozilla Firefox stejně jako Google Chrome využívá tiché aktualizace na pozadí, ovšem jen ve výchozím nastavení.
Lze se tedy kdykoliv vrátit k prostému oznamování dostupných aktualizací, kdy jejich instalace je plně na zvážení uživatele. Dlužno dodat, že pro Mozilla Firefox je to do určité míry nutnost kvůli kompatibilitě s rozšířeními. Ještě nedávno platilo, že pokud nová verze nebyla u daného rozšíření konkrétně uvedena jako podporována, prohlížeč rozšíření považoval za nekompatibilní, i když tomu tak ve skutečnosti být nemuselo.
Při zkrácení vývojových cyklů a chrlení nových major verzí každých cca šest týdnů ovšem bylo nutné tuto politiku přehodnotit. Nyní Mozilla Firefox při své aktualizaci považuje rozšíření implicitně za kompatibilní s novou verzí, pokud není autory rozšíření deklarován opak. Ovšem i to se občas stává, takže pak uživatelům po automatické tiché aktualizaci na pozadí některá rozšíření nefungují.
Buď z důvodu ukončení vývoje, nebo jednoduše proto, že tvůrci rozšíření nestíhají držet krok s vývojem prohlížeče. Pak je třeba hledat alternativní kompatibilní rozšíření, risknout instalaci různých vývojových verzí vyskytujících se mimo portál Mozilla Add-ons nebo posečkat na vydání ostré kompatibilní verze rozšíření, což je ale mnohdy nemilé, pokud je uživatel zvyklý jeho funkcionalitu dennodenně používat.
K automatické aktualizaci se v současnosti uchyluje i prohlížeč Opera. Ve výchozím stavu je nastaveno automatické zjišťování dostupných aktualizací a jejich instalace, ale v rámci nastavení prohlížeče je opět možné navrátit se k pouhému upozorňování na dostupné aktualizace nebo zcela vypnout jakoukoliv formu detekce nově dostupné verze.
Opera též využívá automatických aktualizací, ovšem jen ve výchozím nastavení. Způsob aktualizace uživatel může změnit.
Maxthon s příchodem své čtvrté generace a překřtěním na Maxthon Cloud Browser v závěru loňského roku přišel o řadu funkcí, které se v přepracované podobě nyní postupně vracejí. Příkladem budiž podpora skinů, o jejíž absenci padla zmínka v jednom z předešlých dílů seriálu. Nejnovější verze 4.0.6 přináší novou podporu uživatelské změny vzhledu formou právě skinů.
Zdá se však, že z prohlížeče přinejmenším dočasně vypadla podpora automatických aktualizací. Maxthon ve třetí generaci zjišťoval automaticky dostupnost nové verze při spuštění prohlížeče. Během testování nejen pro potřeby tohoto seriálu však nyní nový Maxthon Cloud Browser (čtvrté generace prohlížeče) automaticky novou dostupnou verzi neinstaluje a ani ji samovolně nenabízí.
Přimět prohlížeč k nabídnutí nové verze se během testování povedlo až při kliknutí na tlačítko pro zkontrolování dostupnosti aktualizací. Pokud není chyba někde mezi „klávesnicí a židlí“, není to vůbec ideální stav, byť by mělo jít o přechodnou záležitost. Na druhou stranu je plusem okamžité zobrazení změn v nové verzi ještě před její instalací.
Maxthon oproti jiným prohlížečům uživatele informuje o změnách v nové verzi ještě před její instalací.
Ostatní zmiňované prohlížeče v tomto ohledu tak sdílné nejsou. Mají sice na webu dostupné poznámky k vydání, ale ty si uživatel musí buď sám vyhledat, nebo se k nim alespoň proklikat. Je to škoda, protože uživatelé, kteří aktivně nesledují vývoj prohlížeče, pak často ani neví, jaké zajímavé novinky jim nová verze přináší.
Jsou dnes tiché aktualizace nutným zlem?
Uživatelé neaktualizují. Tedy alespoň ne většina. Jinak by se nemohly úspěšně šířit záškodnické programy, které zneužívají bezpečnostní díry, na kterou už roky existuje záplata. Z hlediska mainstreamu je běžnou praxí různé nabídky aktualizace odmítat, resp. opakovaně odkládat. Je to obdobný uživatelský nešvar jako nezálohování důležitých dat.
Nicméně nezálohováním může v drtivé většině případů uživatel způsobit škodu nanejvýš sám sobě. Infikováním systému působí škodu i dalším uživatelům, jak bylo zmíněno v úvodu. Navíc malware se například při svém šíření mnohdy zaměřuje na kontakty uživatele, jehož jménem pak jeho přátelům, příbuzným anebo kolegům odesílá zprávy sloužící k dalšímu šíření záškodnických programů.
V české kotlině to zase takový problém není, protože zpravidla jsou tyto zprávy v angličtině nebo extrémně lámané češtině, takže je lze rozpoznat, ale z globálního hlediska je to problém značný. Uživatelé zprávám od známých osob prakticky bezmezně důvěřují. Jak ukazují průzkumy, převažující část ani netuší, že existuje výše popsané riziko. Ať už u e-mailů, instant-messagingu nebo v rámci různé komunikace prostřednictvím sociálních sítí.
Je tedy otázkou, jestli není ve vyšším zájmu využívat systém tichých aktualizací na pozadí, z nichž se vyloučí uživatelský faktor. A převažuje tento případný vyšší zájem právo uživatele mít plnou kontrolu nad tím, co a kdy se mu instaluje do počítače? Je to věc názoru, ale i situace. Ve firemním prostředí je třeba k aktualizacím přistupovat jinak než u koncových uživatelů.
Jestli se bude Internet Explorer, který je součástí MS Windows, automaticky aktualizovat, mají uživatelé pevně ve svých rukou.
Nicméně cesta, kterou kráčí Internet Explorer, Mozilla Firefox či Opera nevyvolává žádné kontroverze. Automatická instalace aktualizací je ve výchozím stavu aktivní, ale lze ji jednoduše vypnout. Jak ve firemním prostředí, tak u koncového uživatele. Je pravděpodobné, že kdo chce mít z nějakého důvodu kontrolu nad aktualizacemi, tak si dovede svůj systém adekvátně zabezpečit.
Tedy tak, aby v době masového rozšíření internetového připojení nepůsobil infikováním svého systému škodu anebo potíže dalším internetovým uživatelům. Systém automatických aktualizací v prohlížečích Internet Explorer, Mozilla Firefox a Opera se tedy jeví rozumným kompromisem mezi sledováním nějakých vyšších bezpečnostních zájmů a právem uživatele rozhodovat o softwarové výbavě svého počítače.
Nicméně stále je co zlepšovat. Jednou z oblastí je informování uživatele o provedených změnách po aktualizaci, jak již bylo zmíněno výše. Tvrdším oříškem bude najít nějaké řešení pro uživatele, kterým se sice aktualizace prohlížeče stáhne, ale nelze ji aplikovat, protože tito uživatelé prohlížeč nezavírají. Typicky jde třeba o uživatele přenosných počítačů.
Ti hojně využívají jen úsporného režimu, režimu spánku, hibernačního režimu a podobných funkcí. U nich může prohlížeč běžet dlouhé týdny a čekat na ošetření svých bezpečnostních chyb, které je již připraveno na pevném disku. Nebylo by od věci, kdyby v případě delší nečinnosti prohlížeč oznámil, že se bude restartovat. Pakliže by uživatel do nějakého časového limitu proces nezrušil, prohlížeč by uložil aktuální relaci, provedl již nachystanou aktualizaci, znovu se spustil a obnovil předchozí relaci.
V praxi to ale nemůže z mnoha důvodů být tak jednoduché, jak bylo výše nastíněno. Nicméně je to námět k přemýšlení pro tvůrce prohlížečů, jak automatický systém aktualizací ještě více zefektivnit. V tomto ohledu prohlížeče za posledních několik let ušly velký kus cesty. Od inkrementálních aktualizacích po automatické tiché aktualizace. Uvidíme, kam se v této oblasti posunou třeba během následujících pěti let.
Poznámka: pokud není uvedeno jinak, v článku jsou zohledněny ostré verze prohlížečů a jejich funkce aktuální k datu vydání článku, tedy: Internet Explorer 10, Mozilla Firefox 21, Google Chrome 26, Opera 12.15 a Maxthon 4.6.6.