Czym jest przejmowanie sesji i sposoby zapobiegania

Czy wiesz, że haker może dokonywać w Twoim imieniu przelewów bankowych lub zakupów online bez kradzieży danych rejestracyjnych?

Kojarzymy pliki cookie ze śledzeniem i irytującymi reklamami internetowymi, ale przechowują one również zapytania wyszukiwania, co pozwala nam odwiedzać strony internetowe bez podawania nazwy użytkownika i hasła.

Jeśli jednak ktoś przechwyci plik cookie, może to doprowadzić do katastrofalnego w skutkach cyberataku zwanego przejęciem sesji, który może narazić Twoje wrażliwe dane na ryzyko w ręce atakujących i może wyrządzić wiele szkód, zanim zorientujesz się, co się stało.

Sprawdź, co to jest i jak możesz temu zapobiec!

Co to jest przejmowanie sesji?

Podczas przejmowania sesji osoba atakująca przechwytuje i przejmuje ustanowioną sesję między użytkownikiem a hostem, takim jak serwer WWW, sesja Telnet lub dowolne inne połączenie oparte na protokole TCP. Sesja rozpoczyna się po zalogowaniu się do serwisu lub aplikacji, np. serwisu społecznościowego.

Kontynuuje, gdy jesteś na koncie, sprawdzasz swój profil lub uczestniczysz w wątku, a kończy się, gdy wylogujesz się z systemu. Ale skąd serwer sieciowy wie, że każde Twoje żądanie pochodzi od Ciebie?

Tutaj wkraczają pliki cookie. Po zalogowaniu przesyłasz swoje dane uwierzytelniające do serwera WWW. Potwierdza, kim jesteś i podaje identyfikator sesji za pomocą pliku cookie, który zostanie do Ciebie dołączony na czas trwania sesji. Dlatego nie wylogowujesz się z aplikacji za każdym razem, gdy odwiedzasz czyjś profil, a sklep internetowy pamięta, co włożyłeś do koszyka, nawet jeśli odświeżysz stronę.

Ale atakujący mogą przejąć sesję, jeśli użyją specjalnych technik zarządzania sesją lub ukradną plik cookie. W ten sposób może oszukać serwer WWW, aby uwierzył, że żądania pochodzą od Ciebie, autoryzowanego użytkownika.

Zjawisko przejmowania sesji stało się znane na początku lat 2000., ale nadal jest to jedna z najczęstszych metod stosowanych przez hakerów.

Niedawnym przykładem jest Lapsus$ Group, która w tym roku znalazła się na liście najbardziej poszukiwanych przez FBI. Wykorzystuje infekcję InfoStealer Maleware do przejęcia sesji.

Podobnie GenesisStore to sklep tylko dla zaproszonych, prowadzony przez grupę o tej samej nazwie, który sprzedaje skompromitowane dane plików cookie, a jego lista przekracza 400 000+ botów.

Typy przechwytywania sesji

Przejęcie sesji można podzielić na dwie główne kategorie, w zależności od chęci sprawcy.

Aktywny: w przypadku aktywnego ataku atakujący przejmuje sesję użytkownika, przejmując w ten sposób prawidłowe połączenie klienta z zasobem. W zależności od miejsca sesji haker może dokonywać zakupów online, zmieniać hasła lub odzyskiwać konta. Typowym przykładem aktywnego ataku jest atak brute force, XSS, a nawet DDoS.

źródło: OSWAP

Pasywny: W ataku pasywnym atakujący nie przejmuje ani nie zmienia sesji. Zamiast tego po cichu monitorują ruch danych między Twoim urządzeniem a serwerem, zbierając wszystkie poufne informacje. Zwykle do przeprowadzania pasywnych ataków polegających na wstrzykiwaniu wykorzystuje się fałszowanie adresów IP i wstrzykiwanie złośliwego oprogramowania.

źródło: OSWAP

Jak działa przejęcie sesji?

HTTP jest protokołem bezstanowym, co oznacza, że ​​serwer nie pamięta operacji klienta. Każde nowe żądanie HTTP pokrywa się z nową jednostką pracy, czyli mówiąc prościej, serwer udostępnia strony klientowi bez zapamiętywania poprzednich żądań klienta.

