skanowanie podatności - GVM

Skanowanie podatności – zrób to sam

Jakiś czas temu w artykule pt. Testy penetracyjne – wynajmij sobie hackera opisywałem czym są testy penetracyjne oraz jak i dlaczego powinno się je wykonywać. Nie jest jednak tajemnicą, że wykonanie profesjonalnych testów penetracyjnych środowiska jest usługą kosztowną i mało które organizacje mogą sobie pozwolić na zarezerwowanie w budżecie środków na ich regularne przeprowadzanie.

Paradoksalnie, wiele osób odpowiedzialnych za bezpieczeństwo infrastruktury wciąż unika wykonywania testów penetracyjnych w obawie przed kompromitacją w oczach swoich przełożonych. Zakładają oni bowiem, że skoro w testach wyjdą na jaw jakieś poważne luki to będą one świadczyły o niekompetencji osób odpowiedzialnych za środowisko. Jest to oczywiście zjawisko bardzo szkodliwe, bo osoby świadome zagrożeń powinny sobie zdawać sprawę z tego, iż nikt nie jest nieomylny, a wiedza z zakresu cyberbezpieczeństwa jest tak obszerna, że żadną ujmą nie jest proszenie o wsparcie zewnętrznych ekspertów.

Skanowanie podatności

Na szczęście jest jeszcze inna możliwość identyfikowania zagrożeń we własnym środowisku. Jest nią skanowanie podatności. Proces ten jest jednym z elementów pełnych testów penetracyjnych. O ile jednak w testach penetracyjnych służy jako wstęp do dalszych działań (znalezione luki są następnie wykorzystywane do eskalacji zagrożenia), o tyle z punktu widzenia bezpieczeństwa może być wystarczającym środkiem do zidentyfikowania najpopularniejszych i najczęściej występujących luk.

Skanowanie podatności pozwala na stosunkowo szybkie, zautomatyzowane oraz szerokie, ale już mniej dogłębne przebadanie infrastruktury.

Zarządzanie podatnościami

Proces zarządzania podatnościami jest nieodzownym elementem każdego Systemu Zarządzania Bezpieczeństwem Informacji. Jest on też niezbędny do wykonania rzetelnej analizy ryzyka. Nie da się bowiem szacować np. prawdopodobieństwa wycieku danych czy uzyskania nieautoryzowanego dostępu do systemów przez intruzów jeśli nie wiemy czy i jakie podatności techniczne w nich występują.

Bez procesu zarządzania podatnościami trudno sobie wyobrazić zapewnienie zgodności z takimi przepisami, jak np.:

  • Ustawa o Krajowym Systemie Cyberbezpieczeństwa
  • Rozporządzenie o Ochronie Danych Osobowych (tzw. RODO)
  • Krajowe Ramy Interoperacyjności
  • Ustawa o Ochronie Informacji Niejawnych

Jak przeprowadzić skanowanie podatności?

Skanowanie podatności powinno się składać z następujących kroków:

  • Ustalenie zakresu skanowanych systemów
  • Ustalenie zakresu skanowania (np. tylko podatności CVE, wszystkie podatności techniczne, podatności techniczne i błędy konfiguracyjne)
  • Ustalenie warunków skanowania (intensywność, data, czas)
  • Ustalenie uprawnień do skanowania (skanujemy z poziomu anonimowego użytkownika, czy użytkownika posiadającego określone uprawnienia w systemie)
  • Skanowanie podatności
  • Raportowanie podatności i analiza ich wpływu na procesy biznesowe
  • Zaplanowanie kroków naprawczych (plan postępowania z ryzykiem).

Poniżej przykład mapowania znalezionych podatności do procesów biznesowych. Wygenerowanie takiej mapy możliwe jest za pomocą narzędzia GVM, o którym jeszcze napiszę poniżej.

skanowanie podatności - mapa procesów
skanowanie podatności – mapa procesów

Na czym polega skanowanie podatności

