Podejście procesowe do zarządzania podatnościami

Kamil Gapiński

Kamil Gapiński

, Publikacje

Skuteczność kampanii związanych z cyber zagrożeniami zależy od wielu czynników. Niektóre z nich to m.in. poziom wyrafinowania wiadomości phishingowej, przygotowanie i świadomość użytkowników w zakresie obrony przed socjotechniką, polityka bezpieczeństwa organizacji czy charakterystyka używanego sprzętu i oprogramowania. Z zaniedbaniami w kontekście tego ostatniego czynnika związana jest spora część udanych cyber ataków. Brak aktualizacji, instalowania poprawek naprawiających błędny kod, nieprawidłowa konfiguracja czy niezmienianie domyślnych haseł jest przyczyną występowania podatności (vulnerabilities), tak chętnie wykorzystywanych przez hakerów. Przeciwdziałać temu może odpowiednie zarządzanie.

 

Podatności systemów często wynikają z braku odpowiedniej higieny bezpieczeństwa infrastruktury sieciowej, ale nie tylko. Mogą być również rezultatem nieznajomości obsługi danego rozwiązania lub powstać w trakcie użytkowania. Oczywiście zdarzają się również sytuacje, w których przełamanie zabezpieczeń odbywa się przy użyciu zupełnie nowych narzędzi ataku, czyli tzw. 0-day exploits. Jest to złośliwe oprogramowanie, które wykorzystuje nieznaną wcześniej podatność w kodzie oprogramowania. Mówiąc o takim scenariuszu, trudno doszukiwać się zaniedbań po stronie użytkownika czy administratora.

W związku z istotnym wyzwaniem, jakim jest obrona przez wykorzystaniem podatności, branża cyberbezpieczeństwa zaczęła stosować cały katalog uporządkowanych czynności, funkcji i narzędzi, które mają zapewnić wymagany poziom ochrony. Takie działanie to zarządzanie podatnościami (vulnerability management). Proces ten jest wysokopoziomowym podejściem do zarządzania podatnościami w całym cyklu ich życia. Obejmuje zatem takie elementy jak skanowanie, detekcja i usunięcie danej słabości. Myśląc o zarządzaniu podatnościami w sposób procesowy, należy założyć, że wszystkie te czynności są wykonane w sposób zaplanowany, przy wykorzystaniu odpowiednio dobranych narzędzi, kompetencji i umiejętności, a także uwzględniając potencjalne ryzyka. Zarządzanie podatnościami jest także rozumiane jako usługa, której wykonanie wspierają zespoły reagowania na incydenty bezpieczeństwa.

 

Najważniejsze zadanie w procesie zarządzania podatnościami

 

Najważniejszym zadaniem w procesie zarządzania podatnościami jest skanowanie podatności (vulnerability scanning). Wykonuje się je za pomocą dedykowanych narzędzi, które mogą różnić pod kątem zaawansowania technicznego, wymagań dodatkowej konfiguracji ze strony testera oraz zasięgu. W praktyce jednak należy pamiętać, że efekty skanowania zależą w dużej mierze od doświadczenia osoby testującej. W przeciwieństwie do testów penetracyjnych, takie skanowanie przeprowadza się automatycznie i nie jest ono ukierunkowane na specyficzne, mniej znane systemy lub autorskie aplikacje. Skaner podatności, w zależności od dostawcy usługi, umożliwia przekazanie nam informacji o słabościach dotyczących popularnych rozwiązań, opierając się na bazie znanych już podatności.

Istotne jest, by przeprowadzenie skanowania było skonsultowane z administratorami, tak by zaplanować okno serwisowe dla takich działań. Proces ten musi także obejmować monitoring stabilności skanowanych systemów. W razie nieprzewidzianych nieprawidłowości, specjalista odpowiedzialny za wykonanie skanowania musi być o tym poinformowany.

 

Dwa główne rodzaje skanowania

 

W części rozważań o tej fazie procesu, należałoby dodać, że skanowanie można podzielić na dwa główne rodzaje. Można mówić o skanowaniach wykonywanych z uwzględnieniem informacji uwierzytelniających, wiedzy o dostępach itd. (authenticated scans) oraz wykonywanych tak, jakby naszą infrastrukturę nasłuchiwano z „zewnątrz” (unauthenticated scans). Powszechnie uważa się, że lepsze rezultaty skanowania oferują authenticated scans, gdyż pozwalają zrozumieć słabości systemów na poziomie ich konfiguracji. Dla różnych celów stosuje się jednak obydwa typy.

Wyniki skanowania podatności należy traktować jako informację niezbędna do rozpoczęcia działań naprawczych. Jeżeli nasze skanowanie wykazało brak podatności, a w jego zasięgu był szeroki i różnorodny obszar infrastruktury, najprawdopodobniej należy je wykonać jeszcze raz, przy użyciu innych ustawień wyjściowych. Pomiędzy detekcją, a usunięciem podatności do uwzględnienia jest jeszcze jedno zadanie. Tak jak w zarządzaniu incydentami, istotną kwestią jest priorytetyzacja obsługi, tak samo w przypadku podatności, ustalenie kolejności wdrożenia poprawek jest bardzo ważne. Zazwyczaj organizacja nie ma ani wystarczająco dużo czasu, ani zasobów, by wprowadzić od razu wszystkie naprawy. Musi się także liczyć z kosztami przestojów w świadczeniu usług. Warto wówczas pamiętać o ocenie krytyczności nie tylko samej podatności – niektóre skanery domyślnie przypisują odpowiednie „severity”. Istotna jest tak samo krytyczność samych systemów i ich wpływ na procesy biznesowe w organizacji. W tym miejscu do wypracowania są także procedury komunikacji pomiędzy testerem, a administratorami systemów, którzy najlepiej wiedzą za co odpowiedzialne są dane systemy.

W celu zminimalizowania ryzyka niepożądanych zdarzeń takich jak nieprawidłowo działających usług czy konflikty z innymi aplikacjami, proces zarządzania podatnościami w fazie naprawczej powinien także uwzględniać wprowadzenie poprawek na środowisku testowym. Powinno to dotyczyć przynajmniej krytycznych systemów.

Na koniec warto wspomnieć o jednej istotnej zależności, która dobrze podsumowuje niniejszą analizę. Skuteczność procesu zarządzania podatnościami jest odwrotnie proporcjonalna do wysokości ryzyka, które organizacja musi zaakceptować, jeśli nie naprawia słabości systemowych. A im mniej musimy zaakceptować ryzyka, tym nasza organizacja jest bezpieczniejsza.

 

 

Share Button