W lipcu informowaliśmy, że wraz z premierą Chrome’a 76 wprowadzone zostaną zmiany w dozwolonym użyciu w API FileSystem. Celem miało być wyeliminowanie możliwości sprawdzania przez wydawców serwisów internetowych, czy użytkownik korzysta z trybu incognito. Nie minął nawet miesiąc, a nowe zabezpieczenie zostało już złamane.
Dla wydawców korzystających z paywallów informacja o wykorzystywaniu przez danego użytkownika trybu incognito jest cenna. Jeśli bowiem przewidziany był limit określonej liczby dostępnych bezpłatnie jednostek treści, to tryb incognito pozwala omijać te ograniczenia. Dlatego niektóre witryny całkowicie blokują dostęp do treści użytkownikom w trybie prywatnym.
Wykorzystywane jest do tego FileSystem API, co jednak dla Google jest niedopuszczalne. Korporacja stoi na stanowisku, że jeśli ktoś chce sobie przeglądać zasoby Sieci w trybie incognito, to ma do tego pełne prawo i o żadnych ograniczeniach dostępu dla tej grupy nie może być mowy. Dlatego właśnie w Chrome 76 zdecydowano się na zablokowanie możliwości pytania przez strony o dostępność API.
Jak jednak informuje Thomas Claburn z redakcji The Register, znalazła się już nowa metoda na obejście tej blokady i sprawdzenie, czy użytkownik korzysta z trybu incognito. Na blogu Jesse Li opisany został sposób bazujący na pomiarze czasu niezbędnego na zapisanie danych. Za pomocą benchmarku możliwe jest rozróżnienie czy dane zapisywane są na dysku (tryb normalny) czy też w pamięci (tryb incognito).
Przeprowadzenie testu w trybie incognito trwa 792 ms i 2281 ms w trybie normalnym. Są to wartości, które nie zniechęcą oczekującego użytkownika na tyle, by opuścić witrynę, mogą być zatem wykorzystywane przez wydawców do identyfikacji. Summa summarum do ominięcia zabezpieczeń wystarczy kilka pętli zapisujących losowe ciągi do FileSystem API.
Inżynierowie Google już teraz zastanawiają się nad rozwiązaniem, w którym w pamięci byłyby zapisywanie przez FileSystem tylko metadane, a cała reszta danych (po zaszyfrowaniu dla incognito) na dysku. Wówczas czas potrzebny na zapis byłby identyczny w trybie incognito i normalnym. Wygląda zatem na to, że na polu identyfikacji trybu prywatnego zapowiada nam się na dłuższą wymianę ciosów.
Zobacz też: Google zapowiada zmiany w Chrome – użytkownikom łatwiej będzie omijać paywalle