Ali bi morali onemogočiti izolacijo spletnega mesta v Google Chromu
Miscellanea / / November 29, 2021
Do zdaj ste zagotovo že slišali za 'Spectre', zlovešče poimenovano varnostno napako, ki vpliva na skoraj vse sodobne procesorje. In prav je tako, saj se ranljivost vrti okoli zlobnih aplikacij in spletnih mest, ki dostopajo do podatkov z območij, kjer res ne bi smeli. Za obvladovanje te težave so brskalniki razvili različne varnostne mehanizme in ena od takšnih implementacij, značilnih za Chrome, je izolacija spletnega mesta.
Izolacija spletnega mesta, ki je bila prvič predstavljena v Chromu v63 kot izbirna varnostna funkcija, zdaj deluje privzeto od različice 67. Tehnično gledano je precej spreten pri blažitvi napadov špekulativnega izvajanja (na katerih temelji Spectre) zaradi procesov v peskovniku, ki jih uporablja.
Toda tako kot pri vsem dobrem ima tudi to ceno – če smo natančni, zmogljivost. Ali bi torej onemogočanje izolacije spletnega mesta izboljšalo delovanje Chroma? Ali je vredno kompromisa glede varnosti? Pa ugotovimo.
Spectre in izolacija mesta
Tako kot kateri koli drug brskalnik vam Google Chrome omogoča odpiranje več spletnih mest z različnimi zavihki. Pred uvedbo izolacije spletnega mesta so se zavihki uporabljali za skupno rabo skupnih procesov - kar je smiselno, saj bi podvajanje nalog pomenilo izgubo sistemskih virov. Vendar je to idealna situacija za zlonamerni napad na podlagi pomanjkljive zasnove CPU - Spectre.
Sodobni mikroprocesorji uporabljajo špekulativno izvedbo za prednalaganje podatkov iz sistemskega pomnilnika na bistveno hitrejši predpomnilnik CPU kot sredstvo za izboljšanje splošne uspešnosti. Vendar pa to ponuja edinstveno priložnost, da zlonamerna koda pozove CPE, da pridobi občutljive podatke v svoj predpomnilnik z izkoriščanjem skupnih procesov. Ko so podatki v predpomnilniku CPE, ostanejo nezaščiteni (v nasprotju s sistemskim pomnilnikom) in jih je mogoče zlahka ukrasti.
Recimo, da imate odprtih nekaj zavihkov – enega z vašim bančnim računom, drugega pa z naključnim spletnim mestom. Teoretično se lahko slednji, če ima zlonamerni namen, potopi v predpomnilnik CPU, ki ga uporablja prejšnji zavihek, nato pa naložite in preberite informacije, ki segajo kjer koli od prijavnih podatkov do kriptografskih ključi.
Čeprav si je precej težko predstavljati, da bi se takšen incident zgodil zaradi omejenega predpomnilnika CPU (kar je le majhen delček v primerjavi v sistemski pomnilnik), zlonamerna koda namesto tega natančno določi, katere podatke je treba ukrasti s primerjavo razlike med dostopom CPE hitrosti. Konec koncev, če so stvari hitrejše kot običajno, potem to povzročajo podatki, ki so že v predpomnilniku CPU z natančnimi špekulacijami.
Po odkritju ranljivosti Spectre, brskalniki so začeli uporabljati različne rešitve (kot so časovniki z nižjo ločljivostjo za zmanjšanje natančnosti določanja hitrosti dostopa do procesorja) za odvrnitev ciljnih napadov. Vendar pa niso popolno sredstvo za boj proti grožnjam, ki temeljijo na Spectre, zato je razlog za izolacijo spletnega mesta.
Izolacija spletnega mesta, kot že ime pove, popolnoma loči zavihke drug od drugega, tako da ustvari ločene procese za vse iframe (vdelane zunanje povezave), vključno s tistimi, ki so skupni drugim zavihkom. Ker imajo skupni procesi veliko vlogo pri spremljanju in branju informacij zlonamerne kode na drugih zavihkih, uporaba neodvisnih procesov s strani Site Isolation dobro deluje pri ublažitvi takšnih posledic ranljivosti.
Če pogledamo naš prejšnji primer, ko je izolacija spletnega mesta vklopljena, portal za vaš bančni račun deluje na popolnoma drugačen način in nima nič podobnega drugemu zavihku. Ta »izolacija« zmanjša možnost kraje informacij v primeru kršitve na minimum.
Povečane obremenitve pomnilnika
Zato se morate vprašati, ali je izolacija spletnega mesta povezana z zmogljivostjo zaradi dodatnega sistemskega pomnilnika, ki ga porabi vsak neodvisen proces – zavihek brskalnika. Po navedbah Googlov spletni varnostni spletni dnevnik, varnostna izvedba uporablja do 10–13 % več RAM-a, kot če funkcija sploh ni aktivna.
Preverimo, kako točna je ta številka v praksi. Brez omogočene izolacije spletnega mesta spodnji posnetek zaslona prikazuje nekaj spletnih mest, ki uporabljajo veliko podobnih okvirjev iframe. Samo dva zavihka imata ločena tekoča opravila, brez neodvisnih procesov za kateri koli iframe.
Opomba: Posnetki zaslona so prikazani s pomočjo Chromovega vgrajenega upravitelja opravil. Za dostop do njega odprite Chromov meni, pokažite na Več orodij in nato kliknite Upravitelj opravil.
Istih nekaj zavihkov z omogočeno izolacijo mesta je prikazanih na naslednjem posnetku zaslona. Kot lahko vidite, se število dodatnih procesov znatno poveča zaradi iframes, ki jih uporablja vsako spletno mesto. Poleg tega so podobni procesi nadalje razdeljeni na dva, da se zmanjšajo možnosti za uspešen napad špekulativnega izvajanja. Če opravite matematiko (brez upoštevanja nalog Brskalnik in GPU Proces), obe spletni strani na koncu porabita približno 33 % več pomnilnika.
Poraba pomnilnika je bistveno višja od tiste, ki jo navaja Google. Vendar upoštevajte številko 10-13 % več kot dolgoročno povprečje. Spletna mesta in celo posamezne spletne strani se občasno razlikujejo po številu procesov in pomnilnika. Zato lahko zgornji scenarij štejemo za izstopajoč.
Ne glede na to, izolacija mesta povzroči zmerno ali v tem primeru znatno povečanje pomnilnika.
Varnost vs. Izvedba
Onemogočanje izolacije mesta povzroči upad porabe pomnilnika in morda poveča zmogljivost na napravah nižjega cenovnega razreda. Vendar je Chrome precej vešča upravljanja razpoložljivega pomnilnika z začasno ustavitvijo neuporabljenih zavihkov. Glede na to, da se uporaba pomnilnika drastično razlikuje od mesta do mesta, ni dokončnega odgovora. Pri napravah z visokim sistemskim pomnilnikom bi morale biti razlike v zmogljivosti zanemarljive.
Ampak tukaj je ulov. Zaradi implementacije izolacije spletnega mesta naj bi Chrome sčasoma opustil že obstoječe protiukrepe proti napadom Spectre. Zato bo njegovo onemogočanje povzročilo še večjo izpostavljenost zlonamernim napadom.
Če tehtamo oboje, je zaradi potencialnih ranljivosti, ki jih povzroča Spectre, v kombinaciji z vedno večjo uporabo osebnih podatkov izklop izolacije spletnih mest slaba ideja. Razen če brskate na stroju nižjega cenovnega razreda in ne uporabljate nobenih osebnih podatkov, lahko šele takrat razmislite o onemogočanju te vitalne varnostne funkcije.
Onemogočanje izolacije spletnega mesta
Če onemogočite izolacijo mesta, je vaš računalnik izpostavljen velikim varnostnim grožnjam. Če pa želite nadaljevati in onemogočiti to funkcijo, so spodaj navedeni posebni koraki za to.
Opozorilo: Če je izolacija spletnega mesta onemogočena, se vzdržite uporabe osebnih podatkov brskanja na katerem koli spletnem mestu. Enako velja za shranjevanje občutljivih podatkov v Chromu, kot so gesla.
Korak 1: Na novem zavihku vnesite chrome://flags in nato pritisnite Enter za dostop do poskusnih zastavic za Chrome.
2. korak: V iskalno vrstico vnesite Izolacija mesta in pritisnite Enter.
3. korak: Videti bi morali dve Chromovi zastavici z oznako Stroga izolacija spletnega mesta in Preskusna izključitev izolacije spletnega mesta.
- Zastavico Strict Site Isolation nastavite na Onemogočeno. Določene naprave imajo lahko to privzeto nastavljeno na onemogočeno – če je tako, ne storite ničesar.
- Zastavico za izključitev poskusne izolacije mesta nastavite na Opt-Out (ni priporočljivo).
Nato kliknite Znova zaženi zdaj, da uporabite spremembe.
5. korak: Izolacija mesta je zdaj onemogočena. Če želite preveriti, vnesite chrome://process-internals v nov zavihek in pritisnite Enter.
Način izolacije spletnega mesta se mora glasiti kot Onemogočeno, da označuje potrditev. Če želite pozneje omogočiti izolacijo spletnega mesta, se vrnite in spremenite zastavice na takšne, kot so bile prej, in znova zaženite Chrome.
Ne, ni vredno tveganja
Onemogočanje kritične Chromove varnostne funkcije, kot je izolacija spletnega mesta, za zmanjšanje porabe pomnilnika, ni upravičeno. Še posebej glede na to, kako vsako spletno mesto različno uporablja pomnilnik. Zato ne bi smeli iskati kakršnega koli mejnega povečanja uspešnosti na morebitno ceno vaših osebnih podatkov. Če imate težave z zmogljivostjo, lahko vedno razmislite o uporabi drugega brskalnika kot je Firefox Quantum, ki ima veliko manj pomnilniškega odtisa v primerjavi s Chromom, preden naredi kar koli prenagljeno.