Test penetracyjny – proces polegający na przeprowadzeniu kontrolowanego ataku na system teleinformatyczny, mający na celu praktyczną ocenę bieżącego stanu bezpieczeństwa tego systemu, w szczególności obecności znanych podatności i odporności na próby przełamania zabezpieczeń. Polega na analizie systemu pod kątem występowania potencjalnych błędów bezpieczeństwa spowodowanych niewłaściwą konfiguracją, lukami w oprogramowaniu lub sprzęcie, słabościami w technicznych lub proceduralnych środkach zabezpieczeń, a nawet niewystarczającą świadomością użytkowników. Analiza ta jest przeprowadzana z perspektywy potencjalnego włamywacza i może zawierać aktywne wykorzystywanie podatności (np. poprzez użycie exploitów). Podstawową cechą odróżniającą test penetracyjny od włamania jest zgoda atakowanej strony na tego rodzaju działania, ponadto osoba przeprowadzająca test (zwana pentesterem) jest zobowiązana do przedstawienia raportu dokumentującego znalezione problemy (często wraz ze sposobami ich usunięcia i rekomendacjami podnoszącymi bezpieczeństwo testowanego systemu). Test penetracyjny ma na celu zbadanie bezpieczeństwa systemu na włamanie oraz skuteczność zabezpieczeń w implementacji rzeczywistej lub możliwie najbardziej zbliżonej do rzeczywistej.

Testy penetracyjne wykonuje się zgodnie z metodykami, w przypadku aplikacji webowych OWASP, a w przypadku infrastruktury sieciowej PTES. Skuteczność testu penetracyjnego w dużym stopniu zależy od doświadczenia zawodowego i kompetencji członków zespołu testującego.[1]

Fazy testu penetracyjnego

edytuj
  • rekonesans – pierwsza faza testu penetracyjnego, która stanowi główną część ataku. Polega na zgromadzeniu dużej ilości informacji. Celem pierwszej fazy jest zwiększenie prawdopodobieństwa natrafienia na informacje, które następnie ułatwią wybór metody ataku.
  • skanowanie – druga faza testu polegająca na zidentyfikowaniu specyfikacji poszczególnych elementów.
  • eksploitacja – trzecia faza testu penetracyjnego to próba uzyskania nieautoryzowanego dostępu do systemu.[2]
  • zacieranie śladów Po przeprowadzeniu testów, testerzy starają się zminimalizować ślady swojego działania, aby system pozostał w stanie podobnym do tego, w jakim znajdował się przed atakiem. To element testów, który pozwala sprawdzić skuteczność systemu w wykrywaniu i reagowaniu na ataki.
  • Przygotowanie raportu Ostatnim etapem jest przygotowanie szczegółowego raportu, który zawiera wykryte luki bezpieczeństwa, zagrożenia oraz rekomendacje dotyczące sposobów ich eliminacji. Raport jest przekazywany zespołowi ds. bezpieczeństwa klienta, który następnie podejmuje kroki w celu usunięcia zagrożeń.[3]

Metodyki testów penetracyjnych

edytuj

Istniejące metodyki prowadzenia testów penetracyjnych opisują niezbędne czynności, zabezpieczenia prawne oraz procedury, których powinien przestrzegać zespół testujący, nie zawierają jednak szczegółów na temat konkretnych testów technicznych (algorytmu) jakie należy wykonać:

Rodzaje testów penetracyjnych

edytuj

Test penetracyjny może być prowadzony przy różnym poziomie wiedzy zespołu testującego, z dwiema skrajnymi wartościami:

  • Test penetracyjny z minimalną wiedzą (black box) – w największym stopniu stara się odzwierciedlić rzeczywistą wiedzę potencjalnego włamywacza, w związku z czym zespół testujący otrzymuje np. wyłącznie adres serwisu i nic ponadto. Wadą tej metody jest możliwość poświęcenia przez zespół nieproporcjonalnie dużych ilości czasu na działania bezproduktywne, np. próbę złamania hasła na wejściu do serwisu w sytuacji, gdy autentyczny włamywacz mógłby tę wiedzę zdobyć innymi metodami (np. za pomocą phishingu lub metod wiążących się ze złamaniem prawa)
  • Testy penetracyjne grey box będące kompromisem pomiędzy black box i white box, zawierające elementy obu podejść np. jedynie konta użytkowników o różnych rolach.
  • Test penetracyjny z pełną wiedzą (white box lub crystal box) – zespół testujący ma pełny dostęp do dokumentacji projektowej, kodu źródłowego, konfiguracji urządzeń sieciowych itd. W przypadku opierania się wyłącznie na tej wiedzy można mówić o „przeglądzie kodu” lub „przeglądzie konfiguracji”. Wadą takiego podejścia jest możliwość pominięcia rozbieżności pomiędzy stanem udokumentowanym a stanem faktycznym.

Audyt bezpieczeństwa teleinformatycznego nie jest tym samym co test penetracyjny. Audyt opiera się na formalnej specyfikacji stanu pożądanego (normie, akcie prawnym) i prowadzi do jednoznacznego określenia stopnia zgodności audytowanego obiektu ze specyfikacją. Test penetracyjny służy do określenia faktycznego stanu bezpieczeństwa danego obiektu i nie musi być oparty na jakiejś szczególnej specyfikacji[4].

Certyfikaty

edytuj

Na rynku dostępne są uznane certyfikaty poświadczające techniczne kompetencje pentesterów, takie jak np.:

  • OSCP (Offensive Security Certified Professional) – Penetration Testing with Kali (PWK), poświadczający ogólne techniczne kompetencje z zakresu testów penetracyjnych.
  • OSWP (Offensive Security Wireless Professional) – poświadczający techniczne kompetencje z zakresu testów penetracyjnych sieci bezprzewodowych.
  • eWPT (eLearnSecurity Web application Penetration Tester) – poświadczający techniczne kompetencje z zakresu testów penetracyjnych aplikacji webowych.

Zobacz też

edytuj

Przypisy

edytuj
  1. Audyt bezpieczeństwa infrastruktury IT [online], TechPolska.pl, 26 lipca 2021 [dostęp 2022-04-30] (pol.).
  2. Audyt bezpieczeństwa aplikacji – testy penetracyjne [online], sebitu.pl [dostęp 2022-04-30] (pol.).
  3. Co To Testy Penetracyjne? Rodzaje Pentestów - VIPentest [online], 26 listopada 2024 [dostęp 2024-11-26] (pol.).
  4. Krzysztof Liderman: Czy „audyt bezpieczeństwa teleinformatycznego” jest tym samym co „audyt informatyczny”?. 2004.

Linki zewnętrzne

edytuj