Skip to content

Ethical Hacking

Usłyszałeś haker, hacking i od razu pomyślałeś o osobach nielegalnie włamujących się do systemów IT. To fakt ale istnieje też coś takiego jak etyczny hacking / ethical hacking, który robi wiele dobrego, pomagając zabezpieczyć nasze sieci przed nieautoryzowanym dostępem. W skrócie, etyczny hacking to proces, w którym specjalista testuje bezpieczeństwo systemów informatycznych.

Testy penetracyjne

Jeśli jesteś odpowiedzialny za zabezpieczanie sieci lub systemu, Twoim celem jest znalezienie wszelkich możliwych dróg do kompromitacji, zanim zrobią to osoby o złych intencjach. Na rynku dostępne są różne techniki obrony, jak programy antywirusowe, zapory sieciowe, systemy zapobiegania włamaniom ale skąd wiadomo czy są skuteczne? Samo wdrożenie ww. bez odpowiedniej konfiguracji oraz systematycznych audytów będzie traciło na swojej skuteczności.

Threat actors - zagrożenia

Organized Crime
Cyberprzestępczość od kilku lat stała się bardziej dochodowa niż większość popularnych przestępstw. Zorganizowane grupy hakerów to dobrze finansowani i zmotywowani ludzie, którzy wykorzystują najnowsze narzędzia i techniki ataków. Niezależnie od tego, czy chodzi o ransomware, czy kradzież danych, jeśli można to spieniężyć, tego typu grupa na pewno to wykorzysta.

Hacktivists
Hacktywiści to ludzie, którzy nie kierują się chęcią zysku. Ich celem jest udowodnienie czegoś lub promowanie swoich przekonań za pomocą cyberprzestępczości. Tego typu ataki często polegają na kradzieży poufnych danych, które następnie są ujawniane publicznie, by zawstydzić cel lub wywrzeć na nim wpływ finansowy.

State-Sponsored Attackers
Cyberwojna i szpiegostwo cybernetyczne to terminy, które najlepiej opisują tę kategorię. Wiele rządów na całym świecie wykorzystuje cyberataki do kradzieży informacji od swoich przeciwników.

Insider Threats
Zagrożenia wewnętrzne mogą pochodzić od zwykłych pracowników, którzy zostali zmanipulowani do ujawnienia poufnych informacji lub wpadli w pułapkę phishingu i kliknęli w złośliwe łącza, umożliwiając atakującym dostęp do ich komputerów.

Popularne typy testów penetracyjnych

Network Infrastructure Tests Testy te zazwyczaj obejmują przełączniki, routery, zapory sieciowe oraz zasoby pomocnicze, takie jak serwery uwierzytelniania, autoryzacji i rozliczania (AAA) oraz systemy IPS. Czasami testowanie infrastruktury bezprzewodowej może być częścią testu infrastruktury sieciowej, ale wymaga to dodatkowych działań. Na przykład tester bezpieczeństwa sieci bezprzewodowej starałby się włamać do sieci bezprzewodowej, omijając mechanizmy zabezpieczeń lub łamiąc metody kryptograficzne używane do ochrony ruchu.

Application-Based Tests Ten typ testowania koncentruje się na sprawdzaniu słabości bezpieczeństwa w aplikacjach. Do najczęstszych problemów zaliczają się błędy konfiguracyjne, problemy z walidacją danych wejściowych, luki czy błędy w logice aplikacji. Ponieważ aplikacje internetowe są zazwyczaj zbudowane na serwerze www i bazie danych, zakres testu obejmuje także sprawdzenie bezpieczeństwa bazy danych. Dobrym źródłem wiedzy na ten temat jest Open Web Application Security Project (OWASP), który regularnie dostarcza aktualne informacje i zalecenia dotyczące zabezpieczeń aplikacji.

Penetration Testin in the Cloud
Bezpieczeństwo w chmurze zależy od modelu chmury, który jest używany – SaaS (oprogramowanie jako usługa), PaaS (platforma jako usługa) lub IaaS (infrastruktura jako usługa). Niezależnie od modelu, bezpieczeństwo chmury jest odpowiedzialnością zarówno dostawcy, jak i klienta, co należy szczegółowo ustalić przed podpisaniem umowy. Umowy mogą obejmować takie kwestie jak odzyskiwanie danych po awarii, umowy SLA, integralność danych czy szyfrowanie. Ważne jest, aby zrozumieć, kto odpowiada za szyfrowanie danych oraz zarządzanie kluczami – czy to klient, czy dostawca chmury.

