Który rodzaj testów penetracyjnych jest dla Ciebie odpowiedni?

Testy penetracyjne są idealne dla Twojego przedsiębiorstwa, gdy chcesz przetestować skuteczność swoich protokołów bezpieczeństwa.

Symulując rzeczywiste ataki, Twój zespół IT może zidentyfikować luki w zabezpieczeniach systemów, wykorzystać je i zapewnić wiedzę na temat rozwiązywania konkretnych problemów związanych z bezpieczeństwem. Jeśli chcesz uzyskać kompleksowy przegląd poszczególnych etapów, zapoznaj się z naszym przewodnikiem po etapach testów penetracyjnych.

Niezależnie od tego, czy jest to wewnętrzny, czy zewnętrzny, test penetracyjny symuluje wektory ataku. Jeśli jest to atak zewnętrzny, angażujesz osobę atakującą zdalnie, aby dowiedzieć się, do jakich informacji mają dostęp osoby z zewnątrz. Jeżeli jest to atak wewnętrzny, jest on przeprowadzany po zewnętrznym i ma na celu określenie, co haker może osiągnąć dzięki wewnętrznemu dostępowi do Twojego systemu.

W zależności od celów testu piórkowego, tester może posiadać pewną wiedzę na temat testowanego środowiska (lub nie). Jeśli tester zna system, jest to białe pole. W innych przypadkach test penetracyjny może dotyczyć aplikacji, usług sieciowych, inżynierii społecznej, sieci bezprzewodowych, a nawet fizycznych.

Bez względu na to, jaki test penetracyjny wybierzesz, dobry zawsze odkryje luki i pomoże skonsolidować słabe obszary w systemie. Jednak wybranie odpowiedniego dla Twojej organizacji może zająć trochę czasu i wysiłku, szczególnie w przypadku wielu opcji do sprawdzenia.

Ten artykuł stanowi podsumowanie różnych typów testów penetracyjnych, wyjaśniając, na czym polega każdy z nich i kiedy najlepiej zastosować konkretny. Na koniec poznasz kilka wskazówek, jak wybrać najlepszy test piórkowy dla potrzeb Twojej organizacji.

Testy penetracyjne aplikacji internetowych

Źródło: synopsys.com

Ten test piórkowy ma na celu wykrycie podatności w witrynach internetowych i aplikacjach internetowych, takich jak systemy handlu elektronicznego, menedżerowie relacji z klientami i systemy zarządzania treścią.

Przeglądając zabezpieczenia aplikacji, niestandardowe funkcje i podstawowe funkcje logiczne, test ten odkrywa sposoby eliminowania naruszeń, strat finansowych i kradzieży tożsamości. Przed testowaniem tester jest wyposażony w kilka aplikacji do przetestowania, pola wejściowe do sprawdzenia oraz zapis stron statycznych i dynamicznych w celu łatwej oceny projektu i wad rozwojowych.

Typowymi lukami w aplikacjach internetowych są skrypty krzyżowe (XSS), wstrzykiwanie bazy danych i zepsute uwierzytelnianie. Aby uzyskać dogłębną wiedzę na temat bezpieczeństwa w sieci, możesz sprawdzić bezpieczeństwo otwartych aplikacji internetowych (OWAP), dobre repozytorium do przeczytania. Publikuje informacje o częstotliwości i wadze błędów sieciowych na podstawie danych zebranych z tysięcy aplikacji.

Jeśli Twoja firma posiada zasoby internetowe, najlepiej rozważyć testy pióra internetowego. W wielu nowoczesnych organizacjach aplikacje internetowe są nieocenione do przechowywania i przesyłania informacji. W przypadku takich modeli operacyjnych istnieje potrzeba testowania sieci. Statystyki tak mówią cyberprzestępczość wzrosła po pandemii Covid-19.

Testy penetracyjne sieci

Źródło: synopsys.com

Testy pióra sieciowego to audyty bezpieczeństwa ukierunkowane na infrastrukturę sieciową, niezależnie od tego, czy działasz lokalnie, czy w chmurze. Wykonując szeroki zakres kontroli, takich jak luki w zabezpieczeniach szyfrowania, brakujące poprawki zabezpieczeń i niepewne konfiguracje, testy te potwierdzają bezpieczeństwo kluczowych danych w biznesie.

