Test penetracyjny – proces pozwalający ocenić bieżący stan zabezpieczeń systemu. Test penetracyjny, popularnie nazywany pentestem, polega na identyfikacji, analizie i oszacowaniu ryzyka związanego z podatnościami i lukami zabezpieczeń. Jest to symulowany atak. Chodzi o to, aby sprawdzić czy luki są rzeczywistym zagrożeniem dla systemu. Dla przykładu wyobraźmy sobie, że po przeprowadzonym audycie aplikacji skan wykazał kilka luk bezpieczeństwa. Test penetracyjny w tym przypadku pozwoli określić czy stanowią one rzeczywisty powód do zmartwień i czy skaner nie wyrzucił zwykłych false positive. Pentest ma na celu przyjąć rolę włamywacza i jego technikami sprawdzić wszystkie błędy, a następnie określić stopień w jakim zagrażają systemowi czy aplikacji. Bardzo ważne jest staranne wyselekcjonowanie możliwych celów ataku, należy przełożyć jakość nad ilość. Sprawdzenie systemu skanerem podatności nie może dać jasnych wyników, odzwierciedlających rzeczywisty stan.

Należy pamiętać, że sam fakt wykonania testu penetracyjnego nie oznacza realnego wzrostu bezpieczeństwa. Po przedstawieniu wyników należy wdrożyć zalecenia i rekomendacje, aby załatać błędy.

Nie powinno się przeprowadzać pentestu w systemach, które nie posiadają systemów podnoszących bezpieczeństwo, ponieważ nie przyniesie to wymiernych korzyści. Pierw należy zaimplementować odpowiednie zabezpieczenia, a dopiero później je sprawdzić.  Testy penetracyjne powinno się przeprowadzać kiedy osoba odpowiedzialna za system jest przekonana o jego zabezpieczeniach.

Metodologia

Początkowym etapem jest ustalenie zakresu prac i metod przeprowadzania testu penetracyjnego. Wyróżniamy trzy możliwe metody:

  • white-box – osoba przeprowadzająca pentest posiada pełną dokumentację systemu bądź aplikacji. Najczęściej test ten ma na celu sprawdzenie czy system spełnia określone procedury bezpieczeństwa, bądź normy. Metoda ta zajmuje najmniej czasu i jest najtańsza. Przeprowadzany jest on przy pełnej wiedzy zespołu i zarządu.
  • black-box – pentester (osoba przeprowadzająca testy penetracyjne) nie wie nic o systemie, o dostępnych usługach ani infrastrukturze. Jest to najbardziej czasochłonna i kosztowna metoda. Wymaga od pentestera ogromnej wiedzy i umiejętności przełamywania zabezpieczeń. Przeznacza on największy okres czasu na fazę rekonesansu.
  • grey-box – połączenie metod białego pudełka i czarnego. W tym przypadku otrzymujemy część informacji o celu. Nie zawsze jest to pełna dokumentacja, ale często są to bardzo cenne wskazówki.

Fazy

Pre-engagement Interactions

Faza wstępna czyli kontakt ze zleceniodawcą mający na celu ustalenie szczegółów testu penetracyjnego. Na tym etapie ustala się sposób przeprowadzania testów, narzędzia jakich pentester będzie mógł użyć, zakres, które systemy podlegają analizie. Należy ustalić, które systemy nie powinny być testowane ze względu na ich wrażliwość. Ważne jest ustalenie, w którym momencie test się kończy.

Intelligence Gathering

Zbieranie informacji na temat celu ataku. W tej fazie wykorzystujemy biały wywiad, czyli szukamy dostępnych informacji na portalach społecznościowych, korzystamy ze skanerów portów, footprintingu, Gooogle hackingu. Staramy się dowiedzieć jakie usługi są uruchomione, które porty są otwarte. Powinniśmy poznać listę dostępnych hostów, jakie aplikacje są uruchomione itd. Im więcej informacji zbierzmy tym większe szanse na wejście do systemu.

Threat Modeling

W fazie modelowania zagrożeń wykorzystujemy dane, które zgromadziliśmy w poprzedniej fazie. Przyjmujemy pozycję atakującego i staramy się myśleć jak on. Opracowujemy strategię w taki sam sposób, jaki zrobiłby to intruz.

Vulnerability Analysis

Analiza podatności polega na zdefiniowaniu, które ataki są możliwe. Wyszukujemy błędy w usługach, aplikacjach i hostach, które zbadaliśmy wcześniej. Na tym etapie korzystamy ze skanerów podatności. Dobieramy exploity, które mają największe szanse na zadziałanie.

Exploitation

Eksploatacja, czyli realna penetracja systemu. Wykorzystujemy dobrane wcześniej exploity i luki, aby dostać się do systemu. Należy pamiętać, że ślepe przeprowadzanie masowych ataków mija się z celem i może tylko spowodować awarię – takie rozwiązanie niesie niewielkie korzyści dla właściciela.

Post Exploitation

Faza poeksploatacyjna zaczyna się po uzyskaniu dostępu do systemu. Przechodzimy z systemu do systemu i zdobywamy coraz więcej informacji. Pentester może uzyskać trwały dostęp do systemu wykorzystując tylne drzwi (backdoor), spróbować podnieść uprawnienia (privilege escalation). Staramy się złamać zabezpieczenia następnych wewnętrznych systemów, aplikacji, infrastruktur. Należy się dostosować, polegać na własnym rozumie i inteligencji, a nie zautomatyzowanych rozwiązaniach.

Reporting

Test penetracyjny kończymy stworzeniem raportu. Musimy zawrzeć w nim czynności, które przeprowadziliśmy, szczegółową listę luk. Wszystkie informacje, jakie udało nam się zdobyć należy umieścić w dokumentacji. Należy podzielić raport na dwie części – streszczenie dla zarządu i część techniczną. W streszczeniu powinniśmy zawrzeć ogólne zalecenia, ogólne wyniki przeprowadzonych działań i krótki opis każdej z faz testu. W części technicznej należy umieścić szczegółowy opis każdej z faz i oszacować ryzyko związane z każdą podatnością. Pamiętać należy, aby nie oznaczać luk teoretycznych jako krytycznych, jeśli nie stworzono jeszcze odpowiedniego exploitu. Dzięki temu zleceniodawca wie, na których podatnościach powinien się skupić w pierwszej kolejności. W części technicznej ważne jest zamieszczenie rozwiązań, które pomogą wyeliminować ryzyko związane z lukami. Należy pamiętać, aby upewnić się, że luki to naprawdę luki, a nie bazować tylko na wyniku ze skanerów.

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here