4 kroki do przeprowadzenia skutecznego testu penetracyjnego sieci

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Testy penetracyjne sieci mają kluczowe znaczenie we współczesnej architekturze bezpieczeństwa informacji. Wykonaj te 4 główne kroki, aby przeprowadzić skuteczny test penetracyjny.

Testy penetracyjne sieci są istotną częścią współczesnej architektury bezpieczeństwa informacji. Ich znaczenie wzrosło wraz z rosnącym na przestrzeni lat zaawansowaniem naruszeń danych, co podkreśla potrzebę wzmacniania systemów bezpieczeństwa informacji. National Vulnerability Database (NVD) amerykańskiego National Institute of Standards and Technology (NIST) odnotowała łącznie 180 532 podatności w samym 2020 roku.  

Testy penetracyjne pomagają ujawnić te luki w systemie. Ten test bezpieczeństwa jest przeprowadzany przez hakerów z dobrymi intencjami, znanych jako etyczni hakerzy. To określenie jest konieczne, ponieważ hakerstwo miało niegdyś negatywne, kontrkulturowe konotacje. Dorastając jako podatne na wpływy dziecko, zainteresowałem się branżą IT między innymi z powodu uroku zbuntowanego hakera przedstawianego w filmach i telewizji.

Jednym z moich ulubionych filmów jest „Złap mnie, jeśli potrafisz”, głównie dlatego, że przedstawiał prawdziwe wyczyny utalentowanego fałszerza Franka Abagnale’a Jr., który podobno do 17. roku życia stał się najbardziej skutecznym rabusiem banków w historii.

Co ważniejsze, film podkreśla znaczenie i przedstawia wnioski płynące z różnych koncepcji testów penetracyjnych. 

Testy penetracyjne: aby złapać złodzieja, trzeba myśleć jak złodziej

Technicznie rzecz biorąc, Frank nie był hakerem, ale jego geniusz w odkrywaniu i wykorzystywaniu luk w systemie przypomina podejście stosowane zarówno przez etycznych, jak i złośliwych hakerów. 

Co więcej, pojedynek na spryt między Frankiem a agentem FBI, który go ścigał, Carlem Hanrattym,  odzwierciedla grę w kotka i myszkę między złośliwymi podmiotami a specjalistami ds. cyberbezpieczeństwa odpowiedzialnymi za ochronę naszych cyfrowych twierdz. 

Testy penetracyjne symulują proces i metody, których haker używa lub użyłby do złamania zabezpieczeń systemu. Podobnie jak agent Hanratty, etyczni hakerzy muszą przewidywać działania złoczyńców i myśleć według tych samych nieuczciwych schematów. 

Choć etyczni hakerzy odgrywają kluczową rolę w testach penetracyjnych sieci, równie ważne są narzędzia, których używają. Jeśli korzystasz z Jira do zarządzania projektami, nasz przewodnik po narzędziach do zarządzania testami dla Jira może okazać się pomocny w usprawnieniu działań związanych z etycznym hakowaniem.

Testy penetracyjne: najlepszym atakiem zawsze jest silna obrona

Frank ostatecznie odkupił swoje winy, stając się szanowanym autorytetem w dziedzinie cyberprzestępczości, oszustw, fałszerstw i bezpiecznych dokumentów. Wykorzystał swoje pierwotne zainteresowanie przestępczością, aby pomagać bankom w identyfikowaniu luk w ich systemach.

Testy penetracyjne sieci mają ten sam cel: eliminowanie luk w zabezpieczeniach, aby pomóc organizacjom chronić poufne dane. Dlatego etyczni hakerzy i etyczne hakowanie odgrywają kluczową rolę we współczesnym krajobrazie cyberbezpieczeństwa.

Jednak osoby chroniące informacje w naszej epoce cyfrowej muszą działać w środowisku, w którym równowaga sił już z góry przemawia na ich niekorzyść.

„Aby chronić powierzoną im infrastrukturę IT, eksperci ds. cyberbezpieczeństwa muszą mieć rację za każdym razem. Haker natomiast musi mieć rację tylko raz.”

Trudność związana z grą w obronie jest dodatkowo potęgowana przez brak specjalistów IT posiadających odpowiednią wiedzę i doświadczenie. Według Forbes w samych Stanach Zjednoczonych jest 465 000 nieobsadzonych stanowisk związanych z cyberbezpieczeństwem.

Testy penetracyjne sieci są przynajmniej krokiem we właściwym kierunku. 

