Testy penetracyjne mają na celu praktyczną ocenę stanu bezpieczeństwa systemu informatycznego. W praktyce oznacza to przeprowadzenie testów pozwalających na zbadanie obecności podatności i odporności w badanym systemie informatycznym, które mogą powodować błędne działanie systemu, nieautoryzowany dostęp do danych i funkcji w systemie, przełamanie systemów zabezpieczeń lub zdobycie informacji. Test penetracyjny jest symulowanym atakiem na system informatyczny, którego celem jest wykrycie podatności, błędów i luk w systemie. Test penetracyjny potwierdza brak podatności w systemie oraz skuteczność zastosowanych zabezpieczeń.
Typy testów penetracyjnych
Black box – test bez wiedzy o testowanym systemie. Zwykle test wykonywany jest z poziomu standardowego użytkownika systemu. Testy tego typu często potrafią zabrać nieproporcjonalną ilość czasu na zdobycie wiedzy, którą autentyczny włamywacz zdobył by w inny sposób (np.: za pomocą phishingu, socjotechniki czy metod wiążących się ze złamaniem prawa).
Crystal box – test z pełną wiedza na temat testowanego systemu. Tester ma pełny dostęp do systemu, do dokumentacji technicznej a nawet kodu źródłowego. Jest to najefektywniejsza forma testowania systemu informatycznego. Wiąże się jednak z udostępnieniem testującemu wielu danych na temat systemu, często poufnych.
Wyniki testów penetracyjnych
Wynikiem testu jest raport, który szczegółowo opisuje znalezione błędy, podatności oraz luki wraz z sugerowanym sposobem usunięcia/naprawy. Raport jest produktem, który zawiera informacje, za pomocą których klient będzie wstanie usunąć błędy i podatności, zapewniając bezpieczeństwo systemowi informatycznemu.
Dlaczego potrzebuje testów penetracyjnych dla moich systemów ?
Systemy informatyczne tworzone są z naciskiem na niezawodność, wydajność oraz funkcjonalność. Dostawcy „zapominają” o bezpieczeństwie lub traktują temat po macoszemu. Oczywiście dostawcy zapewniają, że system jest tworzony z myślą o bezpieczeństwie i testy prowadzone są na bieżąco. Praktyka pokazuje, że zdecydowana większość systemów posiada wiele podatności i błędów – nawet wtedy kiedy system docelowo miał być bezpieczny i chronić dane.
Administratorzy systemów informatycznych, często zapominają o właściwej i bieżącej konserwacji systemów co powoduje, że wiele podatności jest nie załatanych. Test penetracyjny pozwoli na ustalenie stanu bezpieczeństwa systemu, w dowolnym momencie jego cyklu życia.
Właściciele systemów informatycznych nie zdają sobie często sprawy z odpowiedzialności prawnej, która zobowiązuje ich do utrzymania bezpieczeństwa posiadanych danych, np. osobowych. Testy penetracyjne pozwalają nie tylko zabezpieczyć systemy od strony technicznej ale także samego właściciela systemu wobec prawa.
Infrastruktura sieciowa
Testy penetracyjne ujawniają stan bezpieczeństwa infrastruktury sieciowej. Istotą bezpieczeństwa infrastruktury sieciowej jest eliminowanie słabych punktów. Trudność polega na ich znalezieniu. Wystarczy jeden wpięty do sieci komputer (np. prywatny laptop pracownika), który nie jest właściwie zabezpieczony, a staję się on furtka dla włamywacza. To samo tyczy się stacji roboczych, które mogą posiadać luki w zabezpieczeniach.
Aplikacje
Aplikacje sieciowe stanowią pomost miedzy danymi w przedsiębiorstwie a użytkownikami. Maja dostęp do danych i je udostępniają. Dlatego ważne jest by robiły to w sposób bezpieczny i zgodny z przeznaczeniem. Dostawcy oprogramowania często popełniają błędy i zostawiają wiele dziur w aplikacjach, które bez testów penetracyjnych są trudne do zidentyfikowania, natomiast dla wprawnego włamywacza są one łatwe do sforsowania.
Bazy danych
Względem bezpieczeństwa bazy danych są często na samym końcu. Pamiętać należy, że bazy danych przechowują istotne i kluczowe dane. Administratorzy często nie maja pojęcia o tym, jak właściwie skonfigurować bazę danych, aby dane były bezpieczne. Często właściciele baz nie zdają sobie sprawy z tego, że administrator ma dostęp do wszystkich danych w bazie, a tak być nie musi.
Socjotechnika
Żaden system nie będzie bezpieczny kiedy zawiedzie człowiek. Dlatego istotne jest aby użytkownicy systemów informatycznych mieli świadomość tego co robią, jakich informacji udzielają i komu. Najlepiej zabezpieczony technicznie system, może zostać złamany dzięki socjotechnice.
Kompleksowe testy
Ochrona dostępu do tych danych musi być kompleksowa. Ochrona danych i systemów informatycznych to bezpieczna infrastruktura sieciowa, bezpieczne aplikacje oraz właściwie zabezpieczone bazy danych a także świadomi użytkownicy, którzy nie udostępniają istotnych informacji o systemie.