Powrót do bloga

Co naprawdę izoluje izolacja środowiska przeglądarki? Pełny rozbiór od odcisku palca po weryfikację

Co naprawdę izoluje izolacja środowiska przeglądarki? Pełny rozbiór od odcisku palca po weryfikację

Zrozumienie „izolacji środowiska" u większości ludzi kończy się na czyszczeniu plików cookie: przed zmianą konta wyczyść historię przeglądania i myślisz, że nic już je nie łączy. Efekt: konta i tak są wiązane hurtem — bo cookie to jedynie najbardziej powierzchniowy z wielu sygnałów, którymi platformy Cię rozpoznają. Lokalna pamięć, odcisk palca urządzenia, strefa czasowa i język, wyjście sieciowe — czyszczenie cookie nie dotyka żadnego z tych sygnałów.

Izolacja środowiska przeglądarki izoluje właśnie te sygnały, we wszystkich ich źródłach. Ten artykuł rozbiera temat na części: z jakich warstw składa się naprawdę izolowane środowisko, jak zbudować je od zera oraz który krok najczęściej się pomija — jak zweryfikować, że izolacja faktycznie działa.

Cztery warstwy izolacji środowiska: zabraknie jednej — powstaje luka

Porządne izolowane środowisko wymaga, aby cztery warstwy były niezależne jednocześnie:

Warstwa pierwsza: odcisk palca urządzenia. Przeglądarka „pasywnie przecieka" dziesiątkami parametrów do stron — wersja systemu operacyjnego, rozdzielczość ekranu, lista czcionek, wyniki renderowania Canvas/WebGL/Audio, liczba wątków sprzętowych. Nawet jeśli dwa środowiska mają różne IP, dopóki ten zestaw parametrów się zgadza, platforma stwierdza, że to to samo urządzenie. Pierwszym krokiem izolacji jest sprawienie, by każde środowisko generowało własny zestaw parametrów odcisku palca. Warto zwrócić uwagę na szczegół: odcisk palca nie jest tym lepszy, im bardziej losowy — parametry muszą być ze sobą spójne. System Windows z czcionkami właściwymi wyłącznie dla Mac to w sobie podejrzana kombinacja. Dlatego dojrzałe narzędzia generują odcisk palca według „wiarygodnych kombinacji popularnych systemów i urządzeń", a nie przez czysto losowe składanie.

Warstwa druga: strefa czasowa i język. Logika tej warstwy jest najczęściej źle rozumiana: strefy czasowej i języka nie należy wybierać ręcznie, lecz powinny one automatycznie podążać za IP — w jakim kraju jest wyjście proxy, taką strefę czasową i język środowisko używa automatycznie. Amerykańskie IP z czasem UTC+8 i chińskim interfejsem zdradza manipulację na pierwszy rzut oka.

Warstwa trzecia: wyjście sieciowe. Każde środowisko wiąże się z własnym proxy; ta warstwa decyduje o tym, „skąd łączysz się z siecią". Głównymi protokołami są HTTP i SOCKS5 — ten drugi obejmuje ruch taki jak WebRTC, który może przeciekać prawdziwym IP. Obsłużenie WebRTC przy budowie środowiska to standardowa czynność; inaczej, choćby pierwsze dwie warstwy były doskonałe, jeden wyciek prawdziwego IP zniweczy wszystko.

Warstwa czwarta: dane lokalne. Cookie, stany zalogowania, LocalStorage, IndexedDB — to ślady aktywności konta. W izolowanym środowisku pamięć lokalna jest fizycznie partycjonowana: środowisko A nie widzi ani nie dotyka żadnych danych środowiska B, a po zamknięciu i ponownym otwarciu stan zalogowania każdego z nich pozostaje nietknięty.

Złożone razem, te cztery warstwy tworzą pełną opowieść: „dwa zupełnie różne ludzi pracują na dwóch różnych komputerach". Wiele rozwiązań na rynku realizuje tylko jedną lub dwie warstwy — a luka staje się wejściem do powiązania.