W tym artykule omówimy następujące tematy:

Czym jest test penetracyjny sieci?

Test penetracyjny sieci (nazywany również testem pen) ma na celu identyfikację luk w systemie oprogramowania poprzez symulację cyberataku. Taki symulowany atak sprawdza również odporność organizacji na zagrożenia związane z bezpieczeństwem informacji, oceniając jej zdolność do wytrzymania naruszenia lub przejęcia systemu.

Aby to osiągnąć, hakerzy w białych kapeluszach, czyli etyczni hakerzy, celowo stosują metody i techniki wykorzystywane przez złośliwe podmioty. W tym przypadku robią to jednak w celu wykrycia, a następnie naprawienia słabych punktów lub luk w profilu bezpieczeństwa systemu.

Chociaż celem jest naruszenie systemu, etyczni hakerzy muszą mieć zgodny z prawem i autoryzowany dostęp. Dlatego tester penetracyjny musi posiadać udokumentowany mandat lub upoważnienie organizacji zezwalające na przeprowadzenie etycznych działań hakerskich. 

Ostatecznie wyniki pozwalają specjalistom ds. sieci i cyberbezpieczeństwa przedstawić zalecenia, które poprawią bezpieczeństwo sieci i całej organizacji w obliczu przyszłych ataków.

Oprócz ocen bezpieczeństwa na poziomie sieci, testy penetracyjne obejmują również testy na poziomie aplikacji, a także wektory zdalnego dostępu, takie jak połączenia VPN. 

Test penetracyjny ma zazwyczaj dwa główne cele:

  1. Ustalenie, czy złośliwi hakerzy mogą uzyskać nieautoryzowany dostęp do systemu, w jaki sposób mogą obejść jego zabezpieczenia, aby osiągnąć ten cel, oraz jaki będzie wpływ tych działań na dzienniki systemowe, pliki, dane klientów i/lub własność intelektualną.
  2. Ustalenie, czy środki i mechanizmy kontroli bezpieczeństwa, takie jak zarządzanie podatnościami, zostały wdrożone w celu wzmocnienia bezpieczeństwa infrastruktury IT. 

Test penetracyjny to doskonały sposób na poznanie i zrozumienie profilu ryzyka firmy. Pozwala organizacji ustalić, czy jej zasoby cyfrowe mogą zostać naruszone, a jeśli tak, później sklasyfikować ryzyko stwarzane przez te zagrożenia dla jej ogólnego cyberbezpieczeństwa. 

Oto niektóre z dodatkowych korzyści wynikających z przeprowadzenia testu penetracyjnego:

  • Zapobieganie występowaniu naruszeń bezpieczeństwa sieci i danych
  • Zrozumienie i ustalenie wzorca bazowego sieci
  • Testowanie mechanizmów kontroli i komponentów bezpieczeństwa
  • Ochrona bezpieczeństwa systemu i sieci
Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Rodzaje testów penetracyjnych sieci

Istnieje kilka sposobów na podejście do testów penetracyjnych. Jeśli chodzi o testowanie ogólnej infrastruktury bezpieczeństwa organizacji, można je przeprowadzić z dwóch perspektyw, a mianowicie za pomocą metod wewnętrznych lub zewnętrznych. 

  1. Wewnętrzne testy penetracyjne sieci: Ten test pomaga ocenić szkody, jakie mogą wyrządzić atakujący po początkowym uzyskaniu dostępu do sieci. Celem testów wewnętrznych jest zarówno odzwierciedlenie zagrożeń ze strony osób mających dostęp od wewnątrz obwodu korporacyjnego, jak i określenie zakresu złośliwych lub przypadkowych działań prowadzących do naruszenia zasobów informacyjnych.
  2. Zewnętrzne testy penetracyjne sieci: Testy te sprawdzają skuteczność zabezpieczeń obwodowych sieci. Oceniają zdolność zewnętrznych mechanizmów kontroli bezpieczeństwa zarówno do wykrywania, jak i zapobiegania atakom. 

