Testy penetracyjne to badanie bezpieczeństwa systemów informatycznych, oprogramowania, aplikacji, sieci lub infrastruktury informatycznej za pomocą kontrolowanego ataku na ich zasoby w celu znalezienia wszelkich luk lub błędów, które mogą narażać systemy na niebezpieczeństwo włamania, kradzieży lub utraty danych lub innych niebezpieczeństw czyhająch ze strony hakerów.
Pentesty mogą być wykonywane według własnych reguł i metodologii, ale mogą być równiez wykonane zgodnie z ustalonymi metodykami i standardami (np. OWASP – dotyczy oprogramowania, PTES – dotyczy infrastruktury sieciowej, NIST, czy ISAAF),
Testy penetracyjne mogą badać samo oprogramowanie lub sieć, ale mogą również testować i sprawdzać procedury biznesowe czy informatyczne w badanej organizacji (np. wyszkolenie pracowników pod względem ochrony danych organizacji, sposób przepływu danych, ich kopie bezpieczeństwa itp.). Najczęściej jednak testy penetracyjne polegają na sprawdzeniu systemów, stron, aplikacji czy serwerów pod względem podatności na znane już luki i dziury (exploity) w oprogramowaniu czy zabezpieczeniach, braki w aktualizacjach systemów, słabe hasła itp.
Dzięki takim testom można poprawić bezpieczeństwo zasobów firmy, chroniąc ją przed zagrożeniami sieciowymi, utratą danych, zaufania klientów, którzy powierzyli swoje dane, karami administracyjnymi wynikłymi z zainstniałych incydentów bezpieczeństwa.
Aby przystąpić do audytu, należy zinwentaryzować wszelkie zasoby, które będą testowane, poznać procedury, aby móc przystąpić już do praktycznej części testów.
Pentesty można przeprowadzać na 3 sposoby:
- Test penetracyjny typu black box czyli z minimalną wiedzą o systemie – czyli zachowujemy się jak włamywacz, nie wiemy i nie znamy rozwiązań informatycznych. Znamy tylko adres ofiary i staramy się zdobyć jak najwięcej informacji.
- Testy penetracyjne typu grey box – czyli dostajemy jakąś część danych o systemach, organizacji będącej naszą ofiarą, dzięki czemu próby ataków na system są łatwiejsze.
- Test penetracyjny white box lub crystal box – czyli wiemy wszystko o zastosowanych systemach informatycznych, procedurach, posiadamy dostęp do dokumentacji. Często w takim podejściu nie bada się samych systemów, a jedynie dokumentację i szuka się wad i luk w procedurach czy systemach na papierze. Wadą takiego podejścia jest ryzyko, że dokumentacja nie dokumentuje aktualnego stanu faktycznego systemów, w związku z tym na tej podstawie nie znaleziemy luk, które wynikają z nieaktualnej lub nieodpowiedniej dokumentacji.
Na koniec pentestów powstaje dokument z wykazem znalezionych błędów, luk, podatności na zagrożenia, wraz z przepisem na ich rozwiązanie lub zminimalizowanie ryzyka zaistnienia problemów w przyszłości.
Osoba, która przeprowadza testy penetracyjne to tzw. pentester.