Co je to „smíšený obsah“ a proč jej Chrome blokuje?

Prohlížeč Google Chrome již aktivně omezuje zobrazování některých typů takzvaného „smíšeného obsahu“ na webových stránkách. Společnost Google nedávno oznámila zpřísnění tohoto opatření. Od počátku roku 2020 Chrome standardně blokuje veškerý smíšený obsah, což může ovlivnit funkčnost některých existujících webových stránek. Následující text objasňuje, co to v praxi znamená.

Co se rozumí smíšeným obsahem?

Webový obsah lze rozdělit na dvě základní kategorie: obsah přenášený prostřednictvím zabezpečeného a šifrovaného protokolu HTTPS a obsah přenášený nezabezpečeným protokolem HTTP. HTTPS zajišťuje, že přenášená data nelze odposlouchávat ani s nimi manipulovat, což je klíčové pro ochranu finančních a osobních údajů uživatelů. Web se postupně přesouvá k preferování zabezpečeného protokolu HTTPS. Pokud navštívíte webovou stránku používající starší protokol HTTP bez šifrování, prohlížeč Google Chrome vás na to upozorní zobrazením informace, že webová stránka není považována za „zabezpečenou“. Google také implicitně skrývá indikátor „https://“, protože standardem by mělo být zabezpečené připojení. Nový standard HTTP/3 dokonce zahrnuje šifrování jako nedílnou součást.

Některé weby však nejsou plně HTTPS ani HTTP. Stává se, že webová stránka je sice načítána prostřednictvím zabezpečeného protokolu HTTPS, ale obrázky, skripty nebo jiné zdroje jsou stahovány přes nešifrované HTTP připojení. Takové stránky obsahují „smíšený obsah“ a z bezpečnostního hlediska nejsou zcela v pořádku. Sice nelze manipulovat se samotnou webovou stránkou, ale je možné vkládat skripty, obrázky nebo prvky iframe (webová stránka uvnitř „rámu“ jiné webové stránky), se kterými už manipulovat lze.

Proč je smíšený obsah nežádoucí?

Smíšený obsah je problematický, protože kombinuje prvky zabezpečené i nezabezpečené. Běžná zabezpečená webová stránka si může například stahovat JavaScript soubor přes HTTP. Tento skript je možné modifikovat – například pokud používáte veřejnou a nedůvěryhodnou Wi-Fi síť – a na stránce tak provádět nežádoucí akce, od sledování stisků kláves až po vkládání sledovacích cookies. Ačkoliv největší riziko představují skripty a prvky iframe („aktivní obsah“), i obrázky, videa a audio obsah mohou být nebezpečné. Představte si například, že si prohlížíte zabezpečený web s informacemi o akciovém trhu, který stahuje graf historického vývoje akcií prostřednictvím HTTP. Tento obrázek není zabezpečený a během přenosu s ním mohlo být manipulováno, takže zobrazuje nepravdivé informace. Jelikož se přenáší přes nešifrované připojení, kdokoliv, kdo odposlouchává datový přenos, se může dozvědět, o jaké akcie se zajímáte.

Kombinování zabezpečeného a nezabezpečeného obsahu není ideální. Pokud webová stránka používá HTTPS, i všechny její další zdroje by se měly načítat přes HTTPS. Jedná se o pozůstatek minulosti, kdy se webové stránky postupně upgradovaly z HTTP na HTTPS. Ne vždy se však při tom aktualizovaly i ostatní zdroje na HTTPS. Mohly také záviset na externím zdroji, který v té době HTTPS nepodporoval.

Nyní, kdy Google a další tvůrci prohlížečů ztěžují a omezují smíšený obsah, budou muset webové stránky provést nápravu, aby nadále fungovaly tak, jak mají.

Jaké změny Chrome konkrétně zavádí?

Chrome momentálně blokuje skripty a prvky iframe se smíšeným obsahem. V Chrome 80, který se dostane do rané verze v lednu 2020, bude Chrome blokovat audio a video zdroje se smíšeným obsahem. Technicky se je nejdříve pokusí načíst přes zabezpečené HTTPS připojení a pokud to nebude možné, zablokuje je. Smíšené obrázky se v této verzi ještě načtou, ale Chrome u takové stránky bude zobrazovat hlášku „Nezabezpečená“. V Chrome 81 už se nebudou načítat ani smíšené obrázky. Uživatelé sice budou moci smíšený obsah načíst, ale standardně to nebude povoleno.

Všechny tyto změny jsou součástí zpřísnění bezpečnosti na webu. Google ve svém blogu sdělil, že očekává, že hláška „Nezabezpečená“ „bude motivovat webové stránky, aby své obrázky převedly na protokol HTTPS“.

Jakým způsobem Chrome umožní odblokování smíšeného obsahu?

Chrome už nyní blokuje některé typy smíšeného obsahu a zobrazuje ikonu štítu v adresním řádku spolu se zprávou „Blokován nezabezpečený obsah“. Na této ukázkové stránce se smíšeným obsahem od Google si můžete vyzkoušet, jak to funguje. Pro odblokování skriptu se smíšeným obsahem je nutné kliknout na odkaz s popisem „Načíst nebezpečné skripty“.

Pokud udělíte souhlas se spuštěním smíšeného obsahu, webová stránka se změní z „Zabezpečená“ na „Nezabezpečená“.

Google usnadní odblokování v Chrome 79, který by měl vyjít v prosinci 2019. Bude stačit kliknout na ikonu zámku nalevo od adresy stránky, dále na „Nastavení webu“ a následně odblokovat smíšený obsah pro danou webovou stránku.

Tato možnost bude složitější, ale záměrem je, že většina uživatelů by neměla nikdy potřebovat smíšený obsah pro daný web povolit. Vývojáři webových stránek by měli své stránky opravit tak, aby všechny zdroje poskytovaly bezpečně. Tato možnost by měla zajistit, že kdokoliv, kdo používá starší firemní web, bude mít k němu nadále přístup, i když bude smíšený obsah standardně zakázán.

Pokud potřebujete web, který to vyžaduje, nemusíte se obávat. Google zatím neoznámil datum, kdy zruší možnost načítání smíšeného obsahu v Chromu. Prohlížeč Google Chrome sice ve výchozím nastavení blokuje veškerý smíšený obsah, ale možnost jeho povolení by měla být k dispozici i nadále.

Jak jsou na tom ostatní prohlížeče?

Chrome není jediný. I Firefox blokuje smíšený obsah, například skripty a prvky iframe a k opětovnému povolení vyžaduje kliknutí na „Dočasně vypnout ochranu“. Předpokládá se, že Mozilla bude následovat kroky Google. I prohlížeč Safari od Applu je agresivní v blokování smíšeného obsahu.

A samozřejmě, nový prohlížeč Edge od Microsoftu je založen na kódu Chromium, který tvoří základ pro Google Chrome, a bude se chovat obdobně.