Kiedy jednak przeglądamy sieć, zdajemy sobie sprawę, że aplikacje idealnie wiedzą, kim jest klient (nawet za dobrze!). Dzięki tej „pamięci” serwera możliwe jest tworzenie nowoczesnych zastrzeżonych obszarów serwisów internetowych, banków internetowych, serwisów webmail itp.

Aby to zrobić, narodził się dodatek, który sprawia, że ​​protokół bezstanowy, taki jak HTTP, jest stanowy: pliki cookie.

Sesje stanowe

Po zalogowaniu aplikacje internetowe korzystające z sesji stanowej pozostawiają sesyjny plik cookie. Oznacza to, że polegają na tym pliku cookie do śledzenia klienta. Wewnątrz pliku cookie zapisywany jest unikalny kod, który umożliwia rozpoznanie Klienta, np.:

SESSIONID=ACF3D35F216AAEFC

Każda osoba posiadająca wyżej wymieniony unikalny identyfikator sesji lub kod będzie uwierzytelnionym klientem serwera. Jeśli osoba atakująca mogłaby uzyskać ten identyfikator, jak pokazano na poniższym obrazku, mogłaby wykorzystać sesję, która została wstępnie sprawdzona dla ofiary, podsłuchując legalną sesję lub nawet całkowicie ją przejmując. Ten identyfikator jest zwykle osadzony w adresie URL, w ukrytym polu dowolnego formularza lub w plikach cookie.

OSWAP

Sesje bezstanowe

Wraz z ewolucją sieci pojawiły się rozwiązania umożliwiające zarządzanie „pamięcią” serwera bez wykorzystywania sesyjnych plików cookie. W aplikacji internetowej, w której frontend i backend są dobrze rozdzielone i rozmawiają tylko przez API, najlepszym rozwiązaniem może być JWT (JSON Web Token), podpisany token, który pozwala frontendowi korzystać z API dostarczanych przez backend.

Zazwyczaj token JWT jest zapisywany w sessionStorage przeglądarki, obszarze pamięci, który klient utrzymuje aktywny do momentu zamknięcia karty. W rezultacie otwarcie nowej karty tworzy nową sesję (w przeciwieństwie do tego, co dzieje się z plikami cookie).

Kradzież tokena identyfikacyjnego klienta umożliwia kradzież sesji użytkownika i tym samym przeprowadzenie ataku polegającego na przejęciu sesji. Ale jak ukraść ten token?

Obecnie metody najczęściej wykorzystywane przez hakerów to:

# 1. Podnoszenie po stronie sesji

Ta metoda wykorzystuje niezabezpieczone sieci do znalezienia identyfikatora sesji. Atakujący wykorzystuje sniffing (specjalne oprogramowanie) i zazwyczaj atakuje publiczne Wi-Fi lub strony internetowe bez certyfikatu SSL, które są znane ze słabego bezpieczeństwa.

#2. Utrwalanie sesji

Ofiara używa identyfikatora sesji utworzonego przez atakującego. Może to zrobić za pomocą ataku phishingowego (za pośrednictwem złośliwego łącza), który „naprawia” Twój identyfikator sesji.

#3. Brutalna siła

Najbardziej czasochłonna i nieefektywna metoda. Podczas tego ataku haker nie kradnie plików cookie. Zamiast tego próbuje każdej możliwej kombinacji, aby odgadnąć identyfikator sesji.

#4. XSS lub skrypty między witrynami

Haker wykorzystuje luki w zabezpieczeniach stron internetowych lub aplikacji do wstrzykiwania złośliwego kodu. Gdy użytkownik odwiedza witrynę, skrypt jest aktywowany, kradnie pliki cookie użytkownika i wysyła je do atakującego.

#5. Wstrzyknięcie złośliwego oprogramowania

Złośliwe oprogramowanie może wykonywać na urządzeniu nieautoryzowane działania w celu kradzieży danych osobowych. Jest również często używany do przechwytywania plików cookie i wysyłania informacji do atakującego.

#6. Fałszowanie adresu IP

Cyberprzestępca zmienia źródłowy adres IP swojego pakietu, aby wyglądał, jakby pochodził od Ciebie. Z powodu fałszywego adresu IP serwer WWW myśli, że to ty, i sesja zostaje przejęta.

Jak zapobiegać przejmowaniu sesji?

