Wprowadzenie

W obecnych czasach zasobem szczególnie cennym jest informacja. To właśnie informacja może okazać się kluczowa dla przebiegu rywalizacji czy skutecznego działania organizacji.

Jeśli danemu zasobowi przypiszemy określoną wartość, to jaką wartość będzie miał system, który przetwarza ten zasób? Jak ocenić istotność I krytyczność tego systemu? Dlaczego organizacje oceniają wartość systemów informatycznych?

Odpowiedzi na te pytania dają fundamentalną świadomość potrzeb bezpieczeństwa.

System informatyczny ma taką wartość jak najważniejszy zasób, który przetwarza. To zaś daje organizacji możliwość, aby uszeregować systemy w zależności od wartości, którą dla niej stanowią.

“Każdy system jest tak bezpieczny jak jego najsłabsze ogniwo”. Na pierwszy rzut oka to trywialne stwierdzenie, z którym większość osób, nawet nie mających zaawansowanej wiedzy na temat bezpieczeństwa informacji, jest w stanie się zgodzić. Z tego właśnie podejścia wynika potrzeba cyklicznego weryfikowania. Ocena, jak bardzo słabe (lub mocne) jest owe najsłabsze ogniwo. Czy ryzyko wynikające z jego odporności jest akceptowalne dla organizacji, czy wymaga wzmocnienia lub zastąpienia? Tego typu weryfikacja bardzo często odbywa się poprzez przeprowadzenie testów penetracyjnych.

Czym jest test penetracyjny?

Test penetracyjny to kontrolowana próba przełamywania zabezpieczeń danego systemu informatycznego. Innymi słowy, to szukanie i sprawdzanie, gdzie znajduje się najsłabsze ogniwo (w wyznaczonym zakresie) oraz jaka jest jego odporność.

Uwaga: zespół testujący nie może rozpocząć testowania systemu, jeżeli nie otrzyma pisemnej zgody od właściciela tego systemu z wyznaczonym celem testu, zakresem oraz odpowiedzialnością.

Każdy test, który odbywa się bez zgody właściciela jest nielegalny.

Typy testów penetracyjnych

Test typu white-box. W tego rodzaju teście zespół testujący najczęściej posiada pełną wiedzę o testowanym systemie, czyli ma wgląd w dokumentację, architekturę, często również w kod źródłowy. Dodatkowo, zespół znajduje się w posiadaniu zarejestrowanych kont o zróżnicowanych uprawnieniach, o ile system takie dopuszcza.

Test typu gray-box. To test, gdzie zespół testujący ma częściową wiedzę o systemie, który testuje. Zespół ma na przykład dostęp do dokumentacji systemu oraz posiada zarejestrowane konta w systemie.

Test typu black-box. W tego typu testach zespół testujący nie dysponuje jakąkolwiek wiedzą o testowanym systemie, za wyjątkiem adresu.

Test, który jest najdokładniejszy to oczywiście ten typu white-box, natomiast black-box to rodzaj testu, który najlepiej symuluje działania hackera.

Fazy testu penetracyjnego

Test penetracyjny swoją anatomią przypomina ogólne podejście złodzieja, który planuje włamanie do mieszkania.

Faza pierwsza to rekonesans, czyli gromadzenie dużej ilości informacji o celu. W tym przypadku zadanie polega na zwiększeniu prawdopodobieństwa natrafienia na informacje, które znaczny sposób ułatwią wybór metody ataku.

Należy mieć także świadomość, że atakujący działają według zasady “hang the lowest fruit”, czyli hackerzy wybierają metodę, która da im najszybsze osiągnięcie celu w najprostszy dla nich sposób. Dlatego też może zaistnieć sytuacja, gdzie atakujący odstępuje od ataku systemu ze względu na nieopłacalny dla niego poziom trudności sukcesywnego przeprowadzenia ataku. Im więcej zebranych wartościowych informacji przez atakującego, tym większa jego determinacja i szansa na skuteczny atak.

W zdecydowanej większości ataków hackerskich faza rekonesansu to około 80% całego ataku, a jego istotność można sprowadzić do cytatu – “jeśli nie udało się włamać do danego systemu, to oznacza, że rekonesans nie został wystarczająco dobrze wykonany”.

Jako analogię można przywołać włamywacza zdobywającego informacje o domu, który obiera za swój cel. W tej fazie sprawdza na przykład, w jaki sposób rozmieszczone są okna, gdzie znajdują się drzwi, czy dom otoczony jest płotem, czy w bliskiej odległości od domu występuje sąsiedztwo innych mieszkańców danej okolicy, jaka jest potencjalna droga ucieczki.

