• Grupa E Facebook
  • Grupa E Linkedin

Czym jest podatność SSRF?

Temat podatności, to jeden z najczęściej omawianych aspektów związanych z cyberbezpieczeństwem, jest ich „niezliczona” ilość, a podatność SSRF (Server Side Request Forgery) to jeden z bardziej niebezpiecznych i często pomijanych w analizach wektorów ataku w aplikacjach webowych.

Pozwala ona na manipulowanie zapytaniami wysyłanymi przez serwer aplikacji, co w zależności od sposobu, w jaki aplikacja obsługuje dane żądania finalnie może prowadzić do eskalacji ataku, poprzez dostęp do wewnętrznych zasobów danej organizacji i nawet przejęcia całych systemów.

Jak działa SSRF?

W dużym uproszczeniu, podatność SSRF polega na zmuszeniu serwera do wykonania zapytania HTTP (lub też innego protokołu) pod adres, który kontroluje atakujący, albo do wewnętrznych zasobów, do których normalnie użytkownik nie miałby dostępu.

W skrócie, atak bazuje na błędnym zaufaniu aplikacji do dostarczanych danych.

Typowy scenariusz wygląda tak:

  1. Aplikacja webowa pozwala użytkownikowi wprowadzić URL, przykładowo do pobrania obrazu z zewnętrznego serwera.
  2. Aplikacja wykonuje żądanie HTTP do podanego adresu.
  3. Atakujący zamiast poprawnego adresu podaje wewnętrzny adres serwera, np.
  4. Serwer, który ufa danym wejściowym, wykonuje zapytanie – w ten sposób atakujący może wyciągnąć interesujące, wrażliwe informacje lub prowadzić dalszą eskalację.

Kilka przykładów ataków SSRF:

Dostęp do wewnętrznych zasobów

    Większość aplikacji działa w infrastrukturze, gdzie dostęp do wewnętrznych serwerów jest możliwy tylko z poziomu samego serwera aplikacyjnego. Jeśli dana aplikacja ma podatność SSRF, można ją wykorzystać do skanowania wewnętrznej sieci i atakowania wewnętrznych serwisów typu baz danych czy API administracyjne.

    Przejęcie danych w chmurze

      W środowiskach chmurowych (Azure, AWS itp.) serwery często mają dostęp do specjalnych adresów IP z metadanymi danej instancji. SSRF pozwala atakującemu wyciągnąć klucze dostępu i przejąć kontrolę nad całą infrastrukturą.

      Eksfiltracja danych przez zewnętrzne serwisy

      Niektóre aplikacje webowe pozwalają na wysyłanie żądań do zewnętrznych serwisów, co za tym idzie – jeśli SSRF pozwala na manipulację takimi zapytaniami, można wykorzystać go do wysyłania poufnych danych na serwery kontrolowane przez atakującego.

      Jak zabezpieczyć aplikację przed SSRF?

      • Whitelist zamiast blacklist – zamiast filtrowania niebezpiecznych adresów czasami lepiej ograniczyć dostęp tylko do konkretnych, zaufanych domen.
      • Blokowanie zapytań do adresów lokalnych.
      • WAF (Web Application Firewall) – czyli firewall na poziomie warstwy aplikacji z regułami blokującymi dostęp do wewnętrznych zasobów.
      • Używanie serwerów proxy – aplikacja webowa powinna wysyłać zapytania do zewnętrznych serwisów tylko przez bezpieczne proxy, które filtruje podejrzane żądania.

      Dziękujemy, że dotarli Państwo do końca naszej lektury.

      Polecamy usługi Grupy E, polegające na wdrażaniu systemów cyberbezpieczeństwa, a także zapraszamy do bezpłatnej konsultacji dot. poprawy poziomu cyberodporności.

      Wróć