Zacznijmy od tego, na czym tak naprawdę polega skanowanie podatności. Jest to techniczny proces polegający na zidentyfikowaniu dostępnych w danym systemie usług i odpowiedzialnych za ich realizację składników oprogramowania. Zadania tego można dokonać na kilka sposobów. Np. dysponując uprawnieniami administratora możemy wylistować całe dostępne w danym systemie oprogramowanie. W Windowsach może do tego posłużyć usługa WMI, w Linuksach natomiast dostępny w danej dystrybucji menedżer pakietów.

Możemy również posłużyć się prostym skanerem portów TCP/UDP, takim jak nmap i na podstawie dostępnych usług i tzw. banner grabbingu ustalić jakie usługi zgłaszają się na poszczególnych portach:

HTTP/1.1 200 OK
Date: Sun, 13 Dec 2020 10:20:05 EST
Server: Apache/2.0.46 (Unix) (Red Hat/Linux)
Last-Modified: Mon, 23 May 2019 01:17:43 PST

Informacje o dostępnych w danym systemie wersjach oprogramowania porównywane są następnie z bazami podatności, takimi jak np. CVE (Common Vulnerabilities and Exposures), ale nie tylko. Na tej podstawie generowany jest raport informujący o występujących w danym środowisku lukach wynikających ze stosowania nieaktualnego, niezałatanego bądź źle skonfigurowanego oprogramowania.

Narzędzia wykorzystywane do skanowania podatności

Skanery podatności są systemami, które łączą w sobie kilka funkcji. Po pierwsze dysponują własnymi bazami znanych luk, które budują m.in. w oparciu o publiczne katalogi CVE. Po drugie muszą dysponować zestawem skryptów i skanerów, takich jak np. wspomniany wcześniej nmap aby móc identyfikować występowanie tych luk w skanowanych systemach. Po trzecie muszą pozwalać na raportowanie i ocenę skali zagrożenia, np. przy użyciu skali CVSS (Common Vulnerability Scoring System).

Jednym z popularniejszych skanerów podatności jest system Nessus firmy Tenable. Ceny jego licencji zaczynają się jednak grubo powyżej 10tys. zł/rok, co sprawia, że dla wielu zainteresowanych pozostanie on narzędziem nieosiągalnym. Podobnie jest niestety z większością innych, komercyjnych produktów.

Na szczęście jest GVM (dawniej OpenVAS)

Istnieje jednak narzędzie, dzięki któremu skanowanie podatności można wykonać praktycznie bezkosztowo. Mowa tutaj o GVM (Greenbone Vulnerability Manager), znanym wcześniej pod nazwą OpenVAS. Jego historia sięga czasów, gdy wspomniany wcześniej Nessus zakończył swoje życie jako projekt open source’owy i zmienił sposób licencjonowania na komercyjny. Powstał wówczas jego fork pod nazwą GNessUs (GNU Nessus), który następnie rozwijany był pod nazwą OpenVAS, a obecnie przez firmę Greenbone jako Greenbone Vulnerability Manager.

Należy tutaj zaznaczyć, iż Greenbone oferuje również komercyjne produkty i usługi do zarządzania podatnościami i aby zachęcić do korzystania z ich oferty zastosował w GVM-ie pewne ograniczenia. Po pierwsze, dostępne w darmowej wersji bazy podatności są opóźnione o ok. 2 tyg. w stosunku do wersji płatnych. Ma to na pewno znaczenie dla organizacji, które muszą wykonywać ciągłą analizę podatności, ale nie będzie przeszkodą jeśli proces skanowania będziemy przeprowadzać np. raz na kwartał. Ponadto w wersji darmowej pobieranie aktualizacji feedów (czyli m.in. baz podatności) może być utrudnione. Greenbone pozwala na maksymalnie jedno połączenie z jednego adresu IP, a i to niekiedy bywa problematyczne. Zdarza się, że aktualizację trzeba ponawiać po kilkudziesięciu minutach lub nawet kilku godzinach aby przebiegła pomyślnie.

