Session Hijacking – przejmowanie sesji, to kolejna forma ataku typu man-in-the-middle, który zapewni hakerowi pełny dostęp do konta online. Gdy logujesz się na konto internetowe, takie jak Facebook lub Twitter, aplikacja zwraca „sesyjny plik cookie”. Jest to fragment danych, który identyfikuje użytkownika na serwerze i daje mu dostęp do jego konta. Dopóki urządzenie użytkownika przechowuje ten token sesji, serwer umożliwi mu korzystanie z aplikacji.
Gdy użytkownik wylogowuje się z aplikacji, serwer unieważnia token sesji. Każdy dalszy dostęp do konta wymaga od użytkownika ponownego wprowadzenia danych logowania.
W ataku polegającym na przejmowaniu sesji haker kradnie token sesji użytkownika i wykorzystuje go do uzyskania dostępu do konta użytkownika. Istnieje kilka sposobów, w jakie osoba atakująca może przeprowadzić atak polegający na przejmowaniu sesji. Może to zrobić za pomocą złośliwego oprogramowania monitorującego i kradnącego dane sesji na urządzeniu użytkownika. Inną metodą jest wykorzystanie ataków cross-site scripting, w których osoba atakująca przesyła skrypt programistyczny na stronę internetową, którą często odwiedza użytkownik i zmusza komputer użytkownika do wysłania danych dotyczących plików cookie sesji na serwer. Inne metody przejmowania sesji wykorzystują luki w oprogramowaniu aplikacji do odgadywania lub ujawniania informacji o plikach cookie sesji.
Istnieją cztery metody wykorzystywane do przeprowadzenia ataku Session Hijacking:
- Session Fixation:
Gdy atakujący ustawia identyfikator sesji użytkownika na taki, który jest mu znany, na przykład wysyłając użytkownikowi wiadomość e-mail z linkiem zawierającym konkretny identyfikator sesji. Atakujący musi teraz tylko czekać, aż użytkownik się zaloguje. - Session side jacking:
Osoba atakująca wykorzystuje sniffowanie pakietów do odczytywania ruchu sieciowego między dwiema stronami w celu kradzieży pliku cookie sesji. Wiele witryn używa szyfrowania SSL dla stron logowania, aby uniemożliwić atakującym zobaczenie hasła, ale nie używa szyfrowania dla reszty witryny po uwierzytelnieniu. Dzięki temu osoby atakujące, które mogą odczytywać ruch sieciowy, mogą przechwycić wszystkie dane przesyłane do serwera lub strony internetowe przeglądane przez klienta. Ponieważ dane te zawierają plik cookie sesji, pozwala to podszywać się pod ofiarę, nawet jeśli samo hasło nie jest zagrożone. Niezabezpieczone hotspoty Wi-Fi są szczególnie podatne na ataki. Każdy, kto korzysta z sieci, będzie w stanie odczytać większość ruchu sieciowego między innymi węzłami i punktem dostępowym. - Cross Site Scripting: W którym atakujący nakłania użytkownika do uruchomienia kodu, który jest traktowany jako godny zaufania. Kod wydaje się należeć do serwera, umożliwiając atakującemu uzyskanie kopii pliku cookie lub wykonanie innych operacji.
- Złośliwe oprogramowanie:
Niechciane programy mogą wykorzystywać atak typu hijacking na przeglądarkę, w celu kradzieży plików cookie przeglądarki bez wiedzy użytkownika. Następnie mogą wykonywać czynności (takie jak instalowanie aplikacji na Androida) bez wiedzy użytkownika. Atakujący z dostępem fizycznym może po prostu spróbować ukraść klucz sesji. Może to zrobić na przykład poprzez uzyskanie pliku lub zawartości pamięci odpowiedniej części komputera użytkownika lub serwera.
Ochrona przed przejmowaniem sesji leży głównie na barkach twórców aplikacji. Twórcy będą musieli upewnić się, że ich praktyki programistyczne są bezpieczne. Użytkownicy mogą chronić się przed atakami przechwytującymi za pomocą szyfrowanej komunikacji (przez HTTPS i VPN). Mogą również zminimalizować ataki polegające na przejmowaniu sesji, często wylogowując się ze swoich kont w celu unieważnienia plików cookie sesji.