W takim przypadku możesz przeprowadzić testy wewnętrzne lub zewnętrzne. Jeśli tester jest zewnętrzny, nie ma wcześniejszej wiedzy o systemie i wykorzystuje Internet, aby zdobyć wiedzę, którą hakerzy wykorzystaliby w atakach. Jeśli jest to sieć wewnętrzna, nacisk kładziony jest na uzyskanie dostępu do sieci wewnętrznej. Na przykład tester może wykorzystać luki w systemach internetowych i spróbować uzyskać dostęp do informacji lub zakłócić działanie.

Po wykonaniu testy pióra sieciowego chronią przedsiębiorstwo przed typowymi atakami sieciowymi, takimi jak błędna konfiguracja i obejście zapory sieciowej, ataki na routery, ataki na poziomie systemu nazw domen (DNS), ataki na bazy danych i ataki na serwery proxy. Test sieci będzie dla Ciebie odpowiedni, jeśli działalność Twojej firmy wiąże się z przesyłaniem dużych ilości danych. Biorąc pod uwagę znaczenie usług sieciowych dla firmy, najlepiej przeprowadzać testy sieci co najmniej raz w roku.

Testy penetracyjne aplikacji mobilnych

W aplikacjach mobilnych testy piórkowe badają aplikacje na różnych systemach operacyjnych (Android i iOS) i ich interakcję z interfejsami API. Dobre testy dekompilują kod źródłowy aplikacji, aby uzyskać jak najwięcej informacji.

W tym przypadku nacisk położony jest na architekturę aplikacji – aby ją odkodować przed wykonaniem testów ręcznych w celu wykrycia niezabezpieczonego projektu i komunikacji sieciowej – aby zbadać sposób przesyłania danych, przechowywania danych i prywatności – aby zapewnić zgodność, ponieważ większość aplikacji przechowuje krytyczne dane, takie jak hasła i Klucze API przechowywane w plikach string.xml, uwierzytelnianie i zarządzanie sesją – gdzie testy muszą nadzorować procesy zarządzania sesją, takie jak koniec sesji, ważność tokena, aktualizacje haseł i błędna konfiguracja w uwierzytelnianiu wieloskładnikowym.

Załóżmy, że Twoja firma koncentruje się głównie na tworzeniu aplikacji mobilnych, takich jak gry, usługi finansowe i zakupy. W takim przypadku możesz rozważyć testy piórkowe przed udostępnieniem produktu do użytku publicznego lub wprowadzeniem nowych aktualizacji.

Bezprzewodowe testy penetracyjne

Testy sieci bezprzewodowej obejmują sieć bezprzewodową Twojej organizacji i podłączone do niej urządzenia. Do takich urządzeń zaliczają się smartfony, tablety, komputery i inne urządzenia Internetu rzeczy (IoT).

Za pomocą testów piórkowych można oceniać poziomy bezpieczeństwa programów zabezpieczających sieć bezprzewodową, odkrywać i wykorzystywać luki w zabezpieczeniach, rozumieć zagrożenia występujące w każdym punkcie dostępu i generować oparte na danych strategie eliminowania luk.

Przed testowaniem należy określić zakres zaangażowania, ustanawiając sieci gościnne i bezprzewodowe oraz identyfikatory zestawu usług (SSID), do których będzie można uzyskać dostęp. Chociaż proces ten w większym stopniu opiera się na sprzęcie, można go wykonać za pomocą narzędzi programowych w systemach operacyjnych typu open source, takich jak Kali Linux. Aby zachować dobrą kulturę bezpieczeństwa, firmy mogą przeprowadzać testy sieci bezprzewodowej dwa razy w roku.

Testy penetracyjne API

Testowanie piórowe API (czasami w pakiecie z mikrousługami) służy do identyfikowania słabych punktów API. Obecnie zyskuje na popularności, ponieważ wiele firm umożliwia stronom trzecim dostęp do niektórych swoich danych i usług.