Inny sposób kategoryzowania testów penetracyjnych opiera się na zakresie przekazanych informacji i poziomie wiedzy dostępnej testerowi. 

  • Testy w białej skrzynce: Jest to najbardziej szczegółowe podejście do testowania, ponieważ umożliwia testerom weryfikację i analizę wewnętrznego działania systemu. Dlatego hakerzy przeprowadzający testy w białej skrzynce otrzymują możliwie pełną wiedzę o systemie.   
  • Testy w czarnej skrzynce: W tym przypadku etyczny haker rozpoczyna pracę z minimalnym poziomem wiedzy. Ten rodzaj testu służy do symulowania ataków siłowych, ponieważ haker nie zna złożoności wewnętrznego działania atakowanej infrastruktury.
  • Testy w szarej skrzynce: Jest to kompromis pomiędzy dwoma pozostałymi skrajnymi podejściami do testowania. Zespół testowy otrzymuje więc częściową wiedzę o systemie. 

Testy penetracyjne można również sklasyfikować na podstawie ich komponentów i wektorów ataku.

  • Inżynieria społeczna: Jest ukierunkowana na ludzi, dlatego stanowi jedno z najsłabszych ogniw cyberbezpieczeństwa firmy. Najczęściej jest przeprowadzana za pomocą phishingu e-mailowego. 
  • Testowanie infrastruktury sieciowej: Ten test bada sieć pod kątem luk i podatności, które mogą zostać wykorzystane za pośrednictwem wewnętrznych i zewnętrznych punktów dostępu. Zwykle obejmuje takie obszary sieci jak testowanie omijania zapór sieciowych, oszukiwanie systemów IPS oraz ataki na poziomie DNS.
  • Testowanie sieci bezprzewodowych: Ten test wykorzystuje niezabezpieczone sieci bezprzewodowe, ujawniając podatności i oceniając potencjalne szkody, które mogą zostać wyrządzone. 
  • Testowanie bezpieczeństwa aplikacji internetowych: Ten rodzaj testu koncentruje się na lukach w logice aplikacji i zarządzaniu sesjami w celu przeprowadzenia ataków takich jak wstrzyknięcie SQL.

Kto zazwyczaj odpowiada za przeprowadzenie testu penetracyjnego?

Testy penetracyjne są przeprowadzane przez etycznych hakerów, którzy otrzymali upoważnienie do przeprowadzania symulowanych ataków na aplikację internetową lub bezpieczeństwo sieci organizacji. Zgoda prawna jest niezbędna, ponieważ testy penetracyjne często przeprowadzają podmioty zewnętrzne oferujące usługi testów penetracyjnych.

Testerzy penetracyjni, którzy próbują włamać się do systemu, należą do tak zwanego czerwonego zespołu. Osoby działające w czerwonym zespole to specjaliści ds. bezpieczeństwa ofensywnego odpowiedzialni za testowanie zabezpieczeń organizacji. Czerwony zespół identyfikuje ścieżki ataku, które można wykorzystać do naruszenia bezpieczeństwa organizacji i ujawnienia jej podatności, stosując techniki ataków z rzeczywistego świata.

Z kolei niebieski zespół tworzą specjaliści ds. cyberbezpieczeństwa zajmujący się mechanizmami obrony bezpieczeństwa. W praktyce bronią się przed czerwonym zespołem i utrzymują wewnętrzne zabezpieczenia przed zagrożeniami związanymi z cyberatakami. 

4-etapowy przewodnik przeprowadzania skutecznego testu penetracyjnego

Jako ćwiczenie o charakterze systematycznym test penetracyjny wymaga zastosowania ustandaryzowanych metodyk i struktur, aby można go było przeprowadzić skutecznie. Testy penetracyjne zazwyczaj opierają się na sprawdzonych metodach służących do wykrywania rzeczywistych lub potencjalnych podatności w systemie aplikacji.

Przeprowadzenie udanego testu penetracyjnego sieci zazwyczaj obejmuje cztery główne etapy. 

Etap 1: Gromadzenie informacji i określenie zakresu

Faza gromadzenia informacji zwykle odbywa się na początku procesu testowania bezpieczeństwa. Może jednak być również iteracyjnym i samowzmacniającym się procesem, zachodzącym przez cały czas trwania testu penetracyjnego sieci, ponieważ udane włamania dostarczają coraz więcej informacji o celu. 

Na tym etapie specjaliści ds. bezpieczeństwa i eksperci ds. testów współpracują z organizacją w celu zidentyfikowania i zinwentaryzowania wszystkich zasobów sieciowych, takich jak zapory sieciowe i inne urządzenia.  

Proces gromadzenia informacji obejmuje określenie zakresu i doprecyzowanie oczekiwań klienta.

Zakres testów penetracyjnych

