Nowa funkcja w Edge i IE pomoże chronić prywatność i bezpieczeństwo ciasteczek

Nowa funkcja w Edge i IE pomoże chronić prywatność i bezpieczeństwo ciasteczek

Autor: Krzysztof Sulikowski

Opublikowano: 5/18/2018, 6:56 PM

Liczba odsłon: 2394

Na liście zmian kompilacji 17672 właściwie tylko przelotem pojawiła się informacja, że Microsoft Edge oraz Internet Explorer 11 w Windows 10 otrzymały wsparcie (Preview) dla same-site cookies, czyli specjalnego atrybutu ciasteczek, mającego chronić użytkowników przed atakami typu CSRF. Z czym to się je? Microsoft wyjaśnił szczegóły tej implementacji na blogu.

same-site cookies

SameSite to właściwie rodzaj standardu ciasteczek, który pomaga chronić użytkowników przed atakami CSRF (cross-site request forgery), czyli wykorzystującymi nieświadomych użytkowników do przesłania spreparowanych żądań do serwera. By temu przeciwdziałać, deweloperzy będą mogli ustawić atrybut SameSite w plikach cookies na swojej stronie internetowej, co zapobiegnie wysyłaniu tych plików ze strony internetowej do zewnętrznych domen. Wiąże się to z żądaniami cross-origin (pozwalającymi współdzielić zasoby pomiędzy domenami), które w wielu scenariuszach zapewniają wygodę, np. w postaci możliwości ponownego wykorzystania niektórych stanów (np. logowania) w różnych witrynach, niezależnie od miejsca pochodzenia tego żądania. Niestety, na tym polu dochodzić może do nadużyć, a przykładem tego są właśnie ataki CSRF.

Wsparcie, które zaczął w tym tygodniu testować Microsoft, pozwala twórcom witryn ustawić wybranym plikom cookie atrybut SameSite za pomocą nagłówka Set-Cookie lub właściwości JavaScript document.cookie. W ten sposób witryna zapobiega domyślnemu zachowaniu przeglądarki, które umożliwia współdzielenie żądań między witrynami. Moc atrybutu może być silniejsza (wartość strict blokuje wszystkie żądania między witrynami) albo słabsza (wartość lax blokuje tyko niektóre rodzaje żądań).

Wybór atrybutu wiąże się z dalszymi konsekwencjami. W przypadku metody restrykcyjnej plik cookie danej witryny nie zostanie wysłany dla żadnego żądania między domenami, nawet jeśli przechodzimy na ową witrynę (z innej). W rezultacie, ponieważ stan zalogowania jest przechowywany jako plik cookie SameSite = Strict, gdy użytkownik kliknie łącze, początkowo będzie wyglądało, jakby użytkownik nie był zalogowany. Jeśli zaś zostanie wybrany luźny atrybut, plik cookie nie będzie wysyłany dla żądań podzasobów cross-origin, takich jak obrazy. SameSite = Lax umożliwia jednak udostępnianie cookies podczas nawigacji z zewnętrznej witryny, na przykład po kliknięciu łącza.

Co ze starszymi przeglądarkami i tymi, które nie otrzymały wsparcia dla SameSite? Deweloperzy nie muszą obawiać się problemów z kompatybilnością. Jeśli atrybut nie jest rozpoznawany, zostanie on po prostu zignorowany, a przeglądarka będzie działać tak samo, jak dawniej. Warto jeszcze dodać, że chociaż implementacja rozwijana jest w ramach Windows 10 Redstone 5, Microsoft zamierza ją dodać również do Edge i Internet Explorera w starszych wersjach Dziesiątki, aż do Creators Update.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia