Rodzaje testów penetracyjnych i wszystko co musisz o nich wiedzieć

Kategoria:
Rodzaje testów penetracyjnych i wszystko, co musisz o nich wiedzieć

Czym jest test penetracyjny? Jakie są jego rodzaje? W jakich metodykach jest przeprowadzany? W jakich etapach jest przeprowadzany? Na te i wiele więcej pytań znajdziesz odpowiedzi w tym artykule.

Czym jest i co oznacza test penetracyjny?

Test penetracyjny to kontrolowany atak mający na celu sprawdzenie w sposób metodyczny zabezpieczeń danego systemu czy aplikacji. Za pioniera testów penetracyjnych możemy uznać osobę Jamesa P. Andersona. To on w 1972 roku jako pierwszy nakreślił dokument zawierający schemat testów bezpieczeństwa systemu informatycznego. Warto pamiętać, że testy penetracyjne charakteryzują się określonym zakresem prac i okresu ich trwania. Jest to główna różnica między potencjalnym atakiem a testem, Hackerzy zwykle ograniczeni są jedynie poziomem swojej determinacji, nie ograniczają ich budżety oraz czas.

Celem testu penetracyjnego jest znalezienie jak największej liczby uchybień i luk w testowanym obiekcie, podczas gdy celem ataku hackerskiego jest kompromitacja systemu i dalsze przeprowadzenie działań destrukcyjnych przeciwko organizacji lub systemom sąsiadującym z celem ataku. W konsekwencji celem ataku jest osiągniecie np. korzyści majątkowych.

Rodzaje testów penetracyjnych

Z uwagi na perspektywy przeprowadzania testu oraz zakres dostępu do aplikacji możemy wyróżnić 3 rodzaje testów penetracyjnych:

  • testy blackbox
  • testy whitebox
  • testy  greybox

Testy Black Box

Testy penetracyjne Black Box nie wymagają dostępu do kodu źródłowego testowanego obiektu, panelu administracyjnego czy informacji o samej architekturze. Test przeprowadzany jest od początku do końca w perspektywie użytkownika końcowego. Testy Black Box charakteryzują się mniej dokładnym sposobem opisania znalezionych podatności/błędów. Z powodu braku dostępu do kodu źródłowego nie mamy możliwości wskazania dokładnego źródła podatności/błędu.

Testy White Box

Testy penetracyjne White Box, w odróżnieniu od testów Black Box, cechują się pełnym dostępem do kodu źródłowego, architektury oraz dokumentacji. Analiza i poszukiwanie błędów bezpieczeństwa przeprowadzane są na poziomie budowy systemów. Nie koncentrują się na perspektywie użytkownika końcowego.

Testy Grey Box

Testy penetracyjne Grey Box, są częściowo hybrydą testów Black Box i White Box. Audytor posiada jakąś wiedzę na temat badanego obszaru. Nie zawsze musi być to pełny ogląd na testowany obiekt lub komplet dostępów. Warto jednak pamiętać o tym, że im więcej informacji zostanie przekazanych audytorom, tym dokładniejsze będą wyniki testów oraz późniejsze rekomendacje dot. naprawy znalezionych podatności.

Który rodzaj testu penetracyjnego jest dla Ciebie?

Najczęściej wybieranym typem testu jest grey box. Wynika to z jego dokładności i pełniejszych rekomendacji. Testy grey box zazwyczaj umożliwiają znalezienie większej liczby podatności i błędów w stosunku do czasu poświęconego na testy. Wybór rodzaju testów może zostać uzależniony od dojrzałości testowanych aplikacji/systemów, a także od dojrzałości organizacji zlecającej testy. Dla zespołów deweloperskich o mniejszym poziomie doświadczenia w kontekście bezpieczeństwa często zaleca się testy white box ze względu na wgląd w kod aplikacji i możliwość oceny dobrych praktyk przy pisaniu kodu aplikacji.

Metodyki przeprowadzania testów

Wyróżniamy kilka metodyk przeprowadzania testów penetracyjnych, które są pewnego rodzaju przewodnikiem sposobu ich realizacji. Do najpopularniejszych metodyk należą:

  • OWASP MASVS/MSTG Otwarty standard opisujący listę kontrolek bezpieczeństwa dla aplikacji mobilnych, a także sposoby ich weryfikacji i przykłady poprawnej implementacji. Uzależnia również poziom dokładności testów od potrzeb biznesowych i audytowych
  • OWASP ASVS/WSTG Opisuje analogiczne kontrolki co powyższy standard, ale w kontekście aplikacji webowych.
  • PTES Wysokopoziomowy opis kolejnych działań składających się na testy penetracyjne. Dzieli testy na 7 głównych sekcji wykonywanych kolejno.
  • OSSTMM Otwarty standard opisujący testy penetracyjne w podobny sposób co OWASP. Charakteryzuje się mniejszą popularnością w środowisku.
  • PCI DSS Zbiór reguł i norm dotyczących bezpieczeństwa podmiotów przetwarzających dane kart płatniczych i transakcji online. Wydany i utrzymywany przez Payment Card Industry Security Standards Council. Szeroko stosowany w biznesie, niejednokrotnie wymuszany przez podmioty nadzorujące instytucje finansowe np. KNF

