Měli byste zakázat izolaci stránek v prohlížeči Google Chrome
Různé / / November 29, 2021
Teď už jste určitě slyšeli o ‚Spectre‘, zlověstně přezdívané bezpečnostní chybě, která postihuje téměř všechny moderní procesory. A právem, protože zranitelnost se točí kolem hanebných aplikací a webů, které přistupují k datům z oblastí, kde by opravdu neměly. Aby se prohlížeče vypořádaly konkrétně s tímto problémem, vyvinuly různé bezpečnostní mechanismy a jednou takovou implementací specifickou pro Chrome je izolace stránek.
Služba Site Isolation, která byla poprvé představena v Chrome v63 jako volitelná funkce zabezpečení, nyní běží ve výchozím nastavení od verze 67. Technicky vzato, je docela zběhlý ve zmírňování útoků spekulativního provádění (na kterých je Spectre založeno) díky sandboxovaným procesům, které používá.
Ale jako u všeho dobrého to má svou cenu – konkrétně výkon. Zlepšila by tedy deaktivace izolace stránek fungování prohlížeče Chrome? Stojí to za kompromis v oblasti bezpečnosti? Pojďme to zjistit.
Spectre and Site Isolation
Stejně jako jakýkoli jiný prohlížeč vám Google Chrome umožňuje otevřít více webových stránek pomocí různých karet. Před implementací Site Isolation se karty používaly ke sdílení společných procesů – což dává smysl, protože duplikování úloh by znamenalo plýtvání systémovými prostředky. To je však situace ideální pro zákeřný útok založený na chybném návrhu CPU — Spectre.
Moderní mikroprocesory používají spekulativní provádění k předběžnému načtení dat ze systémové paměti do výrazně rychlejší mezipaměť CPU jako prostředek ke zlepšení celkového výkonu. To však nabízí jedinečnou příležitost pro škodlivý kód vyzvat CPU k načtení citlivých dat do své mezipaměti využitím sdílených procesů. Jakmile jsou data v mezipaměti CPU, zůstanou nechráněná (na rozdíl od systémové paměti) a lze je snadno ukrást.
Předpokládejme, že máte otevřených několik karet – jednu s vaším bankovním účtem a druhou s nějakým náhodným webem. Teoreticky se druhý, za předpokladu, že má zlý úmysl, může ponořit do mezipaměti CPU, kterou používá a poté načíst a přečíst informace od přihlašovacích údajů po kryptografické klíče.
I když je docela těžké si představit, že k takovému incidentu dojde kvůli omezené mezipaměti CPU (což je jen nepatrný zlomek ve srovnání do systémové paměti), škodlivý kód místo toho přesně určuje, jaká data ukrást porovnáním rozdílu mezi přístupem CPU rychlosti. Koneckonců, pokud jsou věci rychlejší než obvykle, pak je to způsobeno přesnými spekulacemi, že data již jsou v mezipaměti CPU.
Po objevení zranitelnosti Spectre, prohlížeče začaly používat různá řešení (jako jsou časovače s nižším rozlišením ke snížení přesnosti určování přístupových rychlostí CPU) k odhození cílených útoků. Nejsou však dokonalým prostředkem, jak čelit hrozbám založeným na Spectre, a proto je důvodem izolace stránek.
Site Isolation, jak název napovídá, plně izoluje karty od sebe tím, že vytváří samostatné procesy pro všechny prvky iframe (vložené externí odkazy), včetně těch, které jsou společné pro ostatní karty. Protože sdílené procesy hrají velkou roli při sledování škodlivého kódu a čtení informací z něj na jiných kartách, použití nezávislých procesů v aplikaci Site Isolation funguje dobře při zmírňování takových zranitelnosti.
Když se podíváme na náš předchozí příklad, se zapnutou izolací stránek běží portál vašeho bankovního účtu na úplně jiném procesu a nesdílí nic podobného jako na druhé kartě. Tato ‚izolace‘ snižuje možnost krádeže informací v případě narušení na minimum.
Zvýšená paměťová zátěž
Musíte se tedy ptát, zda izolace stránek nemá cenu výkonu kvůli dodatečné systémové paměti, kterou spotřebovává každý nezávislý proces – karta prohlížeče. Podle blog Google Online Securityimplementace zabezpečení využívá až o 10–13 % více paměti RAM, než kdyby tato funkce nebyla aktivní.
Podívejme se, jak přesné je toto číslo v praxi. Bez aktivované izolace stránek zobrazuje níže uvedený snímek obrazovky několik webových stránek, které používají mnoho podobných prvků iframe. Pouze dvě karty mají samostatné průběžné úkoly bez nezávislých procesů pro žádný z prvků iframe.
Poznámka: Snímky obrazovky se zobrazují pomocí vestavěného Správce úloh prohlížeče Chrome. Chcete-li se k němu dostat, otevřete nabídku Chrome, přejděte na Další nástroje a poté klikněte na Správce úloh.
Stejný pár karet s povolenou izolací webu je zobrazen na dalším snímku obrazovky. Jak můžete vidět, došlo k výraznému nárůstu počtu dalších procesů v důsledku prvků iframe používaných každým webem. Dále jsou podobné procesy dále rozděleny do dvou, aby se zmírnily šance na úspěšný útok spekulativního provedení. Pokud to spočítáte (bez ohledu na úlohy prohlížeče a procesu GPU), oba weby nakonec spotřebují o 33 % více paměti.
Využití paměti je výrazně nad tím, co uvádí Google. Údaj 10-13 % však považujte spíše za dlouhodobý průměr. Stránky a dokonce i jednotlivé webové stránky se čas od času liší v počtu procesů a požadované paměti. Výše uvedený scénář lze tedy považovat za odlehlý.
Bez ohledu na to má izolace stránek za následek mírné nebo v tomto případě významné zvýšení režie paměti.
Bezpečnost vs. Výkon
Zakázání izolace stránek má za následek pokles využití paměti a možná zvýšení výkonu na zařízeních nižší třídy. Nicméně, Chrome je docela zručný ve správě dostupné paměti pozastavením nepoužívaných karet. Vzhledem k tomu, že využití paměti se na jednotlivých stránkách drasticky liší, neexistuje žádná definitivní odpověď. Na zařízeních s velkou systémovou pamětí by měly být rozdíly ve výkonu zanedbatelné.
Ale tady je ten háček. Vzhledem k implementaci Site Isolation má Chrome v průběhu času upustit od již existujících protiopatření proti útokům Spectre. Proto jeho deaktivace způsobí ještě větší vystavení škodlivým útokům.
Když to zvážíme, potenciální zranitelnost způsobená Spectre v kombinaci se stále rostoucím využíváním osobních údajů činí vypnutí Site Isolation špatným nápadem. Pokud nesurfujete na low-endovém stroji a nepoužíváte vůbec žádná osobní data, teprve potom byste měli uvažovat o deaktivaci této životně důležité bezpečnostní funkce.
Zakázání izolace stránek
Zakázání izolace stránek vystavuje váš počítač významným bezpečnostním hrozbám. Pokud byste však chtěli pokračovat a funkci deaktivovat, níže jsou konkrétní kroky, jak to udělat.
Varování: Když je izolace stránek vypnutá, zdržte se používání osobních údajů o prohlížení na jakékoli webové stránce. Totéž platí pro ukládání citlivých informací v prohlížeči Chrome, jako jsou hesla.
Krok 1: Na nové kartě zadejte chrome://flags a stisknutím klávesy Enter otevřete experimentální příznaky Chrome.
Krok 2: Do vyhledávacího pole zadejte Site Isolation a stiskněte Enter.
Krok 3: Měli byste vidět dva příznaky Chrome označené Strict Site Isolation a Site Isolation Trial Opt Out.
- Nastavte příznak Strict Site Isolation na hodnotu Disabled. Konkrétní zařízení mohou mít toto nastavení ve výchozím nastavení na Zakázáno – pokud je tomu tak, nedělejte nic.
- Nastavte příznak Odhlášení zkušební verze izolace webu na Odhlásit (nedoporučuje se).
Poté klikněte na Znovu spustit, abyste změny použili.
Krok 5: Izolace webu je nyní zakázána. Pro ověření zadejte na nové kartě chrome://process-internals a stiskněte Enter.
Režim izolace webu by měl být označen jako Zakázáno, což znamená potvrzení. Chcete-li funkci Site Isolation povolit později, vraťte se zpět a změňte příznaky tak, jak byly předtím, a restartujte Chrome.
Ne, nestojí to za riziko
Deaktivace kritické bezpečnostní funkce Chromu, jako je izolace stránek za účelem snížení využití paměti, není zaručena. Zejména s ohledem na to, jak každý web využívá paměť odlišně. Neměli byste tedy usilovat o jakékoli marginální zvýšení výkonu za potenciální cenu vašich osobních údajů. Pokud se potýkáte s výkonem, můžete vždy zvažte použití alternativního prohlížeče jako je Firefox Quantum, který má mnohem menší nároky na paměť ve srovnání s Chromem, než udělá něco unáhleného.