Ogólnie rzecz biorąc, kluczowe jest, aby dostawca usług chmurowych zapewniał odpowiednie warstwy zabezpieczeń (logiczne, fizyczne i administracyjne) w taki sposób, jakbyś to robił w przypadku usług, które sam kontrolujesz. Podczas przeprowadzania testów penetracyjnych w chmurze, należy dobrze rozumieć, co jest dozwolone, a co nie w zakresie oceny bezpieczeństwa. Większość dostawców chmurowych ma szczegółowe wytyczne dotyczące przeprowadzania ocen bezpieczeństwa i testów penetracyjnych w ich środowiskach.

Środowiska testów penetracyjnych

Black box - test w nieznanym środowisku
Testerowi udostępniana jest zazwyczaj bardzo ograniczona ilość informacji. Przykładowo mogą to być jedynie nazwy domen i adresy IP, które są w zakresie określonego celu. Takie podejście to przyjęcie perspektywy zewnętrznego atakującego. Zazwyczaj atakujący rozpoczyna od określenia celu, a następnie zbiera informacje publiczne na jego temat, stopniowo uzyskując więcej danych do wykorzystania w atakach. Tester nie ma wcześniejszej wiedzy o atakowanej organizacji i infrastrukturze. Dodatkowym aspektem testów typu black box jest fakt, że czasami administrator IT nie jest poinformowany o czasie przeprowadzania testu. Tego rodzaju podejście pozwala przeprowadzić ćwiczenia obronne i eliminuje możliwość przygotowania się organizacji do testu, co zapewnia bardziej wiarygodne wyniki.

White box - test w znanym środowisku
Tester zaczyna z większą ilością informacji o organizacji i jej infrastrukturze. Zwykle udostępniane są takie dane jak diagramy sieciowe, adresy IP, konfiguracje oraz dane uwierzytelniające użytkowników. Jeśli zakres testu obejmuje ocenę aplikacji, tester może otrzymać także kod źródłowy aplikacji docelowej. Celem tego typu testu jest identyfikacja jak największej liczby luk w zabezpieczeniach. W odróżnieniu od testu w nieznanym środowisku, test white box ma szerszy zakres, obejmujący audyt wewnętrznych konfiguracji sieci oraz skanowanie komputerów stacjonarnych w celu wykrycia podatności.

Gray box - częściowo znane środowisko
Test w częściowo znanmy środowisku to podejście hybrydowe, łączące elementy testów black box i white box. Testerzy mogą otrzymać poświadczenia, ale nie pełną dokumentację infrastruktury sieciowej. Pozwala to testerom na przeprowadzenie prób z perspektywy zewnętrznego atakującego, zachowując jednocześnie dostęp do części wewnętrznych danych. W praktyce, biorąc pod uwagę, że wiele ataków zaczyna się od kompromitacji klienta, testy tego typu mogą rozpocząć się od wewnątrz sieci, np. przez dostęp do komputera klienckiego. Następnie testerzy mogą poruszać się po sieci, oceniając wpływ dalszego rozprzestrzeniania się ataku i potencjalne konsekwencje kompromitacji.

Popularne metodologie i standardy w testach penetracyjnych

  • MITRE ATT&CK to zbiór technik i procedur wykorzystywanych przez cyberprzestępców, który pomaga w analizie i wykrywaniu ataków w organizacjach, bazując na rzeczywistych danych z cyberzagrożeń.
  • OWASP (Open Web Application Security Project) to organizacja opracowująca standardy i wytyczne dotyczące testowania bezpieczeństwa aplikacji webowych, szczególnie skupiając się na identyfikacji najczęstszych podatności.
  • NIST SP 800-115 to wytyczne dotyczące przeprowadzania testów penetracyjnych i ocen bezpieczeństwa, opracowane przez Narodowy Instytut Standardów i Technologii, które pomagają w ocenie i zabezpieczaniu systemów informacyjnych.
  • OSSTMM (Open Source Security Testing Methodology Manual) to metodologia testowania bezpieczeństwa, która dostarcza wszechstronny i szczegółowy proces oceny zabezpieczeń obejmujący aspekty techniczne, fizyczne oraz organizacyjne.
  • PTES (Penetration Testing Execution Standard) to zestaw zasad i najlepszych praktyk przeprowadzania testów penetracyjnych, który obejmuje proces od planowania do raportowania wyników testów.
  • ISSAF (Information Systems Security Assessment Framework) to metodologia oceny bezpieczeństwa systemów informacyjnych, oferująca strukturę do kompleksowego audytu infrastruktury IT i poprawy jej zabezpieczeń.

🕞 Ostatnia aktualizacja 09.01.2025