| Termin | Definicja |
|---|---|
| brak automatycznego wylogowania po czasie | Brak automatycznego wylogowania po czasie to alternatywne, powtórzone określenie tej samej luki bezpieczeństwa sesji. Na czym polega brak automatycznego wylogowania po czasieBrak automatycznego wylogowania po czasie oznacza, że aplikacja internetowa nie kończy uwierzytelnionej sesji po ustalonym okresie bezczynności albo po przekroczeniu maksymalnego czasu jej trwania. Użytkownik może zamknąć kartę, odejść od komputera i wrócić później do nadal aktywnego panelu bez ponownego podawania hasła. Samo zamknięcie przeglądarki nie zawsze rozwiązuje problem, ponieważ identyfikator sesji może być przechowywany w ciasteczku trwałym, w pamięci przeglądarki albo po stronie serwera przez dłuższy czas. W praktyce rozróżnia się co najmniej dwa mechanizmy. Limit bezczynności, nazywany także idle timeout, kończy sesję, gdy przez określony czas nie pojawia się żadne wymagające uwierzytelnienia żądanie. Limit bezwzględny, czyli absolute timeout, wyznacza maksymalny czas życia sesji niezależnie od aktywności. Jeżeli aplikacja nie stosuje żadnego z tych mechanizmów lub implementuje je wyłącznie w interfejsie przeglądarki, sesja może pozostawać ważna znacznie dłużej, niż zakłada projekt bezpieczeństwa. Sesja, ciasteczko i unieważnienie po stronie serweraSesja użytkownika jest zwykle rozpoznawana za pomocą identyfikatora przekazywanego w ciasteczku HTTP. Ciasteczko nie powinno zawierać samego hasła, lecz losowy identyfikator, który serwer wiąże z konkretnym stanem uwierzytelnienia. Po upływie limitu czasowego serwer powinien odrzucić taki identyfikator i wymagać ponownego logowania. Usunięcie ciasteczka w przeglądarce jest pomocne, ale nie zastępuje unieważnienia sesji na serwerze, ponieważ skopiowany identyfikator mógłby nadal zostać wykorzystany z innego urządzenia. Podczas analizy należy sprawdzić, czy czas wygaśnięcia jest liczony od ostatniego żądania, od utworzenia sesji, czy może tylko od momentu ustawienia ciasteczka. Istotne jest także ustalenie, czy aplikacja odświeża czas życia przy każdym żądaniu, również przy żądaniach wykonywanych w tle przez JavaScript. Niewłaściwa obsługa takich odświeżeń może powodować, że aktywna karta utrzymuje sesję bez końca, mimo że użytkownik nie wykonuje świadomie żadnej operacji. Trzeba również zweryfikować, czy po wylogowaniu token sesji zostaje unieważniony, czy tylko ukrywa się ekran logowania. Skutki pozostawienia aktywnej sesjiNajbardziej bezpośrednim skutkiem jest możliwość użycia aplikacji przez osobę, która uzyska dostęp do odblokowanego laptopa lub komputera. Dotyczy to szczególnie paneli pocztowych, zakupowych, administracyjnych, systemów dokumentów oraz aplikacji przechowujących historię działań. Jeżeli sesja pozostaje ważna po długiej bezczynności, osoba korzystająca z tego samego stanowiska może otworzyć wcześniej zalogowaną stronę i wykonywać operacje z uprawnieniami poprzedniego użytkownika. Problem może być poważniejszy, gdy identyfikator sesji został wcześniej skopiowany przez złośliwe rozszerzenie, szkodliwe oprogramowanie albo wskutek błędnej konfiguracji aplikacji. Długi czas ważności zwiększa wtedy okno, w którym taki identyfikator może zostać wykorzystany. Objawem nie zawsze jest komunikat o błędzie. Często aplikacja po prostu otwiera panel bez pytania o hasło, a po ręcznym wylogowaniu pozwala użyć przycisku „Wstecz”, aby wyświetlić zapisany widok. Taki widok nie musi oznaczać aktywnej sesji, dlatego trzeba sprawdzić ponowne żądania do serwera, a nie tylko zawartość pamięci podręcznej przeglądarki. Sprawdzenie ustawień na komputerze i dalsza diagnostykaNa laptopie lub komputerze można rozpocząć od ręcznego wylogowania, zamknięcia wszystkich kart, ponownego uruchomienia przeglądarki i sprawdzenia, czy aplikacja wymaga logowania po określonym czasie. W narzędziach deweloperskich przeglądarki, w zakładce dotyczącej magazynu danych, można sprawdzić obecność ciasteczek sesyjnych, ich datę wygaśnięcia oraz atrybuty Jeżeli problem występuje tylko w jednej aplikacji, warto porównać zachowanie w aktualnej przeglądarce, w oknie prywatnym oraz po usunięciu danych witryny. Pozwala to odróżnić brak wylogowania od uszkodzonego mechanizmu pamięci podręcznej, automatycznego logowania lub rozszerzenia przeglądarki. W przypadku komputera używanego przez kilka osób należy dodatkowo sprawdzić blokadę ekranu i sposób przechowywania profili przeglądarki. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, a w ramach diagnostyki można ustalić, czy obserwowane zachowanie wynika z konfiguracji stanowiska, przeglądarki czy samej aplikacji. |