Faza druga to skanowanie. W tej fazie, przywołany w ramach analogii włamywacz stara się zidentyfikować specyfikację poszczególnych elementów domu. Dzięki temu określa, jakie mechanizmy bezpieczeństwa występują w oknach, drzwiach i innych miejscach, będących potencjalnym punktem startowym ataku. Sprawdza, czy łatwo przeskoczyć płot wokół domu, czy pies, który jest w ogrodzie stanowi zagrożenie dla jego życia lub zdrowia. Ustala, czy sąsiadami są ludzie dbający głównie o własną przestrzeń, czy też wścibscy podglądacze wyglądający całe dnie przez okna.

Kolejna faza to eksploitacja, czyli próba uzyskania nieautoryzowanego dostępu do systemu. Ta faza następuje właściwie po wyborze “lowest fruit”, czyli zaraz po namierzeniu przez atakującego najsłabszego ogniwa w określonym zakresie.

Po co wykonuje się test penetracyjny?

Celem testu penetracyjnego jest zbadanie poziomu bezpieczeństwa systemu lub jego fragmentu, świadomości pracowników organizacji, efektywności zabezpieczeń systemu.

Zarówno cel, jak i zakres powinny, jeszcze przed rozpoczęciem testów, zostać uzgodnione z osobą decyzyjną w organizacji, na zlecenie której taki test będzie wykonany. Daje to gwarancję, że systemy znajdujące się poza zakresem testu, pozostaną nienaruszone, a zespół testujący skoncentruje się na systemach kluczowych z punktu widzenia bezpieczeństwa organizacji.

Pamiętać należy, że przeprowadzenie testu penetracyjnego, nawet najlepszego i z wykorzystaniem najwyższej klasy ekspertów, nie daje gwarancji, że wszystkie istniejące luki bezpieczeństwa zostaną zidentyfikowane.

Co daje znalezienie podatności?

Wyobraźmy sobie, że mieszkamy w domu jednorodzinnym, w którym mamy bardzo dużo wartościowych rzeczy i planujemy wraz z rodziną wyjechać na długie wakacje. Każdy rozsądny człowiek zanim wyruszy w podróż, sprawdzi najpierw, czy drzwi zostały zamknięte na wszystkie zamki, czy opuścił rolety antywłamaniowe oraz czy pamiętał, by włączyć alarm. Co jednak stanie się w przypadku, gdy będąc w drodze między naszym domem a na przykład lotniskiem, przypomnimy sobie, że zapomnieliśmy zamknąć garażu? To pytanie, na pozór zabawne, oddaje istotę szacowania ryzyka.

Koncentrując się wokół zagadnienia drzwi od garażu, należałoby przede wszystkim postawić następujące pytanie: czego potrzebowałby potencjalny przestępca, aby włamać się do naszego garażu? Odpowiedź na nie to nic innego, jak określenie prawdopodobieństwa tego zdarzenia. Następny krok to ustalenie, czy w garażu przechowujemy cenne rzeczy oraz czy włamywacz byłby w stanie przedostać się z garażu do innych pomieszczeń naszego domu, w których przechowujemy wartościowe przedmioty.

Po przeanalizowaniu powyższej sytuacji, następuje podjęcie decyzji poprzez wybór jednej z dwóch opcji: 1) wracamy do domu, aby zamknąć drzwi od garażu i przez to narażamy się na spóźnienie na samolot, 2) akceptujemy jednak ryzyko i nie wracamy się do domu.

Przed takim dylematem za każdym razem staje właściciel biznesowy systemu, który jest poddawany testowi penetracyjnemu.

Przeważnie, względy biznesowe determinują w dużym stopniu drogę, która zostanie obrana przez organizację po wykryciu luki bezpieczeństwa.

Podsumowanie

W dobie cyfryzacji coraz większej ilości różnych dziedzin życia, w sposób nieunikniony będziemy narażeni na ataki ze strony cyberprzestępców, a trend ten nie tylko będzie się utrzymywał, ale i wzrastał. Od nas samych zależy, czy będziemy potrafili stawiać skuteczny opór. Budowanie świadomości zagrożeń to nie przerost formy nad treścią, jak dotąd niektórzy uważali, ale fundament bezpieczeństwa naszego wizerunku oraz naszych pieniędzy i danych. Nawet najlepsza technologia nie zapewni stuprocentowej pewności w zakresie bezpieczeństwa, bowiem skuteczność technologii może być zależna od osoby, która ją użytkuje. Niemniej jednak, bezpieczna technologia to warunek konieczny. Pamiętajmy tylko, że to warunek wciąż niewystarczający do tego, aby system posiadał odpowiedni poziom bezpieczeństwa. Dziś, testy penetracyjne to nie tylko weryfikacja podatności, szacowanie ryzyka, ale też uświadamianie deweloperów i administratorów, z jakimi zagrożeniami system będzie miał do czynienia po wdrożeniu go do środowiska produkcyjnego.