Google Chrome 80 z SameSite cookies. Mały przewrót w dziedzinie zarządzania ciasteczkami

Strona główna Aktualności
fot. Shutterstock.com
fot. Shutterstock.com

O autorze

Przeglądarka Google Chrome 80 została właśnie udostępniona do pobrania. A co wraz z nią? Firma z Mountain View postanowiła wywrócić do góry nogami mechanizm zarządzania ciasteczkami. Dla naszego bezpieczeństwa i prywatności. Nie żartuję.

Każdy, kto nie chce zagłębiać się w szczegóły, może z tego miejsca pobrać Chrome 80 i na tym poprzestać. Niemniej zapewniam, że trochę ciekawostek tym samym straci.

Jak wiadomo, protokół HTTP jest bezstanowy, czyli nie przechowuje danych o poprzednich żądaniach. W dzisiejszym internecie, gdzie prym wiodą media społecznościowe czy jakiekolwiek inne witryny oferujące system kont, takie podejście byłoby cokolwiek problematyczne. Serwer musiałby na każdej kolejnej podstronie wyświetlać monit o konieczności zalogowania. Inaczej nie rozpoznałby danego użytkownika, a co za tym idzie nie spersonalizowałby treści.

Dlatego powstały ciasteczka

W telegraficznym skrócie można je rozumieć jako przechowywane lokalnie pliki z informacją o użytkowniku, które przeglądarka podrzuca serwerowi w celu ustalenia tożsamości użytkownika. To jednak pociągnęło za sobą kolejny problem. Bo jeśli za całość autoryzacji odpowiada byle plik, to aż prosi się o przechwycenie transmisji i podszycie pod kogoś. Pomijając już całą klasę ataków opartych na złośliwym kodzie w formie JavaScript.

Przez lata, co zrozumiałe, programiści wypracowali sobie cały szereg schematów obronnych przed takimi sztuczkami. Były to m.in. flaga Secure, która blokuje przesył ciasteczek przez protokół nieszyfrowany, czy flaga HttpOnly zapobiegająca odczytowi ciasteczka z poziomu JS. Albo kontrola nagłówków Origin i Referer, aby ustalić domenę i adres, z których pada żądanie. Ewentualnie także generowanie losowych tokenów, służących do autoryzacji żądań.

Fajnie? Niezupełnie

Nie dość, że mowa o rozwiązaniach zależnych od serwera, bez jakiejkolwiek standaryzacji, to w dodatku dalekich od perfekcji. Niech administrator w którymś miejscu zapomni o dodatkowej warstwie zabezpieczeń. Cyk, i podatność na atak CSRF gotowa. I co z obsługą materiałów zagnieżdżonych intencjonalnie? Wiecie, choćby apletów do Facebooka czy Twittera.

Tu na scenę wkracza koncepcja SameSite, która powierza opiekę nad ciasteczkami przeglądarce. Jeśli parametr zostanie zdefiniowany jako Strict, to przeglądarka nie dołączy ciasteczek do żądań pochodzących z innej domeny niż aktualnie odwiedzana. Z kolei parametr Lax sprawi, że ciasteczka mogą zostać dołączone, ale tylko w specyficznych przypadkach. W pasku adresu musi pojawić się witryna docelowa, a zapytanie HTTP musi być realizowane poprzez jedną z bezpiecznych metod, co obejmuje GET, HEAD oraz TRACE.

W bardzo dużym uproszczeniu: SameSite to metoda zarządzania ciasteczkami, która przekazuje całkowitą kontrolę nad nimi przeglądarce. To nie administrator serwera, ale przeglądarka ustala, czy strona trzecia może uzyskać dostęp do ciasteczka, czy nie. Przynajmniej w teorii takie podejście wyklucza błąd ludzki, a użytkownik dzięki temu zyskuje większe bezpieczeństwo. Jest chroniony przed atakiem polegającym na sfabrykowaniu zapytania i częściowo przed śledzeniem za pośrednictwem cookies.

SameSite ✕ Google Chrome 80

Google idzie o krok dalej i wymusza Lax w sytuacji, gdy ręcznie nie zastosowano innej reguły. Alternatywnie jest jeszcze None; Secure, czyli wersja, nazwijmy to tak, standardowa.

Z punktu widzenia użytkownika, ma to ogromne znaczenie, i to nie tylko jako sposób zapobiegnięcia ewentualnego ataku. Nominalnie, kiedy klikasz jakiś aplet społecznościowy albo reklamę, strona trzecia gromadzi za pośrednictwem ciasteczek informacje. Ot, choćby Facebook jest w stanie prześledzić, gdzie używasz przycisku polubień, by w konsekwencji wyświetlać reklamy zgodne z zainteresowaniami. Chrome 80 taki proceder ogranicza.

Inna sprawa, że mało prawdopodobne, aby Google działał tu wyłącznie z dobrego serca. Zdaniem sceptyków firma przede wszystkim uderza w konkurencyjnych reklamobiorców. Cóż, w każdej sprawie da się znaleźć drugie dno. Kwestię interpretacji pozostawiam otwartą.

Przeglądarkę Google Chrome 80 na Windows i Mac znajdziesz w naszym katalogu oprogramowania.

© dobreprogramy
s