Testy potwierdzają, że GraphQL, REST, usługi internetowe i inne interfejsy API są bezpieczne i sprawdzone pod kątem znanych luk w zabezpieczeniach. Podczas testowania interfejsów API proces jest podobny do procesu w sieci. To z kolei pozwala na wykorzystanie podobnych narzędzi. Mogą jednak zostać wprowadzone nowe narzędzia, takie jak Postman i Swagger.

Jeśli chcesz dowiedzieć się więcej, oto nasza lista kontrolna narzędzi do tworzenia i testowania interfejsów API. Często narzędzia te są zasilane planem interfejsu API, a następnie modelowane są szkieletowe żądania interfejsu API i uruchamiane w kierunku produktu.

Jeśli Twoja firma ma aplikacje internetowe lub mobilne z zapleczem API, przeprowadzanie częstych testów API może pomóc w wykryciu narażenia lub słabych projektów kodowania, które mogą służyć jako punkty wejścia dla atakujących.

Testy penetracyjne inżynierii społecznej

W przeciwieństwie do innych technik skupiających się na wadach technologicznych, inżynieria społeczna odwołuje się do psychologii człowieka, aby naruszyć bezpieczeństwo organizacji.

Testy są korzystne, ponieważ identyfikują słabe punkty, mierzą świadomość bezpieczeństwa, zwiększają świadomość pracowników, ograniczają ryzyko, poprawiają reakcję na zdarzenia, zapewniają zgodność z przepisami, budują zaufanie interesariuszy i zapewniają opłacalne zarządzanie ryzykiem.

Do najpopularniejszych metod ataku należą preteksty, phishing, upuszczanie multimediów/taktyki fizyczne i tailgating. Testy socjotechniczne opierają się na formacji zebranej podczas rozpoznania; Wykorzystuje się tu inteligencję typu open source.

Tester może zbudować dokładny obraz celu, aby dostosować atak do odpowiednich metod. Chociaż nie jest to powszechne, jak testy internetowe, socjotechnika może być doskonałym sposobem na identyfikację błędów w modelach operacyjnych.

Testy penetracyjne zabezpieczeń fizycznych

Testowanie bezpieczeństwa fizycznego obejmuje uzyskanie dostępu do przestrzeni fizycznej obiektu w celu sprawdzenia skuteczności istniejących środków ochrony i sprawdzenia pod kątem luk w zabezpieczeniach. W przeciwieństwie do testów piórowych, będą one działać na fizycznych środkach bezpieczeństwa, takich jak systemy alarmowe, kontrola dostępu i różne sekcje zawierające wrażliwe informacje.

Aby przeprowadzić ten test, możesz użyć technik takich jak fizyczne obejście, tailgating i socjotechnika. Wyniki uzyskane z testu są następnie wykorzystywane do wyznaczenia ścieżki eliminacji luk i udoskonalenia istniejących środków bezpieczeństwa.

Jeśli Twoja organizacja lub firma ma siedzibę fizyczną, na przykład przechowuje dane i inne poufne informacje, najlepiej byłoby zastosować testy piórkowe w celu zwiększenia bezpieczeństwa. W tym przypadku korzyści odnosi wiele zespołów, na przykład banki i instytucje finansowe, centra danych, obiekty usług rządowych, szpitale i programy opieki zdrowotnej, sklepy detaliczne i centra handlowe, zakłady produkcyjne oraz organizacje posiadające certyfikaty.

Testy penetracji chmury

Testy pióra w chmurze polegają na identyfikowaniu i wykorzystywaniu luk w aplikacjach i infrastrukturze, na przykład SaaS, w rozwiązaniach chmurowych, takich jak Microsoft Azure, Amazon Web Services (AWS) i Google Cloud Platform.

W przeciwieństwie do innych testów, penetracja chmury wymaga głębokiego zrozumienia usług w chmurze. Na przykład słabość SSRF w aplikacjach AWS może zagrozić całej infrastrukturze chmury.

W przypadku innych rozwiązań chmurowych, w tym Azure AD i AWS Cognito, napotkasz problemy i błędną konfigurację. Typowe luki w zabezpieczeniach chmury obejmują niezabezpieczone interfejsy API, słabe poświadczenia, błędną konfigurację serwera, nieaktualne oprogramowanie i niepewne praktyki kodowania.