Skanowanie podatności w GVM (OpenVAS)

GVM pozwala nie tylko na proste skanowanie i raportowanie podatności, ale również na zarządzanie nimi. Lista jego możliwości jest dość pokaźna:

  • Definiowanie parametrów skanowania (m.in. intensywność, zakresy portów, dane uwierzytelniające, harmonogram)
  • Definiowanie alertów (m.in. e-mail, http, snmp, connectory do innych systemów)
  • Raportowanie (m.in. do formatów PDF, CSV, XML, TXT, LaTeX)
  • Bazy aktywów i celów skanowania (np. pojedyncze hosty lub całe podsieci)
  • Audyty (możliwość zdefiniowania własnych polityk, które następnie audytujemy, np. polityka weryfikująca brak domyślnych kont użytkownika i haseł)
  • Mapa procesów biznesowych (możliwość zdefiniowania procesów biznesowych i ich wzajemnego wpływu na siebie oraz zależności od zidentyfikowanych jako podatne systemów)
  • System ticketowy (możliwość definiowania ticketów związanych z poszczególnymi podatnościami i przypisania ich do użytkowników)

Wszystko to zebrane jest w dość przejrzystym i przyjaznym, webowym interfejsie użytkownika:

interfejs skanera podatności GVM
interfejs skanera podatności GVM

Instalacja i użytkowanie skanera podatności GVM

Instalacja skanera GVM nie jest może banalna, ale nie wymaga też takich działań jak budowa własnych paczek ze źródeł czy ich kompilacja. GVM dobrze czuje się w środowisku Kali Linux, choć nie jest on tam domyślnie zainstalowany. Aby pobrać i skonfigurować GVM-a potrzebna będzie podstawowa znajomość Linuksa oraz kilka praktycznych porad związanych z obsługą menedżera pakietów i konfiguracją środowiska po jego zainstalowaniu.

Użytkowanie skanera podatności GVM nie nastręcza większych problemów. Wymaga ono na pewno dłuższego zaznajomienia się z interfejsem użytkownika oraz ogólnej znajomości terminologii branżowej. Pojęcia czy skróty takie jak CVE, CVSS, vulnerability, remediation, QoD, asset nie dla wszystkich muszą być oczywiste.

Jeżeli chcielibyście skorzystać z pomocy we wdrożeniu procesu zarządzania podatnościami we własnej organizacji polecam Wam poniższe szkolenie video,  w którym znajdziecie dokładne instrukcje instalacji systemu Kali Linux i skanera GVM oraz jego konfiguracji i użytkowania. W materiałach do szkolenia otrzymacie też szablon raportu oraz opisy najczęściej spotykanych podatności, które ułatwią Wam ich ocenę i podejmowanie działań naprawczych. Dzięki temu pakietowi niewielkim kosztem wdrożycie proces zarządzania podatnościami lub wykonacie usługę skanowania podatności dla własnych klientów.

3 komentarze

    1. Niestety ograniczenie do 16 adresów IP daje dość mizerne możliwości. Wystarczy to może na jakąś sieć domową, a i to przy założeniu, że rodzina niewielka i niezbyt lubująca się w elektronice 🙂

  1. Problem chyba większy – to fakt ze NESSUS, Rapid,… to wszystko są skanery pasywne. Innymi słowy dowiadujemy się o podatnościach które jedynie (realnie) tylko w niewielkim stopniu stanowią zagrożenie. Sensowniejszym wydaje się skorzystanie ze skanerów aktywnych – które uwzględniają całość infrastruktury i mapują to na system skanowania. Przykład przy infrastrukturze np. 1000 komp. – pasywny skaner wykaże ok 1000 podatności. Ale aktywny (realne zagrożenia) pokaże jedynie np. na 1-2%. Takie ilości admini są w stanie naprawić w relatywnie krótkim czasie. Przy 1000 szt. ( i np. skanowaniu co tydzień) admini zajmowaliby się jedynie usuwaniem podatności.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.