Bör du inaktivera webbplatsisolering i Google Chrome
Miscellanea / / November 29, 2021
Vid det här laget har du säkert hört talas om "Spectre", den olycksbådande dubbade säkerhetsbristen som påverkar nästan alla moderna processorer. Och det med rätta, eftersom sårbarheten kretsar kring smutsiga applikationer och webbplatser som kommer åt data från områden där de egentligen inte borde. För att hantera det här problemet specifikt har webbläsare utvecklat olika säkerhetsmekanismer, och en sådan Chrome-specifik implementering är Site Isolation.
Site Isolation, som först introducerades i Chrome v63 som en valfri säkerhetsfunktion, körs nu som standard sedan version 67. Tekniskt sett är den ganska skicklig på att mildra spekulativa avrättningsattacker (som Spectre är baserad på) på grund av de sandlådeprocesser som den använder.
Men precis som med allt bra har det ett pris - för att vara specifik, prestanda. Så, skulle inaktivering av webbplatsisolering förbättra hur Chrome fungerar? Är det värt att byta säkerhet? Låt oss ta reda på.
Spectre och platsisolering
Precis som alla andra webbläsare låter Google Chrome dig öppna flera webbplatser med olika flikar. Innan implementeringen av Site Isolation användes flikar för att dela gemensamma processer – vilket är vettigt eftersom duplicering av uppgifter skulle vara ett slöseri med systemresurser. Det är dock en situation som är idealisk för att en skadlig attack ska inträffa baserat på felaktig CPU-design - Spectre.
Moderna mikroprocessorer använder spekulativ exekvering för att förladda data från systemminnet till betydligt snabbare CPU-cache som ett sätt att förbättra den övergripande prestandan. Detta erbjuder dock en unik möjlighet för skadlig kod att uppmana CPU: n att hämta känslig data till sin cache genom att utnyttja delade processer. När data väl finns i CPU-cachen lämnas den oskyddad (i motsats till systemminnet) och kan enkelt stjälas.
Anta att du har ett par flikar öppna - en med ditt bankkonto och den andra med någon slumpmässig webbplats. I teorin kan den senare, förutsatt att den har skadliga avsikter, dyka in i CPU-cachen som används av tidigare flik, och sedan ladda och läsa information allt från inloggningsuppgifter till kryptografisk nycklar.
Även om det är ganska svårt att föreställa sig att en sådan incident äger rum på grund av den begränsade CPU-cachen (vilket bara är en liten bråkdel jämfört med till systemminnet), bestämmer skadlig kod istället exakt vilken data som ska stjälas genom att jämföra skillnaden mellan CPU-åtkomst hastigheter. När allt kommer omkring, om saker och ting går snabbare än vanligt, så beror det på att data redan finns i CPU-cachen genom noggranna spekulationer.
Efter upptäckten av Spectre-sårbarheten, webbläsare började använda olika lösningar (såsom timers med lägre upplösning för att minska noggrannheten vid fastställande av CPU-åtkomsthastigheter) för att avleda riktade attacker. De är dock inte ett perfekt sätt att motverka Spectre-baserade hot, därav anledningen till Site Isolation.
Site Isolation, som namnet antyder, isolerar helt flikar från varandra genom att skapa separata processer för alla iframes (inbäddade externa länkar), inklusive de som är gemensamma för andra flikar. Eftersom delade processer spelar en stor roll för att hjälpa skadlig kod att övervaka och läsa information från andra flikar fungerar Site Isolations användning av oberoende processer bra för att mildra sådana sårbarheter.
Om vi tittar på vårt tidigare exempel, med webbplatsisolering påslagen, körs din bankkontoportal på en helt annan process och delar ingenting som liknar den andra fliken. Denna "isolering" reducerar möjligheten att stjäla information i händelse av intrång till ett minimum.
Ökat minneskostnader
Så du måste undra om Site Isolation kommer till en kostnad för prestanda på grund av det extra systemminnet som används av varje oberoende process - webbläsarflik. Enligt Googles säkerhetsblogg online, använder säkerhetsimplementeringen upp till 10-13 % mer RAM än om funktionen inte är aktiv i första hand.
Låt oss kontrollera hur exakt denna siffra är i praktiken. Utan att webbplatsisolering är aktiverad visar skärmdumpen nedan ett par webbplatser som använder många liknande iframes. Endast de två flikarna har separata pågående uppgifter, utan oberoende processer för någon av iframes.
Notera: Skärmbilderna visas med Chromes inbyggda Task Manager. För att komma åt det, öppna Chrome-menyn, peka på Fler verktyg och klicka sedan på Aktivitetshanteraren.
Samma par flikar, med webbplatsisolering aktiverad, visas i nästa skärmdump. Som du kan se finns det en betydande ökning av antalet ytterligare processer på grund av iframes som används av varje webbplats. Liknande processer delas vidare i två för att minska chanserna för en framgångsrik spekulativ avrättningsattack. Om du räknar (bortser från webbläsar- och GPU-processuppgifterna) kommer båda sidorna att använda cirka 33 % mer minne.
Minnesanvändningen är betydligt högre än vad som anges av Google. Tänk dock på siffran 10-13% mer av ett långsiktigt genomsnitt. Webbplatser, och även enskilda webbsidor, skiljer sig åt i antalet processer och minne som krävs från tid till annan. Därför kan scenariot ovan betraktas som ett extremvärde.
Oavsett vilket resulterar platsisolering i måttliga, eller i det här fallet, betydande ökningar av minneskostnader.
Säkerhet vs. Prestanda
Inaktivering av platsisolering resulterar i en minskning av minnesanvändningen och ökar möjligen prestandan på enkla enheter. Chrome är dock ganska skicklig på att hantera tillgängligt minne genom att stänga av oanvända flikar. Med tanke på att minnesanvändningen varierar drastiskt från webbplats till webbplats, finns det inget definitivt svar. På enheter med högt systemminne bör skillnaderna i prestanda vara försumbara.
Men här är haken. På grund av implementeringen av Site Isolation är det meningen att Chrome ska släppa redan existerande motåtgärder mot Spectre-attacker över tid. Därför kommer att inaktivera den orsaka ännu mer exponering för skadliga attacker.
Om man väger upp de två, gör de potentiella sårbarheterna orsakade av Spectre, i kombination med den ständigt ökande användningen av personuppgifter, att stänga av Site Isolation till en dålig idé. Om du inte surfar på en avancerad maskin och inte använder någon som helst personlig information, först då bör du ens överväga att inaktivera denna viktiga säkerhetsfunktion.
Inaktiverar webbplatsisolering
Om du inaktiverar Site Isolation utsätts din dator för betydande säkerhetshot. Men om du vill gå vidare och inaktivera funktionen, nedan är de specifika stegen för att göra det.
Varning: Med Site Isolation inaktiverad, avstå från att använda personlig webbläsardata på någon webbplats. Detsamma gäller för att lagra känslig information i Chrome, till exempel lösenord.
Steg 1: På en ny flik skriver du chrome://flags och trycker sedan på Retur för att komma åt Chromes experimentflaggor.
Steg 2: Skriv Site Isolation i sökfältet och tryck sedan på Retur.
Steg 3: Du bör se två Chrome-flaggor märkta Strict Site Isolation och Site Isolation Trial Opt Out.
- Ställ in flaggan Stric Site Isolation till Disabled. Specifika enheter kan ha denna inställning till Inaktiverad som standard - om så är fallet, gör ingenting.
- Ställ in flaggan för att välja bort testversion av webbplatsisolering på opt-out (rekommenderas inte).
Klicka sedan på Starta om nu för att tillämpa ändringarna.
Steg 5: Webbplatsisolering är nu inaktiverad. För att verifiera, skriv chrome://process-internals på en ny flik och tryck sedan på Retur.
Platsisoleringsläge bör läsas som Inaktiverat för att ange bekräftelse. För att aktivera webbplatsisolering vid ett senare tillfälle, gå tillbaka och ändra flaggorna till hur de var tidigare och starta om Chrome.
Nej, det är inte värt risken
Det är inte motiverat att inaktivera en viktig säkerhetsfunktion i Chrome som Site Isolation för att minska minnesanvändningen. Speciellt med tanke på hur varje sida använder minnet på olika sätt. Så några marginella prestationsvinster till den potentiella kostnaden för din personliga information bör inte eftersträvas. Om du kämpar med prestanda kan du alltid överväg att använda en alternativ webbläsare som Firefox Quantum som har ett mycket lägre minnesfotavtryck jämfört med Chrome innan du gör något överhastat.