Zarządzanie podatnościami to ciągły proces identyfikowania, oceniania i raportowania podatności, które narażają systemy informatyczne Twojej organizacji na cyberataki. Proces ten jest istotną częścią zapewnienia bezpieczeństwa informacji i jest wskazany w normie ISO/IEC 27001. W połączeniu z istniejącymi zabezpieczeniami sieci i punktów końcowych zapewnia dodatkową warstwę ochrony, zapewniając ciągłą analizę błędów oprogramowania. W miarę rozbudowywania sieci i wprowadzania zmian w systemach informatycznych proces ten jest stale utrzymywany, ponieważ z biegiem czasu pojawiają się coraz to inne luki w zabezpieczeniach.
Każdy, kto zapoznał się z treścią normy ISO/IEC 27001, będzie wiedział, że zaprezentowane w niej podejście oparte jest na ocenie ryzyka naruszenia bezpieczeństwa informacji, mającej na celu zastosowanie zabezpieczeń celem zapewnienia poufności, integralności i dostępności informacji. Podatności są jednym z elementów ryzyka, więc naturalne jest, że zarządzanie podatnościami mieści się w ogólnym pojęciu „zarządzania ryzykiem”. W rzeczywistości norma ISO/IEC 27001 opisuje „ryzyko” jako połączenie aktywa, zagrożenia i podatności.
Punkt A.12.6.1 normy wskazuje na konieczność zarządzania podatnościami technicznymi i wymaga od organizacji szybkiego identyfikowania odpowiednich danych w tym zakresie. Kluczową częścią tego procesu jest stosowanie odpowiednich praktyk bezpieczeństwa (np. testy podatności) bez zakłócania działalności biznesowej. Każda zastosowana poprawka może potencjalnie powodować problemy operacyjne, dlatego należy ją najpierw przetestować, aby upewnić się, że działa skutecznie. Podobnie należy każdorazowo zweryfikować, czy zmiany techniczne nie zagrażają poufności, integralności i dostępności przetwarzanych informacji.
Zarządzanie podatnościami wymaga ustrukturyzowanego podejścia, aby było możliwie najbardziej skuteczne. Nawet jedna nieodkryta luka może zostać wykorzystana przez atakujących do zainfekowania stacji roboczej lub przechwycenia informacji podlegających ochronie.
Zarządzanie podatnościami można podzielić na następujące etapy:
1. Identyfikacja
Pierwszy etap procesu zarządzania podatnościami systemu informatycznego wymaga przede wszystkim określenia, jakie luki mogą mieć na niego wpływ. Gdy już wiemy, jakich luk lub typów luk szukamy, możemy przejść do procesu ich rozpoznania. Proces identyfikacji podatności polega na zidentyfikowaniu i zrozumieniu słabych punktów systemu, infrastruktury bazowej, systemów wsparcia i głównych aplikacji.
W ramach tego etapu powinna powstać swego rodzaju „mapa” systemu, która pokaże, gdzie znajdują się poszczególne jego elementy, w jaki sposób można uzyskać do nich dostęp i czy są obecnie objęte odpowiednią ochroną. Mapa ta może być następnie wykorzystana do prowadzenia bardziej szczegółowej analizy wybranych podatności i określenia działań naprawczych.
2. Raportowanie
Treść raportu z przeprowadzonej identyfikacji podatności systemu informatycznego ma przede wszystkim pomóc jego odbiorcy zrozumieć, jakie luki w zabezpieczeniach aktualnie występują w jego środowisku i w jaki sposób należy rozwiązać te problemy. Nawet najlepiej przeprowadzona i skrupulatna ocena podatności jest mało przydatna lub wręcz bezużyteczna, jeśli strona zainteresowana (np. IT manager) nie może zrozumieć wyników i wykorzystać ich do skorygowania słabości. Niestety, pomimo swojej dużej wagi raportowanie jest często najmniej lubianą częścią procesu oceny podatności.
3. Ocena
Po zidentyfikowaniu luk w bezpieczeństwie systemu należy rozpocząć ocenę wagi poszczególnych zagrożeń. Ocena to stanowi podstawę przy ustalaniu priorytetów działań związanych z bezpieczeństwem, co ma bezpośrednio prowadzić do szybszego działania i zmniejszenia ryzyka.
Jeśli rozpoczniemy naprawę najpoważniejszych luk w zabezpieczeniach, możemy zmniejszyć ryzyko ataku podczas zabezpieczania reszty systemu. Oceniając luki w zabezpieczeniach, istnieje kilka systemów, których można użyć do ustalenia ryzyka wykorzystania luki. Jednym z nich jest Common Vulnerability Scoring System (CVSS), który polega na liczbowej (w skali od 0 do 10) hierarchizacji istotności luk. Skala CVSS jest powszechnie i chętnie używana przez specjalistów ds. cyberbezpieczeństwa, ponieważ zapewnia możliwość porównania podatności między sobą i priorytetyzować działania naprawcze. Należy wspomnieć, iż wyzwanie związane ze stosowaniem CVSS polega na tym, że raz przypisany poziom ryzyka jest trwały, dlatego ważne jest uwzględnienie innych czynników, takich jak analiza zagrożeń i własne dane o ryzyku biznesowym, w celu poprawnego ustalenia priorytetów.
4. Priorytetyzacja
W zależności od wielkości organizacji lub ilości zasobów obecnych w jej infrastrukturze informatycznej, lista znanych luk w zabezpieczeniach może być bardzo długa. Na tym etapie luki powinny być uszeregowane w kolejności od najwyższego do najniższego ryzyka, czyli od najwyższego prawdopodobieństwa materializacji zagrożenia i najwyższych jego skutków. Jedocześnie należy pamiętać o braniu pod uwagę ryzyk indywidulanych, jakie dotyczą danej organizacji.
Proces zarządzania podatnościami powinien uwzględniać odniesienie do środowiska, w którym funkcjonuje zasób obarczony podatnością oraz różnice pomiędzy wynikami otrzymywanymi z wykorzystaniem skali CVSS 2.0 a CVSS 3.1. Należy również uwzględnić konieczność szybkiego uzyskania prawidłowych wyników niezbędnych do ustalenia priorytetów dla wykrytych podatności. Do tego celu używamy odpowiednich narzędzi służących do skanowania, jednak równie ważne jest uzyskiwanie informacji o podatnościach z innych źródeł. Jednym z nich jest baza NVD CVE czy MITRE CWE, a kolejnym producenci sprzętu i oprogramowania. W odniesieniu do zarządzanego środowiska IT najczęściej jednak stosujemy tzw. patch management, czyli zarządzanie wydawanymi przez vendorów poprawkami i ulepszeniami.
5. Naprawa
Po określeniu priorytetów zidentyfikowanych podatności oraz sformułowaniu planu postępowania z nimi należy przejść do realizacji działań naprawczych. Luki w zabezpieczeniach można usunąć, aktualizując konfiguracje systemu, platformy lub usługi i oczekując na udostępnienie poprawki. Wdrażanie poprawek jest procesem żmudnym i pracochłonnym, testy powdrożeniowe również pochłaniają zarówno cenny czas, jak i zasoby. Należy pamiętać, iż proces wdrażania poprawek może mieć wpływ na systemy operacyjne i infrastrukturę o znaczeniu krytycznym dla organizacji lub na samą aplikację. Co istotne, nie każdą lukę można załatać! Dla takich podatności należy zaplanować czynności prowadzące do obniżenia prawdopodobieństwa i/lub skutków materializacji zagrożenia. Ryzyko takie należy oszacować, sklasyfikować oraz poddać monitorowaniu. Dodatkowo, na tym etapie przydatnym może okazać się wprowadzenie bardziej szczegółowego monitorowania zagrożonych elementów infrastruktury IT lub ograniczenie dostępu użytkowników do obszarów zidentyfikowanych jako zagrożone. Działania te mogą okazać się pomocne w zapobieganiu wykorzystywaniu luk w zabezpieczeniach, dopóki nie zostały zastosowane poprawki. Często spotykaną sytuacją jest występowanie w infrastrukturze informatycznej organizacji przestarzałych, niewspieranych elementów (np. przełączniki, macierze, serwery, jak również aplikacje). Są one niezwykle podatne na ataki i w gruncie rzeczy wymagają wymiany – nie powinny być wcale wykorzystywane! Dlatego tak istotnym jest okresowe przeprowadzanie analizy ryzyka. Proces ten pomaga organizacji uzasadnić potrzebę inwestycji w poprawę stanu obszaru IT.
6. Ponowna ocena
Aby mieć pewność, że po realizacji planu postępowania ze zidentyfikowanymi podatnościami systemu informatycznego zostały one usunięte we właściwy sposób, zaleca się przeprowadzenie ponownego testu. Retest nie jest zupełnie nowym testem. Przy ponownym testowaniu podatności weryfikowane są wybrane elementy infrastruktury, w których wprowadzone zostały poprawki. Głównym celem ponownej oceny jest ustalenie czy luki rzeczywiście zostały naprawione. Raport z retestów powinien zawierać porównanie z informacjami zawartymi w raporcie „0”, które pokaże czy luki w zabezpieczeniach zostały usunięte.
Jednym z najlepszych sposobów na upewnienie się, że w naszej infrastrukturze IT nie pojawiły się nowe podatności jest regularne przeprowadzanie testów penetracyjnych. Ponadto, jeśli wykorzystywane są w tym celu zautomatyzowane narzędzia, możemy mieć pewność, iż podatności są szybko identyfikowane, a następnie usuwane.
Warto również podkreślić, iż testy penetracyjne mogą również pomóc lepiej zrozumieć sposób działania atakujących i zapewnić obiektywny obraz siły aktualnie stosowanych zabezpieczeń. Jest to dobre narzędzie dla specjalistów ds. cyberbezpieczeństwa, którzy dzięki niemu mają podstawę do odpowiedniej alokacji zasobów i może pomóc im skuteczniej reagować na ataki.
Autor: Tomasz Cieślik