Od kilku dni widzimy doniesienia o tym, że zespół CERT Polska (CSIRT NASK) wydał ostrzeżenie przed atakiem grupy APT28 utożsamianej z rosyjskim wywiadem. Informacja dotyczy możliwości dystrybuowania szkodliwego oprogramowania między polskimi instytucjami rządowymi. Na niektórych portalach już wprost używa się sformułowania, że trwa Zimna Wojna w Internecie. Nie ma co zastanawiać się nad słusznością tego stwierdzenia – tak czy inaczej inwestycje w cyberbezpieczeństwo powinny znaleźć się w obszarze strategicznych decyzji. Na celowniku rosyjskiej grupy przestępczej znalazły się póki co instytucje rządowe, a nie wiadomo, jak się to zmieni na przestrzeni najbliższych tygodni lub nawet… dni. Istnieją pewne metody, które pomogą odpowiednio ukierunkować zwiększenie bezpieczeństwa infrastruktur sieciowych przedsiębiorstwa. Są nimi testy penetracyjne.
Co to są testy penetracyjne?
Testy penetracyjne to symulacja hakerskiego ataku na systemy, sieci oraz aplikacje w celu znalezienia słabych punktów, które mogłyby zostać wykorzystane przez potencjalnych cyberprzestępców. To ważne narzędzia w obszarze testów bezpieczeństwa IT, które pomagają zapewnić dogłębną ochronę (ang. defence in depth), czyli zabezpieczenia wielopoziomowe. Jeśli jedna warstwa zostanie naruszona, istnieją kolejne metody obrony, które mogą stanowić firewalle sieciowe, systemy detekcji intruzów (IDS), systemy zapobiegania włamaniom (IPS), filtrowanie treści internetowej, kontrole dostępu oraz szyfrowanie danych. Przy pomocy testów penetracyjnych eksperci sprawdzają czy każdy z poziomów obrony na pewno spełnia swoją rolę.
Rodzaje testów penetracyjnych
Wyróżniamy trzy rodzaje testów penetracyjnych. Różnią się między sobą poziomem wiedzy pentestera o danym przedsiębiorstwie:
- White box – tester penetrujący ma pełny dostęp do informacji o infrastrukturze firmowej w tym do dokumentacji, kodu źródłowego, danych uwierzytelniających oraz konfiguracji sieciowej. Ta metoda pozwala na dokładną analizę systemu i identyfikację potencjalnych podatności. Wadą takiego podejścia może być to, że ze względu na potrzebę dogłębnej analizy sporej ilości informacji, testy penetracyjne typu white box są bardziej czasochłonne, ale umożliwiają odkrycie głęboko zakorzenionych problemów;
- Black box – pentester nie posiada żadnej wiedzy na temat testowanej infrastruktury, co najbardziej odzwierciedla rzeczywisty atak hakerski. Jest to najszybszy rodzaj testu, jednak pentester może nie wykryć wszystkich podatności, a szczególnie tych w wewnętrznych mechanizmach aplikacji czy systemu. Jednak, ten scenariusz jest najbardziej autentyczny. Pokazuje w jaki sposób przeciwnik bez danych wewnętrznych o organizacji może złamać jej zabezpieczenia;
- Grey Box – metoda, która plasuje się pomiędzy powyższymi testami. Pentester ma ograniczoną wiedzę o infrastrukturze i otrzymuje część informacji. Zazwyczaj są to dane logowania. Testy tego typu pomagają zrozumieć poziom dostępu uprzywilejowanego użytkownika i potencjalne szkody, jakie może spowodować. Testy “szarej skrzynki” zapewniają równowagę między dogłębną ochroną a wydajnością i również wykorzystywane są do symulacji zagrożenia.
Testy penetracyjne krok po kroku
Według standardu PTES (ang. Penetration Testing Execution Standard) proces składa się z siedmiu etapów.
Interakcje wstępne (Pre-engagement Interactions)
Zostaje ustalony zakres oraz estymacja testów penetracyjnych i termin wykonania testu. Organizacja dostarcza testerowi ogólnych informacji o infrastrukturze docelowej, definiuje cele testu oraz ustala parametry. Zostają także uzgodnionekategorie testów penetracyjnych i stosowane metody.
Zbieranie informacji (Intelligence Gathering)
W tej fazie następuje dokładna analiza techniczna testowanego systemu. Tester zbiera informacje o, m. in. adresach IP, nazwach sieci i domen, serwerach pocztowych i ogólnej topologii sieci.
Modelowanie zagrożeń (Threat Modelling)
Na tym etapie organizacja określa swój apetyt na ryzyko i ustala priorytety, w tym definiuje, które zasoby są najważniejsze. Pentester gromadzi potrzebną dokumentację, identyfikuje i kategoryzuje zasoby kluczowe i wtórne oraz zagrożenia i społeczności zagrożeń;
Analiza podatności (Vulnerability Analysis)
Pentester namierza słabe punkty infrastruktury, które mogą się stać przedmiotem ataku. Wykorzystuje szereg zautomatyzowanych technik takich jak skanery podatności czy mapowanie sieci, aby zrozumieć, jak sieć zachowuje się w różnych warunkach;
Eksploatacja (Exploitation)
po zebraniu informacji, tester rozpoczyna ataki na infrastrukturę organizacji. Pentesterzy wykorzystują różnorodne techniki, takie jak ataki siłowe (ang. brute-force), wstrzykiwanie kodu SQL (ang. SQL injection), cross-site scripting lub podejmowanie próby wyłudzenia informacji;
Post eksploatacja (Post Exploitation)
Po udanej eksploatacji pentester utrzymuje dostęp do skompromitowanego systemu. Zbiera wrażliwe informacje, które mogłyby zostać wykorzystane w dalszych atakach. Celem tego etapu jest określenie wartości przejętego systemu i pozyskanych informacji. Wartość definiuje się na bazie poziomu wrażliwości danych oraz użyteczności systemu w kloejnych atakach;
Raportowanie (Reporting)
Po przeprowadzonych atakach pentester sporządza szczegółowy raport, w którym podsumowuje odkryte podatności, wykradzione dane. Opisuje także ataki, które zakończyły się sukcesem. Wskazuje też czas, który upłynął od momentu wykrycia ataku. Raport zawiera także listę rekomendacji w tym, m. in. zalecane łatki, aktualizacje, zmiany w konfiguracjach i poprawę polityk bezpieczeństwa. Raport to także przewodnik, który ma służyć organizacji w podniesieniu poziomu bezpieczeństwa oraz utrzymaniu zgodności regulacyjnej z HIPAA, ISO/IEC 27001, PCI DSS, itp.
Warto wiedzieć, że funkcjonuje też uproszczona wersja tego procesu, który składa się z pięciu etapów:
- Przygotowanie – określenie celu zakresu testu
- Rozpoznanie – gromadzenie informacji o celu
- Penetracja – wykorzystanie znalezionych luk w zabezpieczeniach
- Raportowanie – przygotowanie dokumentacji o wynikach testów
- Środki zaradcze – rekomendacje rozwiązań
Oba podejścia mają na celu zidentyfikowanie, naprawienie i podniesienie poziomu bezpieczeństwa cybernetycznego organizacji. Wybór procesu zależy od specyfiki organizacji i wymagań dotyczących testów penetracyjnych. Niezależnie od liczby etapów, najważniejsze jest przeprowadzenie kompleksowego i skutecznego testu penetracyjnego.
Od czego zależy koszt testów penetracyjnych
Koszt testów penetracyjny trudno jednoznacznie określić. Składa się na niego kilka czynników:
- Wielkość testowanej firmy
- Zakres testu i stopień skomplikowania projektu
- Dobór metody
- Reputacja firmy, certyfikacje i doświadczenie zespołu pentesterów
- Wymagania związane ze specyfikacją testowanej organizacji i raportowaniem
- Zgodność z regulacjami prawnymi i wymaganiami branży
- Wsparcie po przeprowadzonym teście
Co więcej, cenę testów penetracyjnych warto określić indywidualnie dla każdej organizacji, uwzględniając ich unikalne potrzeby, rozmiar i złożoność infrastruktury oraz poziom ryzyka związanego z cyberatakami. Bez wątpienia temat testów penetracyjnych warto skonsultować z dostawcami usług cybernetycznych.
Redaktorka Net Complex Blog