Trebate li onemogućiti izolaciju web-mjesta u Google Chromeu
Miscelanea / / November 29, 2021
Do sada ste sigurno čuli za 'Spectre', zlokobno nazvanu sigurnosnu grešku koja utječe na gotovo sve moderne procesore. I s pravom, budući da se ranjivost vrti oko zlobnih aplikacija i web-mjesta koji pristupaju podacima iz područja gdje stvarno ne bi trebali. Kako bi se konkretno nosili s ovim problemom, preglednici su razvili različite sigurnosne mehanizme, a jedna takva implementacija specifična za Chrome je Izolacija web-mjesta.
Prvi put predstavljena u Chromeu v63 kao izborna sigurnosna značajka, Izolacija web-mjesta sada radi prema zadanim postavkama od verzije 67. Tehnički gledano, prilično je vješt u ublažavanju napada spekulativnog izvršenja (na kojima se Spectre temelji) zbog procesa u pješčanom okruženju koje koristi.
No, baš kao i za sve dobro, ima svoju cijenu — da budemo konkretni, performanse. Dakle, bi li onemogućavanje izolacije web-mjesta poboljšalo funkcioniranje Chromea? Isplati li se kompromisa u pogledu sigurnosti? Hajde da vidimo.
Spectre i izolacija mjesta
Kao i svaki drugi preglednik, Google Chrome vam omogućuje otvaranje više web-mjesta pomoću različitih kartica. Prije implementacije Site Isolation, kartice su se koristile za dijeljenje zajedničkih procesa - što ima smisla jer bi dupliciranje zadataka predstavljalo gubitak resursa sustava. Međutim, to je situacija idealna za zlonamjerni napad na temelju pogrešnog dizajna CPU-a - Spectre.
Suvremeni mikroprocesori koriste spekulativno izvršenje za prethodno učitavanje podataka iz memorije sustava na znatno brža CPU predmemorija kao sredstvo za poboljšanje ukupne izvedbe. Međutim, ovo nudi jedinstvenu priliku zlonamjernom kodu da potakne CPU da dohvati osjetljive podatke u svoju predmemoriju iskorištavanjem zajedničkih procesa. Nakon što su podaci u predmemoriji CPU-a, ostaju nezaštićeni (za razliku od memorije sustava) i mogu se lako ukrasti.
Pretpostavimo da imate nekoliko otvorenih kartica - jednu s vašim bankovnim računom, a drugu s nekom nasumičnom web-lokacijom. U teoriji, potonji, pod uvjetom da ima zlonamjernu namjeru, može zaroniti u predmemoriju procesora koju koristi prethodnu karticu, a zatim učitajte i pročitajte informacije u rasponu od podataka o prijavi do kriptografskih tipke.
Iako je prilično teško zamisliti da se takav incident dogodi zbog ograničene CPU predmemorije (što je samo mali djelić u usporedbi u memoriju sustava), zlonamjerni kod umjesto toga određuje točno koje podatke treba ukrasti uspoređujući razliku između pristupa CPU-u brzine. Uostalom, ako su stvari brže nego inače, to je uzrokovano točnim nagađanjem podataka koji su već u predmemoriji CPU-a.
Nakon otkrivanja ranjivosti Spectre, preglednici su počeli koristiti različita rješenja (kao što su mjerači vremena niže razlučivosti za smanjenje točnosti određivanja brzine pristupa CPU) za odbacivanje ciljanih napada. Međutim, oni nisu savršeno sredstvo za suzbijanje prijetnji temeljenih na Spectreu, otuda razlog za izolaciju web-mjesta.
Izolacija web-mjesta, kao što ime sugerira, potpuno izolira kartice jednu od druge stvaranjem zasebnih procesa za sve iframe (ugrađene vanjske veze), uključujući one koje su zajedničke drugim karticama. Budući da zajednički procesi igraju veliku ulogu u pomaganju zlonamjernog koda u praćenju i čitanju informacija iz druge kartice, korištenje neovisnih procesa u Site Isolation dobro djeluje na ublažavanje takvih ranjivosti.
Gledajući naš prethodni primjer, s uključenom izolacijom web-mjesta, portal vašeg bankovnog računa radi na potpuno drugačijem procesu i ne dijeli ništa slično drugoj kartici. Ova 'izolacija' smanjuje mogućnost krađe informacija u slučaju kršenja na minimum.
Povećani troškovi memorije
Stoga se morate zapitati dolazi li izolacija web-mjesta na cijenu performansi zbog dodatne memorije sustava koju koristi svaki neovisni proces - kartica preglednika. Prema Google Online Security Blog, sigurnosna implementacija koristi do 10-13% više RAM-a nego ako značajka uopće nije aktivna.
Provjerimo koliko je ta brojka točna u praksi. Bez omogućene izolacije web-mjesta, snimka zaslona u nastavku prikazuje nekoliko web-mjesta koja koriste mnogo sličnih iframeova. Samo dvije kartice imaju zasebne tekuće zadatke, bez neovisnih procesa za bilo koji od iframeova.
Bilješka: Snimke zaslona prikazuju se pomoću Chromeovog ugrađenog upravitelja zadataka. Da biste mu pristupili, otvorite izbornik Chromea, pokažite na Više alata, a zatim kliknite Upravitelj zadataka.
Istih nekoliko kartica, s omogućenom izolacijom web-mjesta, prikazano je na sljedećoj snimci zaslona. Kao što vidite, postoji značajan porast u broju dodatnih procesa zbog iframeova koje koristi svaka web-lokacija. Nadalje, slični procesi se dalje dijele na dva kako bi se umanjile šanse za uspješan napad spekulativnog izvršenja. Ako izvršite matematiku (ne uzimajući u obzir zadatke preglednika i GPU procesa), obje stranice na kraju koriste oko 33% više memorije.
Potrošnja memorije znatno je veća od onoga što je naveo Google. Međutim, uzmite u obzir brojku od 10-13% više od dugogodišnjeg prosjeka. Web-mjesta, pa čak i pojedinačne web-stranice, s vremena na vrijeme se razlikuju po broju procesa i potrebne memorije. Stoga se gornji scenarij može smatrati izvanrednim.
Bez obzira na to, izolacija web-mjesta rezultira umjerenim, ili u ovom slučaju, značajnim povećanjem memorije.
Sigurnost vs. Izvođenje
Onemogućavanje izolacije web-mjesta rezultira smanjenjem korištenja memorije i moguće povećanjem performansi na jeftinijim uređajima. Međutim, Chrome je prilično vješt u upravljanju dostupnom memorijom obustavljanjem nekorištenih kartica. Uzimajući u obzir da se upotreba memorije drastično razlikuje od web-mjesta do web-mjesta, ne postoji konačan odgovor. Na uređajima s visokom memorijom sustava, razlike u performansama trebale bi biti zanemarive.
Ali ovdje je kvaka. Zbog implementacije Site Isolation, Chrome bi s vremenom trebao odustati od već postojećih protumjera protiv napada Spectre. Stoga će njegovo onemogućavanje uzrokovati još veću izloženost zlonamjernim napadima.
Uzimajući u obzir to dvoje, potencijalne ranjivosti uzrokovane Spectreom, u kombinaciji sa sve većom upotrebom osobnih podataka, čine isključivanje izolacije web-mjesta lošom idejom. Osim ako ne surfate na jeftinom računalu i uopće ne koristite osobne podatke, tek tada biste trebali razmisliti o onemogućavanju ove vitalne sigurnosne značajke.
Onemogućavanje izolacije web-mjesta
Onemogućavanje izolacije web-mjesta izlaže vaše računalo značajnim sigurnosnim prijetnjama. Međutim, ako želite ići naprijed i onemogućiti tu značajku, u nastavku su konkretni koraci za to.
Upozorenje: S onemogućenom izolacijom web-mjesta, suzdržite se od korištenja osobnih podataka o pregledavanju na bilo kojoj web stranici. Isto vrijedi i za pohranjivanje osjetljivih podataka u Chromeu, kao što su zaporke.
Korak 1: Na novoj kartici upišite chrome://flags, a zatim pritisnite Enter za pristup eksperimentalnim oznakama Chromea.
Korak 2: Upišite Izolacija web mjesta u traku za pretraživanje, a zatim pritisnite Enter.
3. korak: Trebali biste vidjeti dvije Chrome zastavice s oznakom Stroga izolacija web-lokacije i Isključivanje probne izolacije web-lokacije.
- Postavite oznaku Strict Site Isolation na Disabled. Određeni uređaji mogu imati ovo postavljeno na Onemogućeno prema zadanim postavkama - ako je to slučaj, ne poduzimajte ništa.
- Postavite oznaku isključivanja probne izolacije web-mjesta na Opt-Out (ne preporučuje se).
Zatim kliknite Ponovo pokreni sada da biste primijenili promjene.
5. korak: Izolacija web-mjesta sada je onemogućena. Za potvrdu upišite chrome://process-internals u novu karticu, a zatim pritisnite Enter.
Način izolacije web-mjesta trebao bi glasiti kao Onemogućeno da označi potvrdu. Da biste kasnije omogućili izolaciju web-mjesta, vratite se i promijenite zastavice na one kakve su bile prije i ponovno pokrenite Chrome.
Ne, nije vrijedno rizika
Onemogućavanje kritične Chromeove sigurnosne značajke kao što je izolacija web-mjesta radi smanjenja upotrebe memorije nije zajamčeno. Pogotovo s obzirom na to kako svaka stranica različito koristi memoriju. Dakle, ne treba tražiti bilo kakav marginalni dobitak u izvedbi uz potencijalnu cijenu vaših osobnih podataka. Ako imate poteškoća s izvedbom, uvijek možete razmislite o korištenju alternativnog preglednika kao što je Firefox Quantum koji ima mnogo manji memorijski otisak u usporedbi s Chromeom prije nego što učini bilo što brzopleto.