Testy penetracyjne chmury mogą zwiększyć bezpieczeństwo chmury, jeśli Twoja firma świadczy usługi w chmurze. Ponieważ większość pracodawców zajmujących się chmurą wybiera model wspólnej odpowiedzialności, testy chmury mogą wykryć luki w zabezpieczeniach platformy, jej sieci i przechowywania danych.

Testy penetracyjne kontenerów

Kontenery są dobrze znane z profilowania wizualizacji systemu operacyjnego. Mogą uruchamiać mikrousługi, procesy oprogramowania, a nawet duże aplikacje. Oprócz spojrzenia na kontenery z perspektywy hakera, testy piór kontenerowych umożliwiają wdrażanie niestandardowych środowisk testowych.

Podczas skanowania w poszukiwaniu luk dostępne są dwie opcje. Po pierwsze, analiza statyczna skanuje pod kątem luk w zabezpieczeniach obrazów kontenerów. Po drugie, analiza dynamiczna bada zachowanie kontenera w czasie wykonywania. Aby uzyskać lepsze wyniki, najlepiej wykonać oba.

Luki w kontenerach obejmują aplikacje, konfigurację, sieć i obraz systemu operacyjnego. Jeśli Twój DevOps kręci się wokół Dockera do testów penetracyjnych, możesz dostosować swoje kontenery, wzbogacić je o wszystkie wymagane narzędzia, zmniejszyć luki w zabezpieczeniach i usprawnić ogólną funkcjonalność.

Testy penetracyjne bazy danych

Bazy danych są nieocenione w biznesie. Przechowywanie wrażliwych danych, takich jak szczegóły płatności, informacje o klientach oraz dane o produktach i cenach, powoduje, że przedsiębiorstwa są narażone na ryzyko w przypadku ich naruszenia. Aby zapewnić odpowiednie bezpieczeństwo, przeprowadzane są testy przed wprowadzeniem nowej bazy danych produktów i regularnie dla istniejących.

Próbując uzyskać dostęp do bazy danych niczym haker, stosując najlepsze praktyki branżowe, testy baz danych wskazują, jak radzić sobie z rzeczywistymi atakami.

Typowe zagrożenia dla baz danych obejmują wstrzykiwanie SQL, nieograniczone uprawnienia, słabe ścieżki audytu, ujawnione kopie zapasowe, błędną konfigurację, odmowę usługi (DoS) i złe zarządzanie danymi. Testy odkrywają luki w Twojej bazie danych i zapewniają, że wszystkie wrażliwe informacje są zabezpieczone przed intruzami. Dlatego firmy powinny inwestować w bezpieczeństwo baz danych.

Testy penetracyjne IoT

Internet rzeczy obejmuje wzajemne połączenie urządzeń sieciowych komunikujących się i wymieniających dane za pośrednictwem Internetu. Urządzenia te obejmują obiekty fizyczne, pojazdy i budynki z wbudowanym oprogramowaniem, czujnikami, elektroniką i połączeniami sieciowymi.

W przypadku penetracji IoT nacisk kładzie się na badanie sieci i urządzeń Internetu rzeczy w celu wykrycia wad. Dodatkowo testy bezpieczeństwa wykraczają poza same urządzenia i obejmują ich sieć komunikacyjną, np. platformy przetwarzania w chmurze.

Dominującymi wadami zabezpieczeń urządzeń IoT są niezaszyfrowane dane, niezabezpieczone oprogramowanie sprzętowe, słabe hasła i słaba kontrola uwierzytelniania/dostępu. W miarę jak organizacje korzystają z coraz większej liczby urządzeń IoT, audyty IoT wzmacniają zarządzanie zasobami, wydajnością i ryzykiem oraz spełniają potrzeby w zakresie zgodności.

Testy penetracyjne białej skrzynki

W przypadku testów białej skrzynki masz dogłębną wiedzę na temat systemu docelowego, w tym na temat architektury aplikacji, kodów źródłowych, danych uwierzytelniających, białych list, różnych ról kont i dokumentacji.

