Menu

Region US

Grandmetric LLC
Brookfield Place Office
200 Vesey Street
New York, NY 10281
EIN: 98-1615498
Phone: +1 302 691 9410
info@grandmetric.com

Region EMEA

GRANDMETRIC Sp. z o.o.
ul. Metalowa 5, 60-118 Poznań, Poland
NIP 7792433527
+48 61 271 04 43
info@grandmetric.com

Testy penetracyjne, czyli jak zadbać o cyberbezpieczeństwo

Testy penetracyjne, czyli jak zadbać o cyberbezpieczeństwo



31.03.2022

Spektakularne napady na bank z bronią w ręku i pończochą na twarzy odeszły już do historii. Współcześni przestępcy poruszając się w cyberprzestrzeni korzystają ze znacznie bardziej wyrafinowanych sposobów na osiągnięcie zysku. Jeśli nie postawimy na regularne testy penetracyjne i nie zadbamy o odpowiednie zabezpieczenie strony internetowej czy brzegu sieci, możemy boleśnie przekonać się o skutkach cyberataków na własnej skórze.

Jak zabezpieczyć się przed hakerami? Nie dać im się wyprzedzić i… zatrudnić jednego z nich. Chodzi oczywiście o etycznego hakera (white hat hacker), który zajmuje się testowaniem podatności systemów na zagrożenia wykorzystując w tym celu testy penetracyjne.

Usługa testów penetracyjnych w Grandmetric

Testy penetracyjne – czym są?

Test penetracyjny (pentest) to etyczny atak hakerski przeprowadzany w sposób kontrolowany, na zlecenie właściciela infrastruktury teleinformatycznej, sieci czy aplikacji.

Służy do wykrycia błędów zagrażających bezpieczeństwu badanego systemu. Przyczyny błędów bezpieczeństwa to najczęściej:

  • nieaktualne oprogramowanie lub jego komponenty
  • niewłaściwa konfiguracja
  • luki w oprogramowaniu lub sprzęcie
  • niewystarczające procedury bezpieczeństwa
  • niedociągnięcia techniczne
  • nieostrożność użytkowników

Pentester wciela się w tej sytuacji w hakera, działa jednak „w białych rękawiczkach”. Jego zadaniem jest odkrycie luk systemu i wskazanie miejsc wrażliwych na potencjalny atak.

Jak przeprowadza się testy penetracyjne?

Pentesty powinny być przeprowadzane w sposób systematyczny i mogą mieć różny zakres, najczęściej też stanowią część audytu systemów i infrastruktury IT. Ich głównym celem jest zbadanie, na ile dana sieć jest odporna na włamanie i jaka jest skuteczność zastosowanych zabezpieczeń. Niezbędną częścią każdego testu jest raport, który opisuje zidentyfikowane problemy. Zawsze powinien zawierać też rekomendacje, mające na celu ich skuteczne wyeliminowanie.

Podatność systemu na zagrożenia określa się w skali 1-10 przy użyciu standardów CVSS (The Common Vulnerability Scoring System).

Pentesty – rodzaje

Pentesty różnią się między sobą poziomem wiedzy na temat badanego systemu, jaka jest udostępniana pentesterom przez klienta. Wyróżniamy:

  • testy white box lub crystal box z pełną wiedzą pentesterów, mających do dyspozycji dokumentację projektu infrastruktury, informacje dotyczące konfiguracji urządzeń w sieci czy kod źródłowy strony. Pentesty typu white box służą do analizowania błędów na poziomie budowy systemu pomijając perspektywę użytkownika końcowego
  • testy black box z minimalną wiedzą pentesterów – najlepiej odzwierciedlają rzeczywisty cyberatak i wymagają dużego nakładu pracy ze strony testerów, których wiedza może ograniczać się tylko do adresu strony, której zabezpieczenia testują. Pentesty typu black box służą do analizowania błędów na poziomie tego, jak system działa. Umożliwiają zidentyfikowanie błędów behawioralnych trudnych do wykrycia przez deweloperów, przy kreatywnym podejściu daje szerokie pole do działania
  • testy gray box, stanowiące hybrydę obu wyżej wymienionych metod; w ich przypadku wiedza pentesterów dotyczy tylko jakiejś części badanego obszaru. Pentesty typu gray box umożliwiają kompleksową analizę błędów zarówno na poziomie budowy, jak i funkcjonowania systemu, jak również użytkowników końcowych na podstawie danych autoryzujących od klienta

White box, black box i gray box – porównanie testów penetracyjnych

White boxBlack boxGray box
Testowanie strukturalneTestowanie funkcjonalneTestowanie strukturalne i funkcjonalne
Wiedza na temat wewnętrznej struktury systemuBrak wiedzy na temat wewnętrznej struktury systemuCzęściowa wiedza na temat wewnętrznej struktury systemu
Wiedza na temat funkcjonalności systemuBrak wiedzy na temat funkcjonalności systemuCzęściowa wiedza na temat funkcjonalności systemu
Skupiony na analizowaniu kodu źródłowegoAnalizuje zewnętrzne cechy i działanie systemuAnalizuje zarówno kod źródłowy, jak i działanie systemu
Wymaga wiedzy programistycznej i dogłębnej znajomości kodu odpowiadającego za testowany obszarMogą przeprowadzać go testerzy z niewielką wiedzą dotyczącą programowania, co pozwala im zbliżyć się do perspektywy „zwykłego użytkownika”Wymaga wiedzy dotyczącej programowania i znajomości języka kodu źródłowego
Wysoki poziom automatyzacji umożliwia szybkie testowanie dużych części koduTestowanie częściowo zautomatyzowane i/lub manualne, może być czasochłonneTestowanie jest czasochłonne ze względu na kompleksowość
Identyfikuje błędy „od środka” na poziomie logiki kodu, pomijając perspektywę użytkownika końcowegoUmożliwia zidentyfikowanie błędów behawioralnych trudnych do wykrycia przez deweloperów, przy kreatywnym podejściu daje szerokie pole do działaniaPozwala na wykrycie zarówno błędów strukturalnych (na poziomie kodu), jak i funkcjonalnych (na poziomie użytkowania)
Średni poziom szczegółowości, średnio kompleksowe podejścieNiski poziom szczegółowości, mało kompleksowe podejścieWysoki poziom szczegółowości, najbardziej kompleksowe podejście
Podstawowe różnice między rodzajami testów

