Testy penetracyjne

HomeTesty penetracyjne

Dlaczego powinniśmy prowadzić dla Ciebie testy penetracyjne?

Odpowiedź na to pytanie jest prosta, ponieważ:

  • mamy bardzo duże doświadczenie poparte pracą dla znanych firm oraz organizacji reprezentujących różne sektory gospodarki,
  • wiemy jak skutecznie prowadzić testy o czym świadczą nasi Klienci oraz nasze sukcesy (patrz CVE),
  • mamy pracowników wykonujących zadania wyłącznie dla nas, co gwarantuje dostępność oraz ciągłość, bezpieczeństwo i dyskrecję podczas prowadzenia testów,
  • znamy doskonale sektor nowych technologii,
  • znamy doskonale naszą konkurencję i wiemy że jesteśmy lepsi (to nie jest pustosłowie ani arogancja),
  • prócz wiedzy technicznej stosujemy podstawy naukowe dla uzasadnienia metodyki testów oraz uzyskiwanych wyników,
  • mamy wiedzę nie tylko na temat technologii ale również prawa oraz biznesu zatem nasze testy uwzględniają szeroki wpływ aplikacji na Klienta oraz jego otoczenie.

Jakie testy wykonujemy?

Prowadzimy testy:

  • aplikacji webowych (opartych o przeglądarkę internetową),
  • aplikacji mobilnych (Android, iOS),
  • aplikacji wbudowanych (firmware),
  • systemów operacyjnych (rodzina Windows Server oraz Desktop oraz wiele odmian Linux, Unix i FreeBSD),
  • urządzeń i systemów dedykowanych (UTM, NG Firewall).

Aplikacje webowe

Wykonujemy testy penetracyjne aplikacji webowych. To obecnie najczęściej występujący rodzaj aplikacji i większość testów, które prowadzimy dotyczy technologii webowych czyli opartych o przeglądarkę Internetu (Google Chrome, Opera, Firefox Mozilla, Microsoft Edge).

Testy prowadzimy w oparciu o najlepszą wiedzę i doświadczenie własne oraz zgodnie z założeniami OWASP (Open Web Application Security Project).

Aplikacje mobilne

Wykonujemy testy penetracyjne aplikacji mobilnych. To obecnie najczęściej występujący rodzaj aplikacji po aplikacjach webowych, ponieważ rynek urządzeń mobilnych rozwija się najszybciej. Wykonujemy wiele testów aplikacji mobilnych dla platform Google Android oraz Apple iOS.

Testy prowadzimy w oparciu o najlepszą wiedzę i doświadczenie własne oraz zgodnie z założeniami OWASP MSTG (Mobile Security Testing Guide).

Aplikacje wbudowane (firmware)

Firmware to rodzaj oprogramowania wbudowany w urządzenia. Typowym przykładem jest BIOS płyty głównej lub sterownika macierzy dyskowych RAID.

Obecnie ekspresy do kawy, system pomiaru ciśnienia w oponach samochodu, piekarnik, słup oświetleniowy ma swój firmware, który często zawiera błędy krytyczne umożliwiające nawet uszkodzenie urządzenia.

Systemy operacyjne

Prowadzimy testy penetracyjne systemów operacyjnych (rodzina Windows Server, Desktop, Linux, Unix). Dzięki testom możliwe jest określenie najsłabszych punktów systemu umożliwiającego działanie pozostałych podsystemów i aplikacji (baz danych, systemów dziedzinowych, usług serwera).

Testy systemów prowadzimy w oparciu o wiele różnych metod, które stosujemy łącznie. Dzięki temu raport jest zazwyczaj bardzo bogatą oraz ciekawą lekturą.

Jak długo trwają testy penetracyjne?

Pentesty mogą trwać kilka godzin lub kilka miesięcy, wszystko zależy od zakresu testów lub/i obszerności systemu informatycznego.

