Testy penetracyjne, czyli szukanie dziur w systemie
wtorek, 20 styczeń 2015
Pentesty lub testy penetracyjne (tzw. kontrolowane włamania) są prowadzone w celu określenia podatności badanego systemu teleinformatycznego na ataki wewnętrzne i zewnętrzne. Jest to próba włamania dokonywana z upoważnienia właściciela serwisu, metodami zbliżonymi do rzeczywistych. Pozwala na znalezienie podatności konkretnego systemu, aplikacji czy sieci. Potrafi wskazać miejsca, w których mechanizmy bezpieczeństwa i procedury postępowania w przypadku włamania zawodzą. Jest to coraz bardziej popularna proaktywna technika zabezpieczania, za pomocą, której można wyprzedzić włamywacza (crakera), dająca realną ocenę bezpieczeństwa systemu i jakości zastosowanych zabezpieczeń.
Testy penetracyjne są szczególnie ważne z kilku powodów:
- Ustalenie potencjalnego zbioru możliwych wektorów ataku
- Identyfikowanie podatności wysokiego ryzyka powstających w wyniku połącznia i wykorzystywania w określonej kolejności luk o niskim ryzyku
- Identyfikowanie luk, które mogą być trudne lub niemożliwe do wykrycia za pomocą automatycznych narzędzi do skanowania pod kontem podatności sieci lub aplikacji
- Oceny skali potencjalnych strat biznesowych i operacyjnych w wyniku przeprowadzenia skutecznego ataku
- Badania zdolności sieciowych systemów ochrony do skutecznego wykrywania i reagowania na ataki
- Dla celów argumentowania konieczności zwiększania inwestycji w personel i stosowane technologiczne rozwiązania bezpieczeństwa
Należy też pamiętać, że testy penetracyjne są elementem pełnego audytu bezpieczeństwa, który może być wykonywany np. pod kątem zgodności z normą ISO 27001.
Co prawda testy penetracyjne są przeprowadzane wedle planu pentestera, nie ma tutaj obowiązku stosowania konkretnego standardu, istnieją jednak tzw. dobre praktyki, normy i punkty sprawdzania, które zaleca się uwzględniać. Do najpopularniejszych należą:
- OSSTMM (Open Source Security Testing Methodology)
- PTES (Penteration Testing Execution Standard)
- OWASP (Open Web Apllication Security Project)
- NIST SP 800-42 (Guideline on Network Security Testing)
- NIST SP 800-115 (Technical Guide to Information Security Testing)
- ISAAF (OISSG Penetration Testing Framework)
Niezależnie od zastosowanego standardu, wedle którego przeprowadza się test penetracyjny, można wyróżnić 5 konkretnych etapów z których się on składa:
- Zdobywanie informacji
- Skanowanie
- Enumeracja
- Eksploracja
- Raportowanie
Najpopularniejsze rodzaje testów penetracyjnych to:
- whitebox pentest – w tego typiu teście, tester otrzymuje maksymalnie dużo informacji na temat sprawdzanego systemu/aplikacji. Obejmują one uprawnienia dostępu, dostęp do schematów/architektury, kod źródłowy oraz wszelkie inne informacje, które pomogą uzyskać pełny obraz systemu. Nie ma nic ukrytego przed testerem w tym typie oceny.
- blackbox pentest – tester nie ma udostępnionych żadnych szczegółowych informacji na temat testowanego systemu/aplikacji. Brak uprawnień dostępu, żadnych schematów ani wiedzy na temat architektury. Ten rodzaj badania jest stosowany do symulacji zewnętrznego ataku bez posiadania wiedzy wewnętrznej.
- greybox pentest - tego typu testy funkcjonują pod wieloma różnymi definicjami. Jest to test, który klasyfikujemy pomiędzy blackbox a whitebox. W tym scenariuszu, tester może otrzymać schematy/architekturę testowanych aplikacji/systemów, uprawnienia dostępowe, dostęp do wersji testowych aplikacji, możliwość bezpośredniej komunikację z docelowym systemem, i wiele więcej.
Bardzo ważne jest więc, aby osoba odpowiedzialna za bezpośrednie wykonywanie testów bezpieczeństwa, zarówno wewnętrznych jak i zewnętrznych, brała udział w procesie zamawiania i zakupu tego typu usług oraz posiadała niezbędną i aktualną wiedzę na temat ich przeprowadzania.
Zachęcamy do zapoznania się ze szkoleniami IT z tej tematyki, które już od wielu lat cieszą się popularnością i uznaniem w branży IT, w szczegółności:
- C)PTE - Certified Penetration Testing Engineer - szkolenie to dostarcza praktyczną wiedzę na temat bezpieczeństwa IT, która w szczególności pozwala na wyszukiwanie podatności systemów, rozpoznawania luk w systemach bezpieczeństwa, identyfikowanie słabości oraz ochronę przed potencjalnymi zagrożeniami. Uczestnicy szkolenia poznają sztukę etycznego hackowania w profesjonalnych ramach prowadzenia testów penetracyjnych.
- C)PTC - Certified Penetration Testing Consultant - kurs ten jest przeznaczony głownie dla specjalistów ds. bezpieczeństwa i administratorów systemów sieciowe, którzy są zainteresowani prowadzeniem testów penetracyjnych w dużych infrastruktur sieciowych takich jak duże sieci: korporacyjnej, dostawców usług internetowych, firm telekomunikacyjnych. Szkolenie to obejmuje zagadnienia dotyczące sposób atakowania i zapobieganiu atakom skierowanym przeciwko protokołom i infrastrukturze sieciowej.
- C)SWAE - Certified Secure Web Application Engineer - szkolenie to prowadzi deweloperów przez zagadnienia związane z koncepcjami bezpiecznych aplikacji, zasadami i standardami, które powinny obowiązywać. Deweloper biorący udział w szkoleniu będzie mógł projektować, rozwijać i testować aplikacje internetowe, które zapewnią zarówno niezawodność działania usług internetowych oraz będą zgodne z potrzebami i wymaganiami biznesowymi.
- Testy penetracyjne: atakowanie i ochrona systemów informatycznych - kurs ten wprowadza do tematyki testów penetracyjnych. Uczestnik zapozna się z aktualnymi technikami oraz narzędziami używanymi podczas przeprowadzenia ataków na zdalne systemy. Tematyka obejmuje m.in. pasywne i aktywne zbieranie informacji, techniki identyfikacji usług oraz systemów bezpieczeństwa. Uczestnik pozna anatomię ataku oraz metody umożliwiające przejmowanie kontroli nad zdalnym systemem. Przedstawione również zostanie oprogramowanie pozwalające na zautomatyzowane wyszukiwanie luk bezpieczeństwa, a także przeprowadzenie ataku.
- WWW: atakowanie i ochrona webaplikacji - celem szkolenia jest podniesienie wiedzy dotyczącej bezpiecznego tworzenia aplikacji internetowych. W trakcie szkolenia przedstawione zostaną zarówno współczesne techniki ataków na aplikacje i jak metody skutecznej przed nimi obrony. Największy nacisk zostanie położony na tzw. aplikacje internetowe, czyli aplikacje, dla których interfejsem jest przeglądarka WWW.