O metodykach testów penetracyjnych

Metodyki testów penetracyjnych stanowią rodzaj przewodników (szczególnie wartościowych dla początkujących pentesterów) opisujących, jakich procedur należy przestrzegać i jakie czynności wykonać.

Różne metodyki (frameworki) są użyteczne w zależności od obszaru, który chcemy testować, m.in:

Nie znajdziemy w nich jednak technicznych szczegółów czy algorytmów testowania. To właśnie dlatego kluczowy wpływ na sukces pentestu ma doświadczenie, kreatywność, wytrwałość i wiedza pentestera, który go przeprowadza. Jego rola wymaga szerokiego zakresu kompetencji nie tylko technicznych, ale też komunikacyjnych czy z zakresu zarządzania.

Jak sprawdzić kompetencje pentestera?

Techniczne kompetencje pentesterów potwierdzają certyfikaty, takie jak np.:

  • OSCP (Offensive Security Certified Professional) – potwierdza ogólne techniczne kompetencje do przeprowadzania testów penetracyjnych
  • OSWP (Offensive Security Wireless Professional) – potwierdza techniczne kompetencje dotyczące testowania sieci bezprzewodowych
  • eWPT (eLearnSecurity Web application Penetration Tester) – potwierdza techniczne kompetencje z zakresu pentestów aplikacji webowych
  • CEH (Certified Ethical Hacker) – potwierdza kompetencje w zakresie testowania systemów przy użyciu tej samej wiedzy i narzędzi, co złośliwy haker, lecz w sposób zgodny z prawem

Testy penetracyjne – FAQ

Jakie są fazy testu penetracyjnego?

  1. Rekonesans – kluczowy etap, polegający na zebraniu jak największej ilości danych niezbędnych do przeprowadzenia testu
  2. Skanowanie – sprawdzanie istniejących mechanizmów zabezpieczeń
  3. Eksploatacja – próba złamania zabezpieczeń systemu, czyli usługi bądź aplikacji
  4. Eskalacja – rozszerzenie uprawnień i dalsze kroki w sieci lub systemie
  5. Raport – zawiera szczegółowy opis metod zastosowanych w symulacji cyberataku, wykrytych błędów i podatności oraz rekomendacje działań, które mają na celu ich eliminację

Jakie korzyści wynikają z wykonania testów penetracyjnych?

  • Weryfikacja skuteczności zabezpieczeń systemu
  • Zbadanie podatności systemu na potencjalny cyberatak
  • Uzyskanie rekomendacji dotyczących poprawy bezpieczeństwa systemu
  • Uniknięcie ogromnych kosztów związanych z zakłóceniem działania systemu w przedsiębiorstwie

Jak często należy przeprowadzać pentesty?

Najlepszym sposobem dbania o cyberbezpieczeństwo jest przeprowadzanie testów penetracyjnych cyklicznie, przynajmniej raz do roku, a także w przypadku wprowadzania zmian w systemach. Po fazie pentestów warto również wykonać re-test, czyli weryfikację wprowadzonych zmian (sprawdzenie, czy zostały poprawnie zaimplementowane i nie doprowadziły do powstania nowych luk bezpieczeństwa).

Jak długo trwa test penetracyjny?

Pentest, w zależności od rodzaju, wielkości i poziomu skomplikowania badanej struktury może trwać od kilku dni do kilku tygodni.

Podsumowanie

Jak szacuje Steve Morgan, redaktor naczelny Cybercrime Magazine, w 2025 r. globalne cyberprzestępstwa będą wymagały naprawy strat rzędu 10,5 tryliona dolarów (!).

Na te rosnące z roku na rok koszty składa się wiele czynników – utrata bądź zniszczenie danych, zaburzenie działania przedsiębiorstw, kradzież pieniędzy czy własności intelektualnej, przeprowadzanie śledztw kryminalnych, przywracanie lub usuwanie naruszonych danych i systemów, a także utrata zaufania klientów.

Według Patryka Bogdana, Security Officera Grandmetric z ponad 10-letnim doświadczeniem w testach penetracyjnych, najbardziej powszechne błędy to te, których łatwo można uniknąć, dbając o aktualizację oprogramowania i właściwe zabezpieczenie sieci.

Wszystko wskazuje na to, że zdecydowanie najbardziej opłaca się profilaktyka. A jeśli chcemy zadbać o nasze cyberbezpieczeństwo, lepiej jest zapobiegać, niż leczyć.

Autor

Magdalena Sikorska

Marketing Specialist w Grandmetric

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Sign up to our newsletter!


Grandmetric