Aby testy penetracyjne były skuteczne, muszą być zdyscyplinowanym i ukierunkowanym działaniem. Wynika to z faktu, że zbadanie całego obwodu infrastruktury IT może być niepraktyczne lub nieopłacalne. W rezultacie ważną częścią etapu gromadzenia informacji jest określenie zakresu testu penetracyjnego. 

Określenie zakresu to podsumowanie wszystkich granic i obszarów zaangażowania, które zespół ds. bezpieczeństwa zbada podczas procesu testowania. Zakres testu określa więc poziom ingerencji, a określanie zakresu polega na wyznaczeniu granic zaangażowania w ramach testu penetracyjnego.

Ze względu na ograniczenia czasowe i inne praktyczne przyczyny niektóre obszary systemu, takie jak podłączone urządzenia, mogą zostać wyłączone z testowania. 

Etap 2: Rozpoznanie i wykrywanie

Aby zrozumieć, jak naprawić luki wynikające z podatności, etyczni hakerzy muszą przeprowadzić szczegółowe rozpoznanie. Jest to szczególnie konieczne w przypadku testów penetracyjnych typu czarna skrzynka, podczas których etyczny haker musi samodzielnie znaleźć informacje potrzebne do wykorzystania podatności. 

Rozpoznanie i wykrywanie to mechanizmy eksploracyjne wykorzystywane do oceny ogólnej infrastruktury bezpieczeństwa organizacji. Ta faza pozwala ekspertom ds. bezpieczeństwa potajemnie rozpoznać zasoby i poziom bezpieczeństwa celu.

Narzędzia aktywnego rozpoznania

Zrzut ekranu narzędzi aktywnego rozpoznania
SolarWinds IP Address Manager (IPAM).

Aktywne rozpoznanie polega na bezpośrednim sondowaniu systemu docelowego i nawiązywaniu z nim interakcji w celu uzyskania użytecznej odpowiedzi.

Aby pomyślnie przeprowadzić test penetracyjny sieci, kluczowe jest zrozumienie najważniejszych technik i narzędzi do testów penetracyjnych dla przedsiębiorstw potrzebnych do przeprowadzenia takiego rozpoznania. Oto niektóre z narzędzi używanych do wykonywania testów penetracyjnych:

  • Skanowanie portów: To popularna metoda rozpoznania wykorzystywana do określania otwartych portów w systemie. Skanowanie portów umożliwia testerowi penetracyjnemu określenie poziomu bezpieczeństwa sieci oraz usług działających na komputerze. To narzędzie ujawnia, które porty są otwarte i odbierają informacje (nasłuchują), a także ułatwia identyfikację. Identyfikacja sieci pozwala użytkownikowi wykryć urządzenia zabezpieczające, takie jak zapory sieciowe, znajdujące się między nadawcą a celem. Skanowanie portów w trybie ukrytym, które może pozostać niewykryte w plikach dziennika systemu, jest szczególnie interesujące dla hakerów.
  • Węszenie pakietów: Narzędzia te umożliwiają wykrywanie i obserwowanie pakietów danych przepływających przez sieć. Narzędzia do węszenia pakietów są również znane jako analizatory pakietów lub protokołów sieciowych. Administratorzy sieci używają tych narzędzi do monitorowania swoich sieci w celu wykrywania sfałszowanych pakietów, nieprzypisanych adresów IP oraz podejrzanego generowania pakietów z jednego adresu IP. Hakerzy wykorzystują je jednak do wyszukiwania podatnych usług sieciowych, takich jak porty i protokoły, oraz do przeprowadzania ataków typu człowiek pośrodku.
  • Skanowanie za pomocą pingów: Skanowanie za pomocą pingów służy do ustalenia zakresu adresów IP odpowiadających aktywnym hostom. Ta technika skanowania sieci może jednocześnie wysyłać polecenia ping do wielu adresów sieciowych. Haker używa tej sondy sieciowej do wysyłania zestawu pakietów ICMP ECHO do serwerów, aby sprawdzić, które z nich odpowiadają. Umożliwia mu to ustalenie, które z nich są aktywne.
  • Skanowanie podatności: Obejmuje ono narzędzia używane do identyfikowania problemów z konfiguracją oraz innych znanych podatności w sieciach i hostach sieciowych, takich jak obecność złośliwego oprogramowania. Należy jednak zrozumieć różnice między testami penetracyjnymi a skanowaniem podatności.
    • Przykłady obejmują Nessus, Acunetix, Nexpose i wiele innych.
  • Testowanie bezpieczeństwa aplikacji internetowych: Narzędzia te są nieocenione podczas testowania bezpieczeństwa aplikacji internetowych na każdym etapie oraz wykrywania słabych punktów w ich konfiguracji. Metody takie jak analiza statyczna i dynamiczna służą do wykrywania podatności w kodzie oprogramowania aplikacji.
    • Zintegrowane platformy, takie jak Burp Suite, łączą kilka aplikacji do testowania i zabezpieczania aplikacji internetowych, oferując narzędzia takie jak zaawansowane skanery aplikacji internetowych, serwer proxy przechwytujący, narzędzie intruza oraz narzędzie sekwencera. 
  • Inżynieria społeczna i zapytania o informacje w Internecie: Ataki socjotechniczne są przede wszystkim wykorzystywane do potajemnego uzyskiwania dostępu do systemów informacyjnych poprzez nakłanianie użytkowników do podania danych logowania. 