Test penetracyjny infrastruktury

Test penetracyjny infrastruktury oznacza pełne sprawdzenie sieci oraz wszystkich jej komponentów pod kątem luk bezpieczeństwa i błędów konfiguracyjnych. W szczególności punkty styku z internetem, bramki VPN, stacje robocze, serwery, udziały sieciowe itd. Infrastruktura chmurowa może wymagać innego podejścia ze względu na specyficzny model zarządzania dostępami i podział na mikro usługi.

Test penetracyjny aplikacji mobilnej

Celem testów penetracyjnych aplikacji mobilnych jest zidentyfikowanie (a docelowo również wyeliminowanie) luk w zabezpieczeniach, które mogą zostać wykorzystane do uzyskania nieautoryzowanego dostępu do aplikacji lub wykorzystywanych przez nią zasobów przez niepożądane jednostki. Często celem ataków na aplikacje mobilne zostają sami użytkownicy telefonów, dlatego istotne jest sprawdzanie aplikacji mobilnych pod kątem bezpieczeństwa. W dzisiejszych czasach smartfon z reguły ma dostęp do wielu zasobów i aktywów użytkownika.

Testy penetracyjne są wykonywane w oparciu o otwarty standard OWASP MSTG

Poczytaj więcej o testach aplikacji mobilnej.

Test penetracyjny aplikacji www

Testy penetracyjne aplikacji www polegają na symulacji realistycznego ataku hackerskiego na aplikację, przeprowadzonego przez doświadczonych specjalistów ds. cyberbezpieczeństwa. W ramach testów próbuje się wykryć jak najwięcej luk i podatności aplikacji. Pozwala to zidentyfikować problemy w zabezpieczeniach oraz ustalenie, które obszary oprogramowania są szczególnie narażone na niepożądany dostęp i manipulację z zewnątrz.

Testy penetracyjne są wykonywane w oparciu o otwarty standard OWASP WSTG.

Poczytaj więcej o testach aplikacji www.

Fazy i czas realizacji testów penetracyjnych

Realizację testów penetracyjnych możemy podzielić na kilkanaście następujących po sobie faz:

  1. Ustalanie zakresu oraz szczegółów testów z klientem. Podpisanie NDA i umowy dot. testów.
  2. Testy penetracyjne, podzielone na następujące kroki:
    • Zbieranie informacji na temat celu ataku w ogólnodostępnych źródłach, jeżeli takie informacje są konieczne do zebrania.
    • Testy konfiguracji serwera, na którym uruchomiona jest aplikacja
    • Testowanie zarządzania tożsamością
    • Testowanie uwierzytelnienia
    • Testowanie autoryzacji
    • Testowanie zarządzania sesją
    • Testowanie walidacji danych wejściowych
    • Testowanie obsługi błędów
    • Testowanie wykorzystywanej kryptografii
    • Testowanie logiki biznesowej
    • Testowanie części klienckiej aplikacji
    • Testowanie API
  3. Stworzenie raportu zawierającego czynności, jakie zostały przeprowadzone, listę podatności wraz z odpowiednim podziałem na skalę ryzyka oraz rekomendacje, w jaki sposób należy je naprawić.
  4. Przesłanie opracowanego raportu, jeżeli zajdzie taka potrzeba to również omówienie raportu z klientem.
  5. Ustalenie czasu na naprawę wykrytych podatności.
  6. Weryfikacja czy wcześniej wykryte podatności zostały naprawione.
  7. Przesłanie raportu końcowego zaktualizowanego o wyniki z retestów.

Co daje wynik testu penetracyjnego?

Wyniki testów penetracyjnych uzyskujemy poprzez weryfikację skuteczności zabezpieczeń systemu i zbadanie wrażliwości systemu na potencjalne ataki. Skutkiem tych działań są rekomendacje dotyczące poprawy bezpieczeństwa systemu, aplikacji lub infrastruktury sieciowej. Wiedza uzyskana w wyniku pentestów pozwala przeanalizować ryzyko związane ze znalezionymi problemami oraz zaplanować ich naprawę. W konsekwencji uniknąć kompromitacji, ujawnienia danych wrażliwych lub zakłócenia działania systemu czy całej organizacji.

Kiedy przeprowadzić testy?

Testy penetracyjne powinny być przeprowadzane cyklicznie. W przypadku aplikacji webowych/mobilnych warto przeprowadzać testy przy wydawaniu nowej wersji lub przynajmniej raz do roku. W przypadku infrastruktury testy powinny być przeprowadzane przy poważniejszych zmianach lub co najmniej raz do roku.

Ile kosztują testy penetracyjne?

Wybierz przedmiot testów, odpowiedź na podstawowe pytania i odbierz naszą wycenę usługi.

Jak sprawdzić kompetencje pentestera?

Podstawowym sposobem weryfikacji umiejętności pentestera jest posiadanie fachowego certyfikatu jak OSCP, OSWP, CEH. Korzystając z usług pentestera, bez jednego z tych certyfikatów, ponosisz odpowiedzialność za ryzyko podjęcia takiej współpracy.

Bądź pierwszy i oceń tą stonę