Chyby v prohlížečích: některé přetrvávají celé roky

11. 3. 2015
Doba čtení: 7 minut

Sdílet

Chyby se objeví čas od času v každém výrobku. Důležité je, jak výrobce na zjištěné problémy zareaguje. Pokud tvůrce a jeho spolupracovníci mlčí nebo dokonce problém zlehčují, obvykle na to vždy doplatí běžný uživatel a běžný správce firemní sítě. Některé chyby přitom můžou v software zůstat mnoho let.

Chyby a konstrukční vady se čas od času objeví ve výrobcích ze všech oborů lidské činnosti. Vždy je to nepříjemné pro zákazníky a ostuda pro výrobce. V případě potravin, elektroniky nebo například automobilů existují sítě laboratoří, které jsou nezávislé na výrobcích a prověřují parametry jednotlivých výrobků a jejich bezpečnost.

V prostředí počítačových programů a v tomto případě především v oblasti prohlížečů www stránek je situace komplikovanější. Neexistují pravidla, podle kterých by se dala měřit a kontrolovat bezpečnost prohlížečů podobně jako při crash testech automobilů nebo analyzovat obsah podobně jako v případě potravin.

Pro porovnání kvality výrobku – prohlížeče a pečlivosti práce autorů jsem zvolil hledání dlouhodobých slabin a slabin, které se týkají více verzí konkrétního prohlížeče.

Microsoft Internet Explorer

Ze zkoumání vyšel prohlížeč Microsoft Internet Explorer naprosto tragicky, protože všechny chyby, které se týkají nejnovější verze 11, jsou společné s více jak deset let starou verzí 6. Tedy chyby objevené v roce 2014, případně na konci roku 2013, byly v prohlížeči IE již od zveřejnění verze 6 v roce 2001. Z toho je jasné, jak málo se tvůrci věnují kvalitě a modernizaci zdrojových kódů prohlížeče Internet Explorer.

Celkový počet chyb

V říjnu 2013 byla společně s Windows 8.1 zveřejněna verze 11 MS Internet Exploreru. Od té doby byly zveřejněny 303 chyby ve verzi 11 MS Internet Exploreru.

Všechny tyto chyby se týkaly i předchozích verzí tohoto prohlížeče až do verze 6! Chyby se tedy týkaly Microsoft Internet Exploreru verzí 6,7,8,9,10 a 11.

To znamená, že chyby objevené, zveřejněné a opravené od října 2013 do prosince 2014 byly v prohlížeči Internet Explorer již v roce 2001, kdy byla zveřejněna verze 6 IE. To znamená, že chyby byly v Internet Exploreru více než 4500 dnů! V tomto případě by se mělo místo označení „Zero day“ spíš používat označení „Zero year attack“.

Případ Internet Explorer

Slabiny, které jsou v nejnovější verzi i ve verzi více než 10 let staré, ukazují na způsob, jakým společnost Microsoft vytváří své nové verze Internet Exploreru. V novém programu jsou použity moduly nebo části zdrojového kódu, které jsou bez revize používány klidně i více než deset let, a nikoho netrápilo, že takový postup může způsobovat problémy uživatelům.

Mozilla, podobně jako již před tím Google u prohlížeče Chrome, vydává Firefox zhruba každých šest týdnů. Tento způsob má i své odpůrce, především z řad firemních zákazníků, přesněji správců firemních počítačů, kteří nejsou příznivci překotného vývoje a rychlého vydávání novinek. Pro tento typ uživatelů Mozilla a vydává ESR (Extended Support Release) verzi s roční podporou. V Mozilla Firefox ESR měly čísla 17, 24 a 31. Google Chrome podobnou dlouhodobou podporu nenabízí a není tedy možné dnes ověřit, jestli a kterých dřívějších verzí se zjištěné chyby týkaly.

Ke stažení: Chyby Internet Explorer [PDF]

Mozilla Firefox

Shrnutí chyb v Mozilla Firefox