Możliwość przejęcia sesji zazwyczaj sprowadza się do bezpieczeństwa stron internetowych lub aplikacji, z których korzystasz. Istnieją jednak kroki, które możesz podjąć, aby się chronić:

  • Unikaj publicznych sieci Wi-Fi, ponieważ bezpłatne hotspoty są idealne dla cyberprzestępców. Zwykle mają słabe zabezpieczenia i mogą być łatwo sfałszowane przez hakerów. Nie wspominając o tym, że zawsze są pełne potencjalnych ofiar, których ruch danych jest stale zagrożony.
  • Każda witryna, która nie korzysta z certyfikatu SSL, naraża Cię na niebezpieczeństwo, ponieważ nie może szyfrować ruchu. Sprawdź, czy strona jest bezpieczna, szukając małej kłódki obok adresu URL.

  • Zainstaluj aplikację chroniącą przed złośliwym oprogramowaniem, aby wykrywać i chronić urządzenie przed złośliwym oprogramowaniem i szczurami, które mogą kraść dane osobowe.
  • Unikaj pobierania złośliwego oprogramowania, korzystając z oficjalnych sklepów z aplikacjami lub witryn internetowych do pobierania aplikacji.
  • Jeśli otrzymasz wiadomość z prośbą o kliknięcie nieznanego łącza, nie rób tego. Może to być atak typu phishing, który może zainfekować urządzenie i wykraść dane osobowe.

Użytkownik może niewiele zrobić przeciwko atakowi typu Session Hijacking. Wręcz przeciwnie, aplikacja może zauważyć, że inne urządzenie połączyło się z tym samym identyfikatorem sesji. Opierając się na tym, możesz zaprojektować strategie łagodzenia, takie jak:

  • Powiąż z każdą sesją jakiś techniczny odcisk palca lub charakterystykę podłączonego urządzenia, aby wykrywać zmiany w zarejestrowanych parametrach. Informacje te muszą być zapisane w pliku cookie (dla sesji stanowych) lub JWT (dla sesji bezstanowych), całkowicie zaszyfrowane.
  • Jeśli sesja jest oparta na plikach cookie, upuść plik cookie z atrybutem HTTPOnly, aby był nieosiągalny w przypadku ataku XSS.
  • Skonfiguruj system wykrywania włamań (IDS), system zapobiegania włamaniom (IPS) lub rozwiązanie do monitorowania sieci.
  • Niektóre usługi przeprowadzają dodatkowe kontrole tożsamości użytkownika. Na przykład serwer sieciowy może sprawdzać przy każdym żądaniu, czy adres IP użytkownika jest zgodny z ostatnim używanym podczas tej sesji. Nie zapobiega to jednak atakom ze strony kogoś, kto ma ten sam adres IP, i może być frustrujące dla użytkowników, których adres IP może się zmienić podczas sesji przeglądania.
  • Alternatywnie, niektóre usługi zmieniają wartość pliku cookie przy każdym żądaniu. To drastycznie skraca okno, w którym osoba atakująca może działać, i ułatwia identyfikację, czy atak miał miejsce, ale może spowodować inne problemy techniczne.
  • Używaj różnych rozwiązań uwierzytelniania wieloskładnikowego (MFA) dla każdej sesji użytkownika.
  • Aktualizuj wszystkie systemy za pomocą najnowszych poprawek i aktualizacji zabezpieczeń.

Często zadawane pytania

Czym różni się przejmowanie sesji od fałszowania sesji?

Przejęcie sesji polega na podszywaniu się pod użytkownika, podczas gdy podszywanie się polega na zastąpieniu użytkownika. W ciągu ostatnich kilku lat niektórzy analitycy bezpieczeństwa zaczęli charakteryzować to ostatnie jako rodzaj przejmowania sesji.

Ostatnie słowa

Częstotliwość ataków polegających na przejmowaniu sesji wzrosła w ostatnich latach; dlatego coraz ważniejsze staje się zrozumienie takich ataków i stosowanie środków zapobiegawczych. Jednak wraz z rozwojem technologii ataki stają się coraz bardziej wyrafinowane; w związku z tym konieczne jest stworzenie aktywnych strategii ograniczających przejmowanie sesji.

Być może zainteresuje Cię również, ile warte są Twoje dane w ciemnej sieci.