Na świecie istnieje kilka organizacji, które opisują w metodykach dokładny sposób postępowania podczas przeprowadzania testów penetracyjnych przez tzw. etycznych hakerów. Warto tutaj nadmienić, iż dla aplikacji webowych – w tym również dla aplikacji mobilnych – istnieje inny sposób postępowania aniżeli w przypadku testów samej infrastruktury IT. W inny sposób podchodzi się również do testów socjotechnicznych.

W tym artykule chcę opisać metody i zalety przeprowadzania testów penetracyjnych wyłącznie dla infrastruktury IT oraz wskazać najczęściej występujące w organizacjach krytyczne podatności. Testy penetracyjne możemy przeprowadzić bez posiadanej wiedzy na temat badanego środowiska (Black box) lub z posiadaną wiedzą o środowisku (Crystal box). Black box zwykle jest wykonywany 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). W przypadku Crystal box tester ma pełny dostęp do systemu, dokumentacji technicznej, a nawet kodu źródłowego. Jest to najefektywniejsza forma testowania systemu IT. Wiąże się jednak z udostępnieniem testującemu wielu danych na temat systemu, często poufnych.

Testy mogą zostać przeprowadzone zdalnie – od strony sieciowej, jak i z wnętrza badanego systemu.
W przypadku testów realizowanych od strony sieciowej wykonywane są następujące prace:
1. Zbierane są informacje o badanym środowisku.
2. Dokonywana jest analiza działających usług, otwartych portów.
3. Wykonywana jest analiza podatności, np. przy wykorzystaniu skanerów automatycznych.
4. Dokonywana jest penetracja słabości.
5. Przeprowadzana jest ręczna próba ich wykorzystania.

Do prac realizowanych od wnętrza systemów dodatkowo przeprowadza się prace związane z:
1. Próbą zwiększenia uprawnień nadanych użytkownikowi.
2. Analizą komunikacji sieciowej badanych elementów.
3. Analizą połączeń zdalnych administratorów.
4. Weryfikacją działania luk w zabezpieczeniach systemu (tzw. backdoor), tylnych drzwi dostępu do badanego środowiska.
5. Analizą możliwości usunięcia śladów logowania, aktywności użytkownika.
6. Próbą wyłączenia zabezpieczeń wewnętrznych (np. antywirusa, firewall, blokady urządzeń USB) z pozycji użytkownika.

W wyniku przeprowadzonego testu, zamawiający zawsze otrzymuje raport, w którym zawarte są informacje na temat znalezionych podatności. Wskazane są również rekomendacje ich usunięcia wraz z pracami, jakie należy podjąć, aby je wyeliminować.
Testy penetracyjne wykonane przez doświadczone osoby pozwalają wskazać podatności, których wystąpienie często może wiązać się z takimi zagrożeniami, jak: kradzież informacji przetwarzanych przez organizację, przeciążenie działania usługi, podszycie się pod organizację (np. poprzez modyfikację strony czy wiadomości pocztowej), darmowe korzystanie z usług (np. głosowych), utrata zaufania klientów czy poniesienie kosztów związanych z przeprowadzeniem śledztwa.

Do najczęściej występujących podatności możemy zaliczyć:
1. Stosowanie domyślnych haseł ustawionych przez producentów oraz twórców aplikacji i urządzeń.
2. Używanie słabych haseł. Użytkownicy, a nawet administratorzy stosują proste, czasami słownikowe hasła, które można złamać w ciągu kilku minut.
3. Brak aktualizacji systemów i usług. Istniejące exploity pozwalające przejąć kontrolę nad usługą, dla której znaleziono podatność i opublikowano już często sposób jej wykorzystania.
4. Konfiguracje pozwalające przesyłać pracownikom dane na zewnątrz organizacji.

Przed wyżej wskazanymi podatnościami możemy się w prosty sposób chronić – wystarczy, że:
1. Będziemy zmieniać hasła domyślne podczas pierwszej konfiguracji systemu, aplikacji.
2. Będziemy stosować automatyczne blokady kont przy wielokrotnej próbie nieudanego zalogowania, a także opóźniać czas odpowiedzi po wprowadzeniu kolejnego nieprawidłowego hasła oraz stosować trudne do złamania hasła.
3. Na bieżąco będziemy aktualizować systemy i usługi, a także stosować systemy IPS/IDS/HIPS/Proxy potrafiące wykryć i zablokować przeprowadzany atak.
4. Regularnie będziemy wykonywać testy penetracyjne.

METODYKI OPISUJĄCE SPOSÓB PRZEPROWADZANIA TESTÓW PENETRACYJNYCH INFRASTRUKTURY IT
Istniejące metodyki prowadzenia testów penetracyjnych opisują niezbędne czynności, zabezpieczenia prawne oraz procedury, których powinien przestrzegać zespół testujący, nie zawierają jednak szczegółów na temat konkretnych testów technicznych (algorytmu), jakie należy wykonać:
• ISAAF 0.2.1
• NIST SP 800-42
• NIST SP 800-115
• OSSTMM 3.0
• P-PEN – Penetration Testing Execution Standard

Światowe standardy i normy zalecają przeprowadzanie testów penetracyjnych regularnie, nie rzadziej niż raz do roku oraz przy każdej zmianie konfiguracyjnej usługi, a także przy rozbudowie, aktualizacji bądź uruchomieniu nowej usługi sieciowej. Testy penetracyjne to jedyny sposób na sprawdzenie rzeczywistego bezpieczeństwa utrzymywanych usług sieciowych.

Paweł Pietrzyński,
IT Security Team Manager w PBSG

PODZIEL SIĘ

ZOSTAW ODPOWIEDŹ