Ciasteczka mogą być groźne, błędy leżą w samej ich specyfikacji

Wielu użytkowników Internetu przez długi czas nie zdawało sobie sprawy z istnienia tzw. ciasteczek, niewielkich plików, które umożliwiają m.in. utrzymanie sesji. Dopiero wymóg informowania o ich użyciu zmienił tę sytuację. Niestety implementacja tego mechanizmu pozostawia sporo do życzenia, specjaliści biją na alarm i informują o poważnych podatnościach, które umożliwiają wykonywanie ataków.

Ciasteczka mogą być groźne, błędy leżą w samej ich specyfikacji
Redakcja

Najczęstszym wykorzystaniem cookies jest utrzymywanie sesji użytkownika. Dzięki tym plikom umieszczonym na dysku komputera przeglądarka może później poinformować stronę, że już ją odwiedzała i że nastąpiło logowanie. Serwer, ustawiając w przeglądarce użytkownika ciasteczko, określa jego nazwę, wartość, domenę, której dotyczy, a także ścieżkę ograniczającą widoczność danych tylko do określonych adresów internetowych. Dodatkowy parametr określa, że ciasteczko ma być wysyłane tylko przy połączeniach szyfrowanych, da się to jednak ominąć.

Problem polega na tym, że specyfikacja cookies sama w sobie posiada dziury umożliwiające przeprowadzenie ataku. Administrator serwisu znajdującego się pod adresem adres1.domena.com może ustawić ciasteczko na np. całą domenę domena.com, co spowoduje, że będzie ono zastępowało ciasteczka ustawiane na inne subdomeny takie jak adres2.domena.com. Nawet jeżeli serwisy umieszczone na innych adresach ustawią własne ciasteczka, zostaną one nadpisane przez to globalne. Inny problem to brak rozróżnienia i izolacji portów: ciasteczko umieszczone na jednej usłudze (np. HTTP) może być z powodzeniem wykorzystywane i nadpisywane także przez inne usługi pracujące na tym samym serwerze.

Obraz

Jednym z opcjonalnych parametrów ciasteczek jest flaga secure. Określa ona, że ciastko powinno być widoczne tylko wtedy, gdy połączenie będzie szyfrowane. Problem polega na tym, że nie da się określić, w jaki sposób zostało ono w ogóle ustawione. Atakujący nie musi wykorzystywać szyfrowanych połączeń: może na jednej z subdomen korzystających z HTTP utworzyć globalne ciasteczko z flagą secure, aby tym samym wstrzyknąć jakieś dane do połączenia szyfrowanego z innym serwisem. Nie będzie ono widoczne w jego serwisie, ale będzie dostępne w innym. To daje mu drogę do dalszych działań, w tym przechwytywania danych użytkownika i uzyskania informacji, które są zaszyfrowane.

Problem jest poważny, z cookies korzysta przecież większość stron internetowych, z jakich korzystamy. Specjaliści uważają, że sama specyfikacja określająca ich działanie wymaga uzupełnienia o odpowiednie mechanizmy zapewniające integralność i sprawdzanie ich źródła. Jak na razie administratorzy witryn mogą chronić swoich użytkowników stosując mechanizm HTTP Strict Transport Security (HSTS) z włączoną opcją includeSubDomains. Dzięki temu rozwiązaniu przeglądarka wie, że powinna stosować jedynie szyfrowane połączenia z daną stroną internetową i w przypadku próby wykonania żądań do lokalizacji posługujących się HTTP, automatycznie przełącza ruch na HTTPS.

Co mogą zrobić użytkownicy? Jak na razie niewiele: zablokowanie cookies to rozwiązanie sprawdzone, niemniej znacznie utrudniające korzystanie z witryn internetowych. Ważne jest natomiast wykorzystanie przeglądarek internetowych, które wspierają HSTS i które dzięki temu lepiej nas zabezpieczają. Obsługę tego mechanizmu zapewniają m.in. Firefox, Opera, Chrome, Safari, Edge, a także Internet Explorer 11 z wgranymi najnowszymi aktualizacjami – Microsoft w czerwcu wydał specjalną paczkę, która znacznie podniosła poziom bezpieczeństwa oferowany przez ten program.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (42)