Test penetracyjny

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Test penetracyjny – proces polegający na przeprowadzeniu kontrolowanego ataku na system teleinformatyczny, mający na celu praktyczną ocenę bieżącego stanu bezpieczeństwa tego systemu, w szczególności obecności znanych podatności i odporności na próby przełamania zabezpieczeń. Polega na analizie systemu pod kątem występowania potencjalnych błędów bezpieczeństwa spowodowanych niewłaściwą konfiguracją, lukami w oprogramowaniu lub sprzęcie, słabościami w technicznych lub proceduralnych środkach zabezpieczeń, a nawet niewystarczającą świadomością użytkowników. Analiza ta jest przeprowadzana z perspektywy potencjalnego włamywacza i może zawierać aktywne wykorzystywanie podatności (np. poprzez użycie exploitów). Podstawową cechą odróżniającą test penetracyjny od włamania jest zgoda atakowanej strony na tego rodzaju działania, ponadto osoba przeprowadzająca test (zwana Pentesterem) jest zobowiązana do przedstawienia raportu dokumentującego znalezione podatności (często wraz ze sposobami ich usunięcia i rekomendacjami podnoszącymi bezpieczeństwo testowanego systemu). Test penetracyjny ma potwierdzać brak podatności w systemie oraz skuteczność zabezpieczeń w implementacji produkcyjnej lub możliwie najbardziej zbliżonej do rzeczywistej.

W przeciwieństwie do audytu nie musi odbywać się według sformalizowanej metodologii, której zbudowanie byłoby trudne ze względu na szybko zmieniający się stan wiedzy (np. nowe exploity). Skuteczność testu penetracyjnego w dużym stopniu zależy od kompetencji i stanu wiedzy zespołu testującego.

Metodyki testów penetracyjnych[edytuj | edytuj kod]

Istniejące metodyki prowadzenia testów penetracyjnych opisują niezbędne czynności, zabezpieczenia prawne oraz procedury, które powinien przestrzegać zespół testujący, nie zawierają jednak szczegółów na temat konkretnych testów technicznych (algorytmu) jakie należy wykonać:

Rodzaje testów penetracyjnych[edytuj | edytuj kod]

Test penetracyjny może być prowadzony przy różnym poziomie wiedzy zespołu testującego, z dwiema skrajnymi wartościami:

  • Test penetracyjny z minimalną wiedzą (black box) – w największym stopniu stara się odzwierciedlić rzeczywistą wiedzę potencjalnego włamywacza, w związku z czym zespoł testujący otrzymuje np. wyłącznie adres serwisu i nic ponadto. Wadą tej metody jest możliwość poświęcenia przez zespół nieproporcjonalnie dużych ilości czasu na działania bezproduktywne, np. próbę złamania hasła na wejściu do serwisu w sytuacji, gdy autentyczny włamywacz mógłby tę wiedzę zdobyć innymi metodami (np. za pomocą phishingu lub metod wiążących się ze złamaniem prawa)
  • Test penetracyjny z pełną wiedzą (crystal box) – zespół testujący ma pełny dostęp do dokumentacji projektowej, kodu źródłowego, konfiguracji urządzeń sieciowych itd. W przypadku opierania się wyłącznie na tej wiedzy można mówić o „przeglądzie kodu” lub „przeglądzie konfiguracji”. Wadą takiego podejścia jest możliwość pominięcia rozbieżności pomiędzy stanem udokumentowanym a stanem faktycznym.

Audyt bezpieczeństwa teleinformatycznego nie jest tym samym co test penetracyjny. Audyt opiera się na formalnej specyfikacji stanu pożądanego (normie, akcie prawnym) i prowadzi do jednoznacznego określenia stopnia zgodności audytowanego obiektu ze specyfikacją. Test penetracyjny służy do określenia faktycznego stanu bezpieczeństwa danego obiektu i nie musi być oparty na jakiejś szczególnej specyfikacji[1].

Zobacz też[edytuj | edytuj kod]

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]