Schemat koncepcyjny izolacji środowiska przeglądarki: dwie niezależne komory izolacyjne, każda z własnym odciskiem palca, zegarem, językiem i plikami cookie, osobne linie do własnych serwerów, bez kontaktu

Budowanie izolowanego środowiska od zera: pięć kroków

Przenosząc powyższe zasady na praktykę, proces tworzenia środowiska jest w zasadzie dość standardowy — na przykładzie typowych kroków głównych przeglądarek z odciskiem palca:

  1. Utwórz środowisko, wybierz profil systemu: nadaj środowisku nazwę (według biznesu lub platformy — łatwiej będzie zarządzać później) i wybierz profil systemu operacyjnego — Windows, Mac czy Android — to definiuje podstawowy szkielet odcisku palca;
  2. Wygeneruj odcisk palca: jednym kliknięciem powstaje pełny zestaw parametrów. Warstwy renderowania Canvas, WebGL i Audio mogą zostać na ustawieniach domyślnych — domyślne wartości właśnie według wiarygodnych kombinacji są zaprojektowane, bez jasnego powodu nie zaleca się ich ręcznej zmiany;
  3. Skonfiguruj proxy: wpisz adres proxy i wybierz protokół (HTTP/SOCKS5) — narzędzie najpierw testuje łączność i pozwala zapisać tylko przy powodzeniu. Spójrz na kraj wyjścia pokazany w wyniku testu i upewnij się, że pasuje do profilu konta;
  4. Strefa czasowa i język automatycznie: włącz „strefa czasowa wg IP" i „język wg IP", aby oba te elementy zawsze pasowały do wyjścia — nie ustawiaj ręcznie;
  5. Importuj cookie w razie potrzeby: przy migracji starych kont zaimportuj istniejący stan zalogowania, aby środowisko weszło do pracy z historią; nowe konta startują w czystym stanie.

Cały proces zwykle zajmuje nie więcej niż dwie minuty. Czas naprawdę pochłaniają nie same środowiska, lecz dwie sprawy dalej: grupowanie dziesiątek i setek środowisk według biznesu oraz centralne zarządzanie pulą proxy — po zwiększeniu skali staje się to rutyną. Jeśli kilku członków zespołu pracuje na środowiskach jednocześnie, potrzebna jest dodatkowa warstwa zarządzania uprawnieniami; wcześniejszy artykuł o zarządzaniu współpracą zespołu dość szczegółowo omawia konfigurację ról.

Izolacja wyszła czy nie — rozstrzyga weryfikacja

Skończone środowisko nie oznacza jeszcze skutecznej izolacji. Weryfikacja to krok najczęściej pomijany w całym procesie — i właśnie ten, którego pomijać nie wolno. Sposób jest prosty:

Otwórz dwa środowiska, w każdym wejdź na tę samą stronę wykrywania IP, a potem sprawdź cztery rzeczy: czy oba środowiska pokazują różne IP; czy każda strefa czasowa zgadza się z lokalizacją swojego IP; czy język i region pasują; oraz czy ogólna ocena strony testowej jest czysta. Cokolwiek się nie zgadza — jakaś warstwa nie utrzymała izolacji, wróć i szukaj przyczyny.

Wartość tego kroku polega na zamianie „chyba jest izolowane" na „potwierdziłem, że jest izolowane". Zweryfikuj raz przed uruchomieniem nowego środowiska, wykonaj kontrolę losową przed operacjami seryjnymi i obowiązkowo po każdej zmianie proxy — nawyk tych trzech weryfikacji zatrzymuje zdecydowaną większość amatorskich wpadek. Na tym poziomie MakoBrowser wbudowuje te kontrole w proces uruchamiania środowiska: każdy Profile przy starcie automatycznie wyrównuje strefę czasową i język, test łączności proxy jest wbudowany przed zapisem — weryfikacja przestaje być „rzeczą, o której trzeba pamiętać", a staje się „rzeczą, o której nie trzeba myśleć".

