Czy należy wyłączyć izolację witryn w Google Chrome?
Różne / / November 29, 2021
Do tej pory z pewnością słyszałeś o „Spectre”, złowieszczo nazwanej luce bezpieczeństwa, która dotyczy prawie wszystkich nowoczesnych procesorów. I słusznie, ponieważ luka dotyczy nikczemnych aplikacji i stron internetowych, które uzyskują dostęp do danych z obszarów, w których tak naprawdę nie powinny. Aby konkretnie poradzić sobie z tym problemem, przeglądarki opracowały różne mechanizmy bezpieczeństwa, a jedną z takich implementacji dla Chrome jest izolacja witryn.
Po raz pierwszy wprowadzona w Chrome v63 jako opcjonalna funkcja bezpieczeństwa, Site Isolation działa teraz domyślnie od wersji 67. Technicznie rzecz biorąc, jest dość biegły w łagodzeniu ataków spekulacyjnych (na których opiera się Spectre) ze względu na używane przez niego procesy w piaskownicy.
Ale tak jak wszystko dobre, ma swoją cenę — a konkretnie wydajność. Czy wyłączenie izolacji witryn poprawi działanie Chrome? Czy warto inwestować w bezpieczeństwo? Dowiedzmy Się.
Izolacja widma i miejsca
Podobnie jak każda inna przeglądarka, Google Chrome umożliwia otwieranie wielu witryn za pomocą różnych kart. Przed wdrożeniem Site Isolation zakładki służyły do współdzielenia wspólnych procesów — co ma sens, ponieważ duplikowanie zadań byłoby marnowaniem zasobów systemowych. Jest to jednak sytuacja idealna, aby doszło do złośliwego ataku opartego na wadliwej konstrukcji procesora — Spectre.
Nowoczesne mikroprocesory wykorzystują wykonywanie spekulatywne do wstępnego ładowania danych z pamięci systemowej na znacznie szybsza pamięć podręczna procesora jako sposób na poprawę ogólnej wydajności. Daje to jednak wyjątkową okazję, aby złośliwy kod skłonił procesor do pobrania poufnych danych do swojej pamięci podręcznej, wykorzystując współdzielone procesy. Gdy dane znajdują się w pamięci podręcznej procesora, pozostają niezabezpieczone (w przeciwieństwie do pamięci systemowej) i można je łatwo ukraść.
Załóżmy, że masz otwartych kilka kart — jedną z kontem bankowym, a drugą z losową witryną. Teoretycznie ten ostatni, pod warunkiem, że ma złośliwe zamiary, może zanurzyć się w pamięci podręcznej procesora używanej przez poprzednią zakładkę, a następnie załaduj i przeczytaj informacje, od danych logowania po dane kryptograficzne Klucze.
Chociaż dość trudno wyobrazić sobie taki incydent ze względu na ograniczoną pamięć podręczną procesora (co jest tylko niewielkim ułamkiem w porównaniu) do pamięci systemowej), złośliwy kod określa dokładnie, jakie dane należy ukraść, porównując różnicę w dostępie do procesora prędkości. W końcu, jeśli rzeczy przebiegają szybciej niż zwykle, jest to spowodowane tym, że dane już znajdują się w pamięci podręcznej procesora przez dokładne spekulacje.
Po wykryciu podatności Spectre, przeglądarki zaczęły używać różnych obejść (takich jak liczniki czasu o niższej rozdzielczości w celu zmniejszenia dokładności określania szybkości dostępu procesora) w celu odrzucenia ataków ukierunkowanych. Jednak nie są one idealnym sposobem na przeciwdziałanie zagrożeniom opartym na Spectre, stąd powód Site Isolation.
Site Isolation, jak sama nazwa wskazuje, w pełni izoluje karty od siebie, tworząc oddzielne procesy dla wszystkich elementów iframe (osadzone linki zewnętrzne), w tym tych, które są wspólne dla innych kart. Ponieważ współdzielone procesy odgrywają dużą rolę w pomaganiu złośliwemu kodowi w monitorowaniu i odczytywaniu informacji z inne zakładki, stosowanie przez Site Isolation niezależnych procesów dobrze sprawdza się w łagodzeniu takich luki w zabezpieczeniach.
Patrząc na nasz poprzedni przykład, z włączoną izolacją witryn, portal Twojego konta bankowego działa w zupełnie innym procesie i nie udostępnia niczego podobnego do drugiej karty. Ta „izolacja” ogranicza do minimum możliwość kradzieży informacji w przypadku naruszenia.
Zwiększone obciążenie pamięci
Musisz się więc zastanowić, czy izolacja witryny ma kosztować wydajność ze względu na dodatkową pamięć systemową zużywaną przez każdy niezależny proces — kartę przeglądarki. Według blog Google dotyczący bezpieczeństwa online, implementacja zabezpieczeń zużywa do 10-13% więcej pamięci RAM niż w przypadku, gdy funkcja nie jest aktywna w pierwszej kolejności.
Sprawdźmy, jak trafna jest ta liczba w praktyce. Poniższy zrzut ekranu pokazuje kilka witryn, które używają wielu podobnych elementów iframe bez włączonej funkcji Izolacja witryny. Tylko dwie zakładki mają oddzielne bieżące zadania, bez niezależnych procesów dla żadnego z elementów iframe.
Notatka: Zrzuty ekranu są wyświetlane za pomocą wbudowanego Menedżera zadań Chrome. Aby uzyskać do niego dostęp, otwórz menu Chrome, wskaż Więcej narzędzi, a następnie kliknij Menedżer zadań.
Te same karty z włączoną izolacją witryny pokazano na następnym zrzucie ekranu. Jak widać, liczba dodatkowych procesów znacznie wzrosła ze względu na elementy iframe używane przez każdą witrynę. Co więcej, podobne procesy są dalej dzielone na dwa, aby zmniejszyć szanse na udany atak spekulacyjny. Jeśli wykonasz obliczenia (pomijając zadania przeglądarki i procesu GPU), obie witryny będą zużywać około 33% więcej pamięci.
Zużycie pamięci znacznie przekracza to, co podaje Google. Weź jednak pod uwagę liczbę 10-13% wyższą od średniej długoterminowej. Witryny, a nawet poszczególne strony internetowe, różnią się od czasu do czasu liczbą procesów i pamięcią. Dlatego powyższy scenariusz można uznać za odstający.
Niezależnie od tego, izolacja witryny powoduje umiarkowany lub w tym przypadku znaczny wzrost narzutu pamięci.
Bezpieczeństwo a Wydajność
Wyłączenie izolacji witryny powoduje spadek zużycia pamięci i prawdopodobnie zwiększa wydajność na słabszych urządzeniach. Jednak Chrome jest dość biegły w zarządzaniu dostępną pamięcią zawieszając nieużywane karty. Biorąc pod uwagę, że zużycie pamięci drastycznie różni się w zależności od witryny, nie ma ostatecznej odpowiedzi. Na urządzeniach z dużą ilością pamięci systemowej różnice w wydajności powinny być znikome.
Ale oto haczyk. Ze względu na wdrożenie Site Isolation Chrome ma z czasem porzucić istniejące wcześniej środki zaradcze przeciwko atakom Spectre. Dlatego wyłączenie go spowoduje jeszcze większe narażenie na złośliwe ataki.
Biorąc pod uwagę te dwie kwestie, potencjalne luki w zabezpieczeniach powodowane przez Spectre, w połączeniu z coraz większym wykorzystaniem danych osobowych, sprawiają, że wyłączenie Site Isolation jest złym pomysłem. O ile nie surfujesz na słabszym komputerze i nie wykorzystujesz w żaden sposób danych osobowych, tylko wtedy powinieneś rozważyć wyłączenie tej ważnej funkcji bezpieczeństwa.
Wyłączanie izolacji witryny
Wyłączenie izolacji witryny naraża komputer na poważne zagrożenia bezpieczeństwa. Jeśli jednak chcesz kontynuować i wyłączyć tę funkcję, poniżej znajdują się konkretne kroki, aby to zrobić.
Ostrzeżenie: Po wyłączeniu Izolacji Witryny powstrzymaj się od wykorzystywania osobistych danych przeglądania w jakiejkolwiek witrynie. To samo dotyczy przechowywania poufnych informacji w Chrome, takich jak hasła.
Krok 1: Na nowej karcie wpisz chrome://flags, a następnie naciśnij Enter, aby uzyskać dostęp do eksperymentalnych flag Chrome.
Krok 2: Wpisz Izolacja witryny w pasku wyszukiwania, a następnie naciśnij klawisz Enter.
Krok 3: Powinny być widoczne dwie flagi Chrome oznaczone jako Ścisła izolacja witryny i Wyłączenie próbnej izolacji witryny.
- Ustaw flagę Strict Site Isolation na Disabled. Określone urządzenia mogą mieć to domyślnie ustawione na Wyłączone - w takim przypadku nie rób nic.
- Ustaw flagę rezygnacji z wersji próbnej izolacji lokalizacji na opcję Rezygnacja (niezalecane).
Następnie kliknij Uruchom ponownie teraz, aby zastosować zmiany.
Krok 5: Izolacja witryny jest teraz wyłączona. Aby zweryfikować, wpisz chrome://process-internals w nowej karcie, a następnie naciśnij Enter.
Tryb izolacji lokalizacji powinien brzmieć jako Wyłączony, aby potwierdzić potwierdzenie. Aby później włączyć izolację witryn, wróć i zmień flagi na poprzednie, a następnie uruchom ponownie Chrome.
Nie, to nie jest warte ryzyka
Wyłączenie krytycznej funkcji zabezpieczeń Chrome, takiej jak izolacja witryny, w celu zmniejszenia zużycia pamięci, nie jest uzasadnione. Zwłaszcza biorąc pod uwagę, jak każda strona inaczej wykorzystuje pamięć. Nie należy więc poszukiwać jakichkolwiek marginalnych wzrostów wydajności kosztem potencjalnych kosztów związanych z danymi osobowymi. Jeśli borykasz się z wydajnością, zawsze możesz rozważ użycie alternatywnej przeglądarki takie jak Firefox Quantum, który ma znacznie mniejszy rozmiar pamięci w porównaniu z Chrome, zanim zrobi coś pochopnego.