Ve zkoumaném období, tedy od října 2013 do ledna 2015, byly v různých verzích prohlížeče Mozilla Firefox nalezeny celkem 202 chyby. Z těchto chyb se pouze 5 (pět) chyb týkalo více než jedné verze prohlížeče Mozilla Firefox.

Celkem společných 48 chyb se týkalo verzí Firefox 31 a 24. Jedna chyba se byla společná pro verze 24, 31 a 32. Čtyři chyby se týkaly verze Firefox 25, 24 a 17. Dalších 12 chyb bylo společných pro verze 31 a 33 prohlížeče Firefox.

Přičemž verze 17 byla vydána v listopadu 2012, verze 24 v září 2013, verze 31. v červenci a verze 33. v říjnu 2014.

Žádná z 65 chyb, které se týkaly více verzí prohlížeče Mozilla Firefox, nebyla v programu déle než 400 dnů. Ostatních 71 chyb se týkalo vždy pouze jedné verze prohlížeče a nebyly ve zdrojovém kódu déle jak 70 dnů.

Ze zjištěných informací je patrné, že společnost Mozilla testuje existenci nově zjištěné slabiny v nejnovější verzi prohlížeče i ve starších verzích tohoto prohlížeče. Uživatelé a IT odborníci mají tedy informace o testech a kvalitě zdrojových kódů starších verzí prohlížeče (ESR).

Ke stažení: Chyby Mozilla Firefox [PDF]

Google Chrome

Shrnutí chyb v Google Chrome

Při zkoumání jsme zjistili, že v uplynulém období bylo v jedenácti po sobě jdoucích verzích prohlížeče Google Chrome objeveno a zveřejněno celkem 187 chyb a dalších 67 chyb se týkalo rozšiřujícího modulu Flash Player.

Zjištěné chyby se týkaly vždy pouze jedné konkrétní verze prohlížeče Chrome. Žádná ze zveřejněných chyb se netýkala více verzí.

Při zkoumání jsme zjistili, že Google Chrome v základním nastavení provádí automaticky tzv. tichou (skrytou) aktualizaci. Není tedy možné porovnat chyby ve zdrojovém kódu nejnovější verze prohlížeče se staršími verzemi prohlížeče a ověřit, zda se chyby skutečně týkají pouze jedné verze nebo nikoliv.

Podle v současnosti zjištěných informací vychází Google Chrome jako prohlížeč, ve kterém se nevyskytují chyby společné pro dvě a více verzí tohoto programu. Google Chrome nemá verze s dlouhodobou podporou a nic je tedy nenutí zpětně zkoumat, kterých verzí se chyba skutečně týkala.

Ke stažení: Chyby Google Chrome [PDF]

Jméno prohlížeče

Počet chyb

Společné chyby

Existence společných chyb

Google Chrome

187 + 67

jen jedna verze

187+67

Mozilla Firefox

136

jen jedna verze

71

v. 17 + 24 + 25

4

< 350 dnů

v. 24 + 31 + 32

49

< 360 dnů

v. 31 + 33

12

< 90 dnů

Microsoft Internet Explorer

303

v. 6, 7, 8, 9, 10, 11

303

> 4000 dnů

Jak dlouho se o staré chybě ví?

Při zkoumání jsme zjistili, že chyby v Google Chrome se týkaly vždy pouze jedné verze. V případě Mozilla Firefox jsme zjistili 65 chyb, které se týkaly více verzí a byly ve zdrojovém kódu maximálně jeden rok. V případě prohlížeče MS Internet Explorer se všechny chyby nalezené ve verzi 11 týkaly i starších verzí 10, 9, 8, 7 i 6 a to znamená, že 303 chyby byly ve zdrojovém kódu prohlížeče MS Internet Explorer více jak 4500 (čtyři tisíce pět set) dnů.