Przyjmując takie podejście, biała skrzynka pozwala zaoszczędzić na kosztach zaangażowania. Biała skrzynka dobrze sprawdza się w przypadku złożonych systemów wymagających wysokiego poziomu bezpieczeństwa, takich jak przedsiębiorstwa finansowe i rządy. Wprowadzając pełne pokrycie kodu, możesz wyliczyć błędy wewnętrzne.

Jeśli doszło do naruszenia, najlepszym rozwiązaniem będą testy białej skrzynki, które pozwolą sprawdzić bezpieczeństwo aplikacji, stan sieci, bezpieczeństwo fizyczne i bezpieczeństwo sieci bezprzewodowej. W innych przypadkach można rozważyć test białej skrzynki na wczesnych etapach tworzenia oprogramowania i przed przejściem do produkcji.

Testy penetracyjne czarnej skrzynki

W przypadku testów czarnej skrzynki nie znasz systemu i przyjmujesz podejście hakera. Ponieważ nie możesz uzyskać dostępu do kodu źródłowego ani diagramu architektury, wykorzystujesz sieć w sposób obcy. Oznacza to, że test opiera się na dynamicznej analizie systemów i wykonywaniu programów w sieci docelowej.

Aby odnieść sukces, musisz dobrze znać narzędzia do automatycznego skanowania i ręczne metody testów penetracyjnych. Będziesz także musiał stworzyć mapę celu na podstawie swoich obserwacji. Jest to szybki sposób na przeprowadzenie testów, a czas jego trwania zależy od możliwości znalezienia i wykorzystania luk w zabezpieczeniach. Jeśli jednak nie możesz złamać systemu, luki w zabezpieczeniach pozostają nieodkryte.

Pomimo tego, że jest to jeden z najtrudniejszych testów, zapewnia najlepszy sposób oceny ogólnego bezpieczeństwa systemu. Czasami nazywa się to metodą prób i błędów. Wymaga to jednak wysokiego poziomu wiedzy technicznej.

Test drużyny czerwonej

Red Teaming wygląda podobnie do testów piórowych. Ale to idzie dalej, przybiera formę prawdziwego hakera i nie ma ograniczeń czasowych. Łączysz narzędzia, taktyki i techniki tych testów, aby uzyskać dostęp do docelowego systemu lub danych.

Wszystkie inne testy pióra mają na celu ujawnienie luk w zabezpieczeniach. Czerwone testy oceniają natomiast zdolność obrońców do wykrywania zagrożeń i reagowania. Wykrywanie może opierać się na wskaźnikach uszkodzonych systemów monitorowania, testach oceny fizycznej, a nawet inżynierii społecznej. Testy czerwone można uznać za obszerne, w przeciwieństwie do testów piórowych.

Z drugiej strony, czerwone testy nie oferują szerokiego zakresu testów penetracyjnych. Koncentrują się na dostępie do systemu lub danych. Gdy cel zostanie osiągnięty, nie szukają innych słabości. W przypadku testów piórkowych identyfikujesz wszystkie luki.

Wybór odpowiedniego testu piórowego

Najlepiej byłoby, gdybyś dobrze zaznajomił się ze wszystkimi istniejącymi modelami, aby wybrać odpowiedni test penetracyjny dla swojej organizacji. Dzięki tej wiedzy możesz powiązać swoją organizację z przedsiębiorstwem, które najlepiej jej odpowiada na podstawie Twojego przepływu pracy.

Jeśli uruchamiasz aplikacje internetowe, najlepsze będą testy internetowe. Testy API są odpowiednią opcją, jeśli oferujesz API i rozwój backendu. Lista jest ciągła, obejmująca testy chmury dla dostawców usług w chmurze.

Powyższa lista powinna być dobrym punktem wyjścia. Powinno pomóc Ci rozróżnić wszystkie testy penetracyjne, oświecić Cię o nich i zakończyć najlepszym przypadkiem użycia dla każdego. Poszerzaj swoją wiedzę o te i inne.

Następnie sprawdź oprogramowanie premium do testów penetracyjnych dla aplikacji internetowych.