Webový prohlížeč Firefox můžeme směle považovat za jeden z vrcholů tvorby v oblasti otevřeného softwaru. Aplikace, která je v současnosti druhým nejrozšířenějším webovým klientským softwarem (po Microsoft Internet Exploreru v různých verzích) a suverénně nejpopulárnějším multiplatformním prohlížečem, se vyznačuje jednoduchým používáním, kompatibilitou a mimo jiné také vysokou mírou rozšiřitelnosti. Pro tyto důvody (společně s velkým důrazem jeho tvůrců na bezpečnost) si Firefox našel cestu nejenom do domácností, ale také (hlavně) do celé řady organizací, které jej používají jako alternativu k Internet Exploreru, nebo jako jednotící softwarový prvek v heterogenním prostředí.
Firefox nebývá zdrojem nečekaných situací nebo překvapení, která by se dotkla jeho samotných uživatelů. Výjimkou byly diskuze o tom, zda by pomocí automatického mechanismu měl být aktualizován o celou verzi (ze druhé na třetí generaci). Nakonec vcelku k prospěchu uživatelů byl. Minulou sobotu ovšem přišlo jedno skutečné a ne právě malé překvapení, kterého si nemohl nevšimnout takřka žádný uživatel Firefoxu, jež je jej provozuje pod operačními systémy Windows. Druhý nejrozšířenější webový prohlížeč bez varování zobrazil uživatelům následující okno,
ve kterém oznamoval zakázání jednoho nebo dvou nainstalovaných doplňků (podle konfigurace), a současně se dožadoval (jako po každé operaci s doplňky) restartu. Od běžných aktualizací, změn a odinstalací doplňků, ke kterým u Firefoxu, pokud je aktivně využíván, dochází celkem běžně, se výše uvedené okno lišilo hned v několika aspektech. Především, troufneme si tvrdit, že se drtivá většina uživatelů s něčím podobným ještě nesetkala. Okno vyskakovalo v průběhu chodu programu – tedy ne při jeho startu, kdy jsou operace s doplňky standardně prováděny. Uživateli nedávalo prakticky žádnou možnost volby, nebereme-li za volbu okamžité nebo odložené restartování prohlížeče. A především, pro některé uživatele Firefoxu, přesněji pro správce zodpovědné za chod PC s ním, bylo překvapením, co vlastně bylo evidentně z bezpečnostních důvodů zakázáno. Pokusme se celé věci podívat trochu pod kůži.
Princip stresu
Produkty Mozilly, tedy Firefox především, mají zabudovanou funkci ochrany před nebezpečným doplňkem. Zatímco chyby nebo bezpečnostní rizika v samotné aplikaci jsou řešeny její aktualizací, nad doplňky třetích nemají tvůrci Firefoxu kontrolu – o jejich aktualizaci se nestarají. Pokud je ale v některém objevena závažná chyba nebo hrozba a tvůrci nestačí reagovat, má Mozilla možnost, jak riziko eliminovat. Tato možnost spočívá v umístění dotčeného doplňku na seznam zakázaných rozšíření. Firefox pak (zřejmě) v rámci procesu vyhledávání aktualizací tento seznam kontroluje, a pokud zjistí, že je do něj nainstalován zakázaný doplněk, automaticky jej vypne. To se z hlediska uživatele projeví varovným oknem a požadavkem na restart prohlížeče.
Je zjevné, že taková funkce poměrně silně zasahuje do života uživatelů prohlížeče i tvůrců doplňků. Z těchto důvodů je využívána víceméně výjimečně. Seznam zakázaných rozšíření není dlouhý. Na druhé straně je potřeba podotknout, že se na něm nachází přední dodavatelé softwaru – viz přiložený screenshot (stav k 17.10.2008). Mozilla při blokování doplňků patrně aplikuje „princip stresu“, kdy jsou v činnosti ponechávány doplňky, u nichž se objevily vady a k blokování dochází až při překročení určité – záměrně vysoko nastavené – hranice nebezpečnosti.
V sobotu byl tento seznam rozšířen o jednu, respektive dvě položky z dílny Microsoftu. Na rozdíl od předchozích zablokovaných doplňků, které se týkaly pouze uživatelů konkrétních produktů, tentokrát zákaz přinejmenším vizuálně pocítilo obrovské množství uživatelů. Co se tedy stalo, proč se Mozilla rozhodla doplňky blokovat, a kde se vůbec vzaly?
Microsoft ve Firefoxu
Rozšiřitelnost Firefoxu je využívána mimo jiné k jeho integraci do hostitelského operačního prostředí. Většinou se tak děje při instalaci operačního systému, který Firefox zahrnuje. V případě Windows byl Firefox pro Microsoft velmi dlouho nepreferovaným prohlížečem. Poté, co jeho tržní podíl stoupl přes hranici, při níž jej nebylo možné ignorovat, se ale společnost Microsoft rozhodla jej pomocí doplňků učinit kompatibilní s vlastními technologiemi využívanými v prohlížeči Internet Explorer. Zejména s aplikačním rozhraním .NET, jehož distribuovatelná složka je součástí každých Windows.
A tak byl, v rámci nové verze .NET 3.5SP1 instalované pomocí automatických aktualizačních mechanismů pro produkty Microsoftu na prakticky všechny operační systém Windows někdy v únoru tohoto roku, nainstalován také doplněk pro prohlížeč Firefox (tedy z pohledu Microsoftu pro software třetí strany). .NET Framework Assistant (a s ním spojený plugin Windows Presentation Foundation) slouží k zajištění kompatibility webových aplikací vytvořených na platformě Microsoftu s Firefoxem. Problém již od počátku byl, že na rozdíl od běžných doplňků pro Firefox nebylo tento možné uživatelsky odinstalovat, a Microsoft se uživatele na jeho instalaci neptal. Odebrání (s minimálními důsledky na kompatibilitu) bylo poměrně komplikovanou záležitostí. V každém případě samotná instalace doplňku byla porušením možná ne licenčních ujednání uživatele s Microsoftem, ale zcela jistě obecných zásad tvůrců Firefoxu.
Microsoft za toto chování sklidil nemalou dávku kritiky, jež vedla k následným změnám v doplňku (bylo možné jej odinstalovat nebo vypnout). Ten však zůstal pevnou součástí prakticky všech instalací Firefoxu na počítačích s pravidelně aktualizovanými Windows. V aktivní podobě až do soboty.
Zákaz
Minulý týden bylo u Microsoftu pravidelné patchovací úterý. Tehdy se ukázalo, že nejméně jedna z objevených bezpečnostních mezer postihuje nejenom komponentu Internet Exploreru, ale díky výše popsanému doplňku také Firefox, přičemž právě Firefox může být zneužit k útoku na lokální počítač uživatele, respektive k instalaci nechtěného softwaru do něj (blíže na computerworld.com). Doplněk, který Microsoft nainstaloval uživatelům Firefoxu, se tak nechtěně stal mostem mezi bezpečnostní mezerou systémové komponenty a alternativním webovým prohlížečem. Mozilla se na tuto skutečnost rozhodla reagovat pomocí svého blokačního mechanismu, který byl popsán výše, a doplněk (včetně pluginu WPF) zakázala ve všech verzích a na všech systémech, kde se může vyskytovat. Důsledkem pro uživatele bylo ono nečekané okno, a pak také zřejmě ztráta kompatibility s některými aplikacemi. Obě komponenty byly zakázány, čímž se riziko útoku jejich prostřednictvím minimalizovalo.
Nad dalšími osudy onoho doplňku visí otazník. Jak již bylo řečeno, zákaz se týká všech verzí, z pohledu Mozilly tedy jde vůči Microsoftu o poměrně nekompromisní krok. Ovšem krok, který je možné potenciálně odvolat nebo změnit. Zřejmě v závislosti na tom, co Microsoft se svým doplňkem udělá.
Důsledky
Poté, co se uživatelé a zejména administrátoři v situaci zorientovali, zaplnily mnoho webových diskuzí výkřiky typu „já jsem to říkal“. Nemá smysl je zde komentovat, tím méně spekulovat o možné budoucnosti doplňku. Celá věc má z perspektivy uživatele Firefoxu několik rovin různé významnosti. Právě tyto roviny by měly být předmětem dalších diskuzí. Pokusme se je shrnout
- Mozilla má nad Firefoxem větší kontrolu, než by si mnozí uživatelé mysleli.
Samotný fakt, že je možné direktivně zakázat přídavnou komponentu prohlížeče (byť z bezpečnostních důvodů), je rizikem. Mechanismus by mohl být potenciálně zneužit hackerským útokem na něj s nedozírnými důsledky pro uživatele. - Doplněk Microsoftu představoval vážné bezpečnostní riziko.
A byl do programu nainstalován minimálně bez vědomí uživatelů – správců. To je problém, protože se nabízí jednak otázka, kolik podobných doplňků instaluje Microsoft (a nejenom on) do software třetích stran – příkladem budiž doplněk Apple iTunes pro Microsoft Outlook – jednak otázka, jak je možné, že to může udělat bez upozornění. Relativně zabezpečené (a spravované) aplikace se tak mohou stát zdrojem rizik, o nichž nemají uživatelé a správci ani potuchy do okamžiku, než se projeví. A ještě hůře, možná, že ani potom ne. - Uživatel zůstal v pozici diváka trapného divadla.
Microsoft svůj .NET Assistant/WPF nenainstaloval do Firefoxu s cílem jej poškodit. A Mozilla jej zablokovala s cílem poškození zabránit. Oba tyto kroky ovšem stály mimo možnosti uživatele, který proti nim nemohl nic udělat, a tak mu nezbývalo, než důvěřovat tomu, co se děje. Pokud jde o uživatele laického, nelze než pokrčit rameny. Administrátoři by se však do podobných situací dostávat neměli.
Zkrátka a dobře. Divadlo, které se minulý týden odehrálo „na Firefoxu před vámi“, bychom měli brát jako zdroj poučení. Pro možná nepříliš vzdálenou budoucnost.