Poradnik dotyczący testów penetracyjnych: Co to jest PenTest?
⚡ Inteligentne podsumowanie
Testy penetracyjne symulują prawdziwy atak na aplikację, sieć lub system, dzięki czemu zespoły ds. bezpieczeństwa mogą zlokalizować podatne na wykorzystanie luki, zmierzyć ich wpływ na działalność firmy i wyeliminować je, zanim zewnętrzny atakujący odkryje te same luki.
Co to są testy penetracyjne?
Testowanie penetracyjne lub Pen Testing to rodzaj Testowanie bezpieczeństwa Służy do wykrywania luk, zagrożeń i zagrożeń, które atakujący mógłby wykorzystać w aplikacjach programowych, sieciach lub aplikacjach internetowych. Celem testów penetracyjnych jest identyfikacja i przetestowanie wszystkich możliwych luk w zabezpieczeniach aplikacji programowej. Testy penetracyjne nazywane są również testami penetracyjnymi.
Poniższy diagram pokazuje, w jaki sposób niezałatana słabość aplikacji staje się furtką dla atakujących.
Podatność to ryzyko, że atakujący może zakłócić działanie systemu lub uzyskać nieautoryzowany dostęp do niego lub zawartych w nim danych. Podatności zazwyczaj pojawiają się przypadkowo na etapie rozwoju i wdrażania oprogramowania. Do typowych podatności należą błędy projektowe, błędy konfiguracji i błędy oprogramowania. Analiza penetracyjna opiera się na dwóch mechanizmach: ocenie podatności i testach penetracyjnych (VAPT).
Dwie części VAPT są często mylone. Ocena podatności na zagrożenia wylicza znane słabości na dużą skalę i na tym się kończy, podczas gdy test penetracyjny bezpiecznie wykorzystuje wybrane z nich, aby udowodnić rzeczywisty wpływ. Rozpatrywane razem, oddzielają one ustalenia teoretyczne od tych, które rzeczywiście narażają dane na ryzyko.
Dlaczego testy penetracyjne?
Testowanie penetracyjne jest niezbędne w przedsiębiorstwie, ponieważ:
- Sektory finansowe, takie jak banki, bankowość inwestycyjna i giełdy papierów wartościowych, chcą, aby ich dane były bezpieczne, a testy penetracyjne są niezbędne do zapewnienia bezpieczeństwa
- Jeśli system oprogramowania został już zhakowany, organizacja chce ustalić, czy w systemie nadal występują jakiekolwiek zagrożenia, aby uniknąć przyszłych ataków
- Proaktywne testy penetracyjne to najlepsza ochrona przed hakerami
- Ramy zgodności tego oczekują. Na przykład wymóg PCI DSS 11.4 wymaga przeprowadzania wewnętrznych i zewnętrznych testów penetracyjnych co najmniej raz w roku oraz po każdej istotnej zmianie.
Rodzaje testów penetracyjnych
Wybór rodzaju testu penetracyjnego zazwyczaj zależy od zakresu oraz od tego, czy organizacja chce symulować atak ze strony pracownika lub administratora sieci (źródła wewnętrzne), czy ze źródeł zewnętrznych. Istnieją trzy rodzaje testów penetracyjnych, a mianowicie:
W testach penetracyjnych typu „black-box” tester nie ma wiedzy o testowanych systemach. Jest odpowiedzialny za zebranie informacji o sieci lub systemie docelowym.
W testach penetracyjnych typu „white-box” tester zazwyczaj otrzymuje kompletne informacje o testowanej sieci lub systemach, w tym schemat adresów IP, kod źródłowy i szczegóły systemu operacyjnego. Można to uznać za symulację ataku z dowolnego źródła wewnętrznego, takiego jak pracownik organizacji.
W testach penetracyjnych typu „grey-box” tester otrzymuje częściową wiedzę o systemie. Można to uznać za atak hakera z zewnątrz, który uzyskał nieuprawniony dostęp do dokumentów infrastruktury sieciowej organizacji.
W poniższej tabeli umieszczono trzy typy interakcji obok siebie, co pozwala dopasować typ zaangażowania do zagrożenia, które chcesz modelować.
| WYGLĄD | Czarna skrzynka | Biały Box | Szary Box |
| Informacje przekazane testerowi | żaden | Pełne: kod źródłowy, schemat IP, szczegóły systemu operacyjnego | Częściowe: ograniczone uprawnienia lub dokumenty |
| Symulowany napastnik | Osoba z zewnątrz bez dostępu | Osoba z wewnątrz lub programista | Osoba z zewnątrz, która już zyskała przyczółek |
| Czas poświęcony na rozpoznanie | Wysoki | Niski | Umiarkowany |
| Typowe pokrycie bazy kodu | Tylko to, do czego można dotrzeć z zewnątrz | Najgłębiej, bo widać wnętrzności | Skupiony na odsłoniętej ścieżce ataku |
Jak przeprowadzić testy penetracyjne
Aby przeprowadzić test penetracyjny, należy wykonać poniższe czynności. Poniższy rysunek podsumowuje cztery fazy, a następnie opisuje każdą z nich po kolei.
Krok 1) Faza planowania
- Ustalono zakres i strategię zadania
- Do określenia zakresu wykorzystuje się istniejące zasady i standardy bezpieczeństwa
Krok 2) Faza odkrywania
- Zbierz jak najwięcej informacji o systemie, w tym dane w systemie, nazwy użytkowników, a nawet hasła. Nazywa się to również odciskiem palca.
- Skanuj i badaj porty
- Sprawdź luki w systemie
Krok 3) Faza ataku
- Znajdź exploity dla różnych luk w zabezpieczeniach. Aby wykorzystać lukę w systemie, potrzebujesz niezbędnych uprawnień bezpieczeństwa.
Krok 4) Faza raportowania
- Sprawozdanie musi zawierać szczegółowe ustalenia
- Ryzyko wykrycia luk i ich wpływ na działalność
- Zalecenia i rozwiązania, jeśli takie istnieją
Głównym zadaniem testów penetracyjnych jest zebranie informacji o systemie. Istnieją dwa sposoby zbierania informacji:
- Model „jeden do jednego” lub „jeden do wielu” w odniesieniu do hosta: Tester wykonuje techniki w sposób liniowy względem jednego hosta docelowego lub grupy logicznej.ping hostów docelowych (np. podsieci).
- Model „wiele do jednego” lub „wiele do wielu”: tester wykorzystuje wiele hostów do wykonywania technik gromadzenia informacji w sposób losowy, ograniczony szybkością i nieliniowy.
Przykłady narzędzi do testów penetracyjnych
Istnieje szeroka gama narzędzi wykorzystywanych w testach penetracyjnych, a ważne narzędzia Pentest należą:
1) Teramind
Teramind dostarcza kompleksowy pakiet do zapobiegania zagrożeniom wewnętrznym i monitorowania pracowników. Zwiększa bezpieczeństwo poprzez analizę zachowań i zapobieganie utracie danych, zapewniając zgodność i optymalizując procesy biznesowe. Jego konfigurowalna platforma odpowiada różnym potrzebom organizacyjnym, zapewniając przydatne informacje, które koncentrują się na zwiększaniu produktywności i ochronie integralności danych.
Cechy:
- Zapobieganie zagrożeniom wewnętrznym: wykrywa i zapobiega działaniom użytkowników, które mogą wskazywać na wewnętrzne zagrożenia dla danych.
- Optymalizacja procesów biznesowych: wykorzystuje analizę zachowań opartą na danych w celu ponownego zdefiniowania procesów operacyjnych.
- Produktywność siły roboczej: Monitorowanie produktywności, bezpieczeństwa i przestrzegania przepisów przez siłę roboczą.
- Zarządzanie zgodnością: Pomaga zarządzać zgodnością za pomocą pojedynczego, skalowalnego rozwiązania odpowiedniego dla małych firm, przedsiębiorstw i agencji rządowych.
- Dochodzenie w sprawie incydentów: dostarcza dowodów wzbogacających reagowanie na incydenty, dochodzenia i informacje o zagrożeniach.
- Zapobieganie utracie danych: Monitoruje i chroni przed potencjalną utratą poufnych danych.
- Monitorowanie pracowników: Oferuje możliwości monitorowania wydajności i działań pracowników.
- Analityka behawioralna: analizuje szczegółowe dane dotyczące zachowań klientów w aplikacjach w celu uzyskania spostrzeżeń.
- Możliwość dostosowania ustawień monitorowania: umożliwia dostosowanie ustawień monitorowania do konkretnych przypadków użycia lub wdrożenie zdefiniowanych wcześniej reguł.
- Dashboard Insights: zapewnia wgląd i praktyczne informacje na temat działań pracowników za pośrednictwem kompleksowego pulpitu nawigacyjnego.
- nmap – To narzędzie służy do skanowania portów i identyfikacji systemu operacyjnego, trace skanowanie tras i luk w zabezpieczeniach.
- Nessus – To tradycyjne narzędzie do wykrywania luk w zabezpieczeniach sieci.
- Pass-The-Hash – to narzędzie służy głównie do łamania haseł.
Rola i obowiązki testerów penetracyjnych
Praca testera penetracyjnego polega na:
- Zbierz wymagane informacje z organizacji, aby umożliwić przeprowadzenie testów penetracyjnych
- Znajdź wady, które umożliwią hakerom zaatakowanie docelowej maszyny
- Myśl i działaj jak prawdziwi hakerzy, choć etycznie
- Uczyń pracę powtarzalną, aby programiści mogli ją łatwo naprawić
- Uzgodnij z wyprzedzeniem datę rozpoczęcia i zakończenia wykonywania testu
- Przyjmij odpowiedzialność za wszelkie straty w systemie lub informacjach powstałe podczas Testowanie oprogramowania
- Zachowaj poufność danych i informacji
Ręczne testy penetracyjne a automatyczne testy penetracyjne
Większość prawdziwych spotkań łączy oba podejścia. Poniższe porównanie pokazuje, gdzie każde z nich znajduje swoje miejsce.
| Ręczne testy penetracyjne | Zautomatyzowane testy penetracyjne |
| Testowanie ręczne wymaga przeprowadzenia testów przez doświadczonych specjalistów | Zautomatyzowane narzędzia testowe zapewniają przejrzyste raporty dla mniej doświadczonych specjalistów |
| Do testowania ręcznego wymagany jest program Excel i inne narzędzia traczrób to | Testowanie automatyzacji posiada scentralizowane i standardowe narzędzia |
| W przypadku testów ręcznych wyniki próbek różnią się w zależności od testu | W przypadku testów automatycznych wyniki nie różnią się w zależności od testu |
| Użytkownicy powinni pamiętać o czyszczeniu pamięci | Testowanie automatyczne będzie wymagało kompleksowego czyszczenia. |
Wady testów penetracyjnych
Testy penetracyjne nie są w stanie wykryć wszystkich luk w systemie. Istnieją ograniczenia czasowe, budżetowe, zakresowe i umiejętności testerów penetracyjnych.
Oto skutki uboczne, które mogą wystąpić podczas przeprowadzania testów penetracyjnych:
- Utrata i uszkodzenie danych
- czas przestoju
- Zwiększ koszty
Poniższa infografika przedstawia te same kompromisy i powody, dla których organizacje mimo wszystko przeprowadzają testy.
Te ograniczenia sprawiają, że testy penetracyjne działają najlepiej w połączeniu z dobrze wdrożoną polityką bezpieczeństwa, a nie zamiast niej. Testerzy powinni zachowywać się jak prawdziwi hakerzy, sprawdzać, czy kod jest napisany bezpiecznie i powtarzać ćwiczenie zgodnie z udokumentowanym harmonogramem.