Wykrywanie jest logiczną konsekwencją udanego rozpoznania. Gdy wykryjesz i zidentyfikujesz drogę do naruszenia sieci, przystępujesz do działania w celu wykorzystania tych zagrożeń bezpieczeństwa. 

More Articles

Krok 3: Wykorzystanie, wykonanie i eskalacja

Kolejnym etapem testów penetracyjnych jest faktyczne wykorzystanie słabych punktów wykrytych w systemach bezpieczeństwa informacji podczas rozpoznania. Celem tej fazy jest sprawdzenie, jak daleko etyczny haker może uzyskać dostęp do systemu bez wykrycia. 

Te symulowane ataki odbywają się w kontrolowanym środowisku, w którym tester wybiera albo najłatwiejszy wektor ataku, albo najbardziej krytyczny sposób wykorzystania podatności na podstawie informacji zebranych podczas rozpoznania. Niektóre z tych ataków obejmują wstrzyknięcia SQL, skrypty międzywitrynowe, przepełnienie bufora, eskalację uprawnień i wiele innych.

Najczęściej używanym na tym etapie środowiskiem do konfigurowania celu ataku i ładunku, który ma zostać wykorzystany, jest Metasploit. 

Gdy atakujący uzyska przyczółek w systemie, może zmienić punkt wejścia i przemieszczać się coraz głębiej, aby przejąć inne zasoby, takie jak podatne komputery z systemem Linux lub Windows. 

Krok 4: Raportowanie i usuwanie podatności

results from solarwinds IP address scanning screenshot
Wyniki skanowania adresów IP za pomocą SolarWinds.

Po zakończeniu testu penetracyjnego tester lub testerzy powinni sporządzić dla organizacji raport z wyników. Raport powinien zawierać szczegółowe informacje na temat procesu, wykrytych luk w zabezpieczeniach, zebranych dowodów oraz zaleceń dotyczących usunięcia problemów.

Usuwanie problemów obejmuje ważny proces zamykania luk w zabezpieczeniach ujawnionych podczas testowania. Powinno to skłonić do szczegółowej dyskusji na temat najskuteczniejszych sposobów usunięcia problemów, które najlepiej ograniczą ryzyko związane z każdą wykrytą luką w zabezpieczeniach.

Usuwanie problemów może obejmować szeroki zakres działań, takich jak:

  • Wdrażanie poprawek i aktualizacji oprogramowania
  • Wprowadzanie zmian w konfiguracji lub sposobie działania
  • Opracowywanie i wdrażanie nowych środków, procedur oraz narzędzi bezpieczeństwa

Wzmocnij swoją sieć dzięki testom penetracyjnym

Celem testów penetracyjnych jest zwiększenie bezpieczeństwa sieci i systemu ochrony informacji poprzez umożliwienie konsultantom ds. bezpieczeństwa sprawdzenia i oceny ich skuteczności. Po ujawnieniu tych słabych punktów na organizacji spoczywa obowiązek ograniczenia zidentyfikowanych zagrożeń. 

Zasubskrybuj biuletyn The QA Lead, aby dowiedzieć się więcej o kompleksowym testowaniu przygotowanym z myślą o skalowaniu.

Powiązane materiały:

Warto również sprawdzić:

Powiązana lista narzędzi:

Eze Onukwube
Eze has a master's degree in communications with over 10 years of experience as a software engineer. His playground is at the intersection of technology, process improvement, and simplifying IT concepts.

You may also like