Když se zamyslíte nad jednotlivými chybami v Microsoft Internet Exploreru,  objeví se otázka, kdo a kdy konkrétní chyby objevil. Opravdu byla slabina objevena až při testování MSIE verze 11, nebo byla chyba mezi počítačovými podvodníky známa a cíleně zneužívána již několik měsíců či let před tím? Domněnka, že některé slabiny jsou počítačovým podvodníkům známé v předstihu mnoho měsíců a let, může pomoci vysvětlit, jak je možné, že dojde k budování  botnetů, krádežím identity, vykrádání účtů, atd.

Pokud by například automobilka (není podstatné která) měla ve svých automobilech, ve třech po sobě jdoucích verzích, stejnou chybu deset let, byla by z toho pro automobilku velká ostuda. Zástupci automobilky by museli mnoho vysvětlovat svým zákazníkům i úřadům.

Uživatel je bezbranný

Slabina v počítačovém programu není na první pohled vidět. Taková slabina může ale umožnit šíření spamu, krádeže identity a další nelegální aktivity.

Vážná a alarmující současně je skutečnost, že proti takovým případům byl a je běžný uživatel bezbranný. Pokud chyba v programu nezpůsobuje zaseknutí programu nebo jinou komplikaci pro obsluhu, takové slabiny, nebo chcete-li zadních vrátek si nikdo nevšimne. Uživatelé a do značné míry i správci IT jsou závislí na zodpovědnosti tvůrců jednotlivých programů. Chyby, které byly v některých prohlížečích www stránek i deset let, jsou jasným důkazem toho, že běžný uživatel není za současných podmínek schopen udržet si svůj počítač v bezpečí před útoky skutečných hackerů.

Společnost General Motors dostala v roce 2014 pokutu 35 miliónů USD a stahuje do servisů několik tisíc svých vozidel. Podobné problémy a svolávání vozidel do servisů musí řešit čas od času i jiné automobilky. Nikdy jsem neslyšel ze strany výrobců automobilů, že by selhání svého výrobku sváděli na chybu uživatele. Automobil, podobně jako operační systém, jsou poměrně složité výrobky. Neslyšel jsem ale, že za problémy se zoxidovanými konektory může uživatel, protože s automobilem jezdil v dešti. Stejně absurdně by zněla výmluva výrobce, že za problémy s klíčkem od zapalování mohou přívěsky, které si uživatelé dali na stejný kroužek s klíčkem. V případě již zmíněné společnosti GM se jednalo o závady, které byly v automobilech vyráběných před mnoha, někdy dokonce i před deseti lety. Kontrolní orgány se ale zabývaly i takto starými problémy a zkoumaly přístup automobilky.

V prostředí počítačů a počítačových programů a prohlížečů nic podobného neplatí a neexistuje, přestože je tvorba počítačových programů výlučně lidskou prací. Pokud pominu počítačové periférie v podobě různých čidel, nemusí programátoři brát zřetel na rozdíl od konstruktérů automobilů nebo letadel na fyzikální a chemické zákonitosti (například roztažnost, vzájemná reakce dvou látek, atd.). Programátoři operačních systémů, respektive SW firmy, za nic neručí a navíc nutí běžné uživatele k tomu, aby se smířili s názorem, že jinak to dělat nejde. Jde to dělat jinak, stačí se inspirovat v automobilovém, leteckém nebo farmaceutickém průmyslu.

bitcoin_skoleni

Chyby, které byly v prohlížečích společnosti Microsoft více než deset let, jsou jasným důkazem toho, že běžný uživatel není za současných podmínek schopen udržet si svůj počítač v bezpečí před útoky skutečných hackerů. Současně je tato situace důkazem toho, že principy platné a respektované v jiných oborech SW firmy nerespektují.

Uživatelé se zatím styděli ozvat, aby je „odborníci“ neoznačili za laiky, kteří nerozumí počítačům. K posouzení, že zdrojové kódy MS IE od verze 6 do verze 11 nikdo nemodernizoval, nemusíte být programátoři. Stačí se na problém podívat jako sebevědomý uživatel. Změnou pomůžete běžným uživatelům, a i když to zní zvláštně, změněný přístup pomůže i tvůrcům prohlížečů a dalších programů.