Operator mężczyzna otwiera dwa okna środowisk obok siebie w MakoBrowser, każde wyświetla stronę sprawdzania geolokalizacji na mapie z pinezką w innym regionie, a pośrodku zielony znacznik potwierdza zdanie weryfikacji izolacji

Zdanie weryfikacji izolacji to dopiero „prawo wstępu". Aby konta pracowały, pozostała codzienna operacja — powtarzalne masowe czynności powierz synchronizatorowi i skryptom automatyzacji, a ludzi wyłącz z mechanicznej pracy. Ale pamiętaj: warunkiem automatyzacji jest zawsze to, że samo środowisko się trzyma. Jakikolwiek płynny byłby przepływ — luka w środowisku niweczy wszystko. O relacji między izolacją środowiska a wyborem proxy pisał wcześniejszy artykuł o proxy statycznych i rotacyjnych według scenariuszy biznesowych — przy konfiguracji proxy dla środowisk warto się z nim porównać.

Częste pytania

Czy tryb incognito zwykłej przeglądarki liczy się jako izolacja środowiska? Nie. Tryb incognito tylko nie zostawia lokalnych zapisów: odcisk palca urządzenia, prawdziwe IP, strefa czasowa i język są odsłonięte jak zawsze, a okna incognito dodatkowo dzielą się tymi sygnałami między sobą. Rozwiązuje „nie zostawiaj śladów na moim komputerze", a nie „nie pozwól platformie rozpoznać tego samego urządzenia".

Czy po zbudowaniu środowiska odcisk palca trzeba okresowo zmieniać? Nie trzeba zmieniać często. Wartość odcisku palca leży w stabilności — konto przez długi czas używa jednego wiarygodnego zestawu parametrów, jak człowiek, który nie zmienia twarzy każdego dnia. Parametry dostraja się tylko wtedy, gdy platforma uaktualnia zasady odcisków palców albo długo używane środowisko zaczyna pokazywać nietypowe sygnały — bez burzenia wszystkiego od nowa.

Czy jeden komputer wytrzyma wydajnościowo kilka izolowanych środowisk? Nowoczesne przeglądarki z odciskiem palca przydzielają zasoby według potrzeb; bezczynne środowiska prawie nic nie zużywają, a do dziesięciu jednocześnie aktywnych środowisk na zwykłym komputerze biurowym nie robi problemu. Gdy środowisk jest dużo i potrzeba więcej równoległej aktywności, ustaw rzadziej używane środowiska na uruchamianie na żądanie.

Co zrobić, gdy weryfikacja wykaże wyciek IP? Najpierw sprawdź WebRTC: to najczęstsze źródło wycieku — upewnij się, że WebRTC w środowisku jest wyłączony albo działa w trybie proxy. Potem sprawdź, czy proxy obsługuje odpowiedni protokół i czy w konfiguracji środowiska nie pozostały systemowe ustawienia proxy. Sprawdzaj warstwa po warstwie i testuj ponownie, aż będzie czysto.


Ostatecznie izolacja środowiska przeglądarki to sztuka „kompletności": odcisk palca, strefa czasowa i język, proxy, dane lokalne — dopiero gdy wszystkie cztery warstwy są niezależne, można mówić o izolacji; zabraknie jednej, a platforma znajdzie sposób, by powiązać Twoje konta. Weryfikacja zaś to jedyny sposób, by zamienić „wygląda na izolowane" w „potwierdzono, że izolowane".

Jeśli Twoje konta wciąż zmieniają tożsamość czyszczeniem cookie, od dziś przejdź na porządne izolowane środowiska. Zbuduj dwa środowiska, podepnij dwa proxy, przeprowadź raz weryfikację w podwójnym oknie — w dziesięć minut własnymi rękami potwierdzisz, czym naprawdę jest izolacja. Pobierz MakoBrowser i umieść każde konto w naprawdę osobnym pokoju.