Szacujemy czas trwania pentestów na podstawie wielu różnych parametrów np.:

  • ilości linii kodu źródłowego aplikacji,
  • ilości formularzy oraz pól w formularzach,
  • kategorii danych, które przetwarzane są w systemie informatycznym,
  • technologii, na bazie której zbudowano system informatyczny,
  • ilości komponentów, które wbudowano w aplikację,
  • wielu innych parametrów, ale i tak zawsze skupiamy uwagę na określeniu zakresu, bo zakres determinuje złożoność, a złożoność czas.

Jakimi metodami prowadzimy testy penetracyjne?

Testy penetracyjne obejmują rozległy oraz złożony obszar dlatego jednoznaczna odpowiedź na to pytanie jest trudna, ale najczęściej posługujemy się metodyką PTES (Penetration Testing Execution Standard) opracowaną przez Infosec Institute, stosujemy również metodykę P-PEN opracowaną przez Zakład Systemów Komputerowych, Instytut Teleinformatyki i Automatyki WAT oraz Methodology for Penetration Testing autorstwa jednego ze światowych liderów w zakresie przeprowadzania komercyjnych testów penetracyjnych, firmy Offensive Security – metoda skupiająca się na aspektach czysto technicznych, łącząca realia i wymagania, jakie znajdują się w branży militarnej względem wymagań panujących na rynku komercyjnym. Istotą testów prowadzonych według zaleceń Offensive Security jest maksymalizacja wysiłku w zakresie prowadzenia testu penetracyjnego, a racjonalizacja prac związanych z wytwarzaniem list umożliwiających ocenę ryzyka.

Podczas prowadzenia testów dzielimy je na następujące fazy:

  • Rozpoznanie – swobodna praca zespołu testerów polegająca na rozpoznaniu przedmiotu testów, Klienta, otoczenia biznesowego oraz technicznego, interesariuszy.
  • Zdobywanie informacji – praca zespołu polega na gromadzeniu informacji umożliwiających zbudowanie wektorów ataku dla celów uruchomienia testów.
  • Modelowanie zagrożeń – polega na odnalezieniu elementów systemu informatycznego, które mają największy wpływ na bezpieczeństwo organizacji,
  • Analiza podatności – polega na odnalezieniu jak największej liczby słabych punktów i błędów (podatności) by wykorzystać je w kolejnej fazie.
  • Eksploatacja – polega na wykorzystaniu podatności w celu pozyskania jak największej liczby danych z systemu informatycznego, próby wyłączenia,  uszkodzenia, przejęcia tego systemu.
  • Ocena wartości – polega na estymacji wartości systemu, w którym wykryto podatności względem wartości danych lub szkód, które można wyrządzić w wyniku wykorzystania podatności,
  • Raportowanie – polega na przygotowaniu raportu opisującego wykryte podatności oraz propozycję sposobów ich eliminacji.

Jaki jest cel prowadzenia testów penetracyjnych?

Cel jest jasny i czytelny: minimalizacja strat w obszarze wizerunkowym, finansowym, formalnym wynikających z podatności i błędów w różnych obszarach środowiska IT oraz wśród osób, które wykorzystują systemy informatyczne do codziennej pracy.

Cel ten można osiągnąć poprzez stosowanie różnych metod testu w różnych obszarach infrastruktury informatycznej przez co weryfikować można każdą warstwę Modelu OSI oraz elementy krytyczne umożliwiające funkcjonowanie infrastruktury informatycznej np.: bezpieczeństwo budynku (centrum danych), podtrzymania zasilania, klimatyzacji, zabezpieczeń przeciwpożarowych, systemu kontroli dostępu czy monitoringu wizyjnego.

Jakie są konsekwencje braku testów penetracyjnych?

W wyniku braku testów penetracyjnych każda organizacja naraża się na bardzo realne oraz wymierne konsekwencje.

Straty wynikające z wycieków danych, braku dostępności aplikacji czy wstrzyknięcia szkodliwego kodu do systemu informatycznego mają najczęściej konsekwencje:

  • finansowe (w związku z karami zdefiniowanymi w RODO w przypadku wycieku danych kary są wysoce prawdopodobne),
  • wizerunkowe – organizacje bardzo wiele tracą w oczach Klientów oraz użytkowników. Jest to szczególnie istotny element wszystkich organizacji, które są powszechnie rozpoznawalne i dla których strata wizerunkowa będzie szczególnie dotkliwa,
  • utraty zaufania – organizacje dostarczające systemy informatyczne oraz informacyjne poprzez utratę zaufania Klientów mogą stracić najwięcej w każdym wymiarze prowadzonej działalności,
  • prawne – szczególne kategorie danych (n.: dane biometryczne, o zdrowiu, wyznaniu, dane genetyczne) mogą wywołać, w razie wycieku, prócz skutków opisanych powyżej konsekwencje prawne i być przyczyną do prowadzenia postępowania karnego lub cywilnego przeciwko organizacji, która nie dołożyła starań by system informatyczny był bezpieczny.

Jakie są korzyści wynikające z prowadzenia testów penetracyjnych?

Główną korzyścią wynikającą z poprawnie zrealizowanego testu penetracyjnego jest minimalizacja ryzyka i bezpieczeństwo w prowadzeniu działalności każdej organizacji.

Bardzo ważnym jest również możliwość okazania się skróconym raportem pentestów przed Klientami, partnerami biznesowymi lub w razie kontroli, w celu wykazania dbałości o bezpieczeństwo. To bardzo silny i rzeczowy argument.

Korzyści wynikające z prowadzenia pentestów wymieniamy poniżej:

  • zdecydowanie niższe prawdopodobieństwo zapłacenia kar wynikających z RODO,
  • demonstracja przed pracownikami zaangażowania całej organizacji oraz Zarządu w bezpieczeństwo, co jest szczególnie ważne w kontekście zasady rozliczalności RODO,
  • wzrost zaufania Klientów i użytkowników w stosunku do Organizacji,
  • podwyższenie konkurencyjności względem podmiotów oferujących porównywalne produkty lub usługi,
  • obniżenie kosztów testów wewnętrznych,
  • uwiarygodnienie jakości oraz bezpieczeństwa produktu przez zewnętrzny podmiot,
  • identyfikacja zagrożeń, których nie wykryje oprogramowanie automatyzujące proces testów penetracyjnych,
  • możliwość określenia nie tylko wektorów ataku, ale również poziomu przygotowania do obrony,
  • możliwość weryfikacji zgodność z normami i standardami bezpieczeństwa obowiązującymi w wybranym sektorze gospodarki (szczególnie ważne dla przemysłu, finansów, medycyny oraz sektora publicznego),
  • wzrost świadomości wśród pracowników w obszarze bezpieczeństwa.

Jak często należy wykonać testy penetracyjne?

Regularnie! Nie wystarczy przeprowadzenie testu penetracyjnego „raz na jakiś czas”. Wymagane jest prowadzenie testów zgodnie z ustalonym harmonogramem oraz zasadami przez co należy rozumieć np.:

  • prowadzenie testów po aktualizacji/zmianie określonego procentowo obszaru systemu informatycznego,
  • określonego obszaru, krytycznego dla aplikacji,
  • określonej liczby kodu źródłowego dodanego lub zmienionego,
  • czasu, który upłynął od ostatnich testów,
  • liczby osób, które zmieniły się w składzie zespołu wytwarzającego kod źródłowy,
  • zmian technologicznych,
  • zmian w obszarze komponentów, systemów operacyjnych, konfiguracji urządzeń, baz danych itd.
  • nakazują je lub zalecają przepisy prawa,
  • zalecają je dobre praktyki,
  • następują duże zmiany w organizacji.