Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Data publikacji: 04-01-2022 | Autor: | Piotr Michałkiewicz |
Gromadzenie informacji dotyczących zagrożeń w cyberprzestrzeni oraz ich wymiana z innymi organizacjami to bardzo ważna kwestia. Niestety samo gromadzenie informacji to tylko pierwszy krok w procesie reagowania na incydenty. Kolejny to ich analizowanie oraz podejmowanie odpowiednich kroków w razie potrzeby.
Ze względu na ciągły wzrost liczby rejestrowanych zdarzeń do zespołów reagowania na incydenty należy wykonywanie ogromnej liczby powtarzalnych i czasochłonnych zadań. Szybkość analizowania incydentów i czas reakcji są w tym przypadku kluczowe. Niestety nie da się osiągnąć większej wydajności bez użycia odpowiedniego oprogramowania.
Do takiego wniosku doszli w 2014 r. eksperci cyberbezpieczeństwa pracujący w bankowym zespole reagowania na incydenty związane z bezpieczeństwem komputerowym. Bazując na własnych doświadczeniach i potrzebach, opracowali w ramach TheHive Project aplikacje, które szybko stały się znaną, referencyjną platformą open source w obszarze reagowania na incydenty. Do głównych produktów opracowanych w ramach projektu należą TheHive oraz Cortex.
> THEHIVE
TheHive to platforma reagowania na incydenty bezpieczeństwa przeznaczona dla organizacji typu CSIRT, CERT czy też SOC. Z pewnością ułatwi pracę także w innych zespołach zajmujących się bezpieczeństwem. Podstawą działania jest współpraca analityków przy dochodzeniach. W TheHive zakładane są w tym celu tzw. sprawy (Case). Mogą być one zakładane ręcznie lub w reakcji na otrzymywane alerty z innych systemów (np. z MISP). Sprawy mogą być tworzone od zera lub przy użyciu przygotowanych wcześniej szablonów. Każdej sprawie musimy obowiązkowo nadać określoną ważność (Severity), kategorię w ramach protokołów TLP i PAP, a także opis (domyślnie nadawane są następujące ustawienia: ważność: M, TLP:AMBER i PAP:AMBER). Na etapie zakładania sprawy możemy dodać do niej znaczniki (Tags), czyli krótkie opisy wzbogacające jej kontekst (możemy w tym celu używać znaczników zdefiniowanych na potrzeby własnej organizacji lub znaczników dostępnych w ramach taksonomii) oraz przypisać zadania (Task).
Po wejściu do założonej sprawy możemy dodać do niej obserwacje (Observables), TTP (Taktyki, Techniki i Procedury) oraz przydzielić zdefiniowane zadania do określonych analityków. Analitycy mogą rejestrować postępy prac, śledzić je w ramach strumienia działań, a także dołączać dowody, np. pliki zawierające złośliwe programy. Jeżeli w ramach systemu współpracują z inną organizacją (tzn. są połączeni w systemie z daną organizacją), to mogą także współdzielić zadania z jej analitykami.
Istotną zaletą TheHive jest możliwość użycia analizatorów (Analyzer) dostępnych po przejściu do określonej obserwacji (Observable). Lista dostępnych analizatorów zależy od typu obserwacji, np. inna jest dla typu IP, a inna dla typu Hash. Niestety nie wszystkie analizatory są dostępne bez odpowiednich uprawnień. Możemy uruchomić pojedyncze z nich dostępne na liście lub uruchomić je wszystkie jednocześnie. Otrzymane wyniki wzbogacają sprawę o dodatkowe informacje z innych dostępnych systemów analitycznych.
Obserwacje mogą być filtrowane, np. po wskaźniku IoC, a następnie eksportowane do systemowego schowka lub jako plik w formacie CSV, Text lub MISP. Pozwala to na ich użycie w narzędziach zewnętrznych. Można także w tym celu wykorzystać interfejs API. Istnieje również biblioteka Pythona umożliwiająca współpracę z TheHive przy użyciu API – TheHive4py. Pozwala ona na zarządzanie m.in. sprawami, zadaniami i obserwacjami. Istotną zaletą takiej współpracy jest przekazywanie do TheHive alertów. Można w ten sposób zintegrować własne rozwiązanie, wysyłające do TheHive alerty, które następnie analitycy będą mogli przeglądać i tworzyć z nich sprawy.
> CORTEX
Analiza dużej liczby obserwacji (wskaźników zagrożeń) stanowi nie lada wyzwanie dla analityków. Z pewnością zdajemy sobie sprawę, jak żmudna jest to praca, gdy musimy wiele takich wskaźników sprawdzić np. w serwisie VirusTotal. A co wówczas, gdy musimy je sprawdzić w wielu serwisach analitycznych? Ten problem rozwiązuje aplikacja Cortex, wspierająca w tym zakresie działanie TheHive, pozwalając na wykonanie takiej operacji jednym kliknięciem. To właśnie dzięki niej w ramach TheHive możemy używać analizatorów. Krótko mówiąc, Cortex to środowisko uruchomieniowe dla aplikacji określanych jako analizatory. Wiele analizatorów jest dostarczanych razem z Cortexem, ale bez problemu można tworzyć nowe w systemie Linux, używając różnych języków programowania, np. Pythona, Ruby’ego, Perla i innych. Podczas testu z listy dostępnych 185 domyślnie było włączonych tylko 18 analizatorów. Okazuje się jednak, że nie wszystkie z tych włączonych są faktycznie dostępne bez zarejestrowania się w określonych serwisach.
Używając analizatorów, należy pamiętać, że nie wszystkie biorą pod uwagę protokół TLP. Z domyślnie udostępnionych analizatorów w maszynie wirtualnej nie przestrzegał go żaden. Zrobił to dodany analizator dla serwisu VirusTotal. Gdy obserwacja miała ustawiony TLP:RED, nie udostępnił żadnych informacji, zgłaszając tylko komunikat „TLP is higher than allowed”.
Aplikacja Cortex współdziała w tle z aplikacją TheHive. Możemy jednak używać jej niezależnie jako samodzielnego narzędzia. Analizatory z pewnością stanowią istotne źródło informacji wzbogacających analizowane w TheHive dane.
> URUCHOMIENIE
W celu przetestowania platformy TheHive/Cortex można własnoręcznie przeprowadzić instalację wszystkich wymaganych komponentów lub wykorzystać gotowe obrazy Dockera. W przypadku gdy chcemy poznać tylko możliwości platformy, szkoda czasu na instalację czy też zapoznanie się z Dockerem. Prościej jest użyć gotowej do testów maszyny wirtualnej dostępnej po wypełnieniu krótkiej ankiety na stronie bit.ly/3wvLrcz.
Użyta w testach maszyna wirtualna działała na Ubuntu 20.04.1 LTS oraz wykorzystywała aplikację TheHive w wersji 4.1.9-1 oraz Cortex w wersji 3.1.1-1. Po zalogowaniu się do Ubuntu (login: thehive, hasło: thehive1234) możemy zobaczyć, że platforma TheHive/Cortex zbudowana została na podstawie działających kontenerów Dockera. Możemy przekonać się o tym, wydając polecenie docker ps. Zobaczymy wówczas, że mamy uruchomione kontenery nginix, cortex, thehive4 oraz elasticsearch. Przyjrzymy się jednak platformie pod kątem wsparcia naszych działań związanych z reagowaniem na incydenty.
Po uruchomieniu maszyny wirtualnej na ekranie logowania wyświetlony zostanie jej adres IP. Możemy go użyć w przeglądarce internetowej do wyświetlenia strony TheHive Project Virtual Machine, zawierającej w sekcji Quick connect linki do stron logowania do aplikacji TheHive oraz Cortex, a także wymagane w tym celu poświadczenia. W tym momencie możemy rozpocząć testy. Może się jednak zdarzyć, że pomimo otworzenia witryny TheHive Project Virtual Machine strony logowania do poszczególnych aplikacji nie ładują się i pojawia się błąd 502. Jest to typowy błąd, w przypadku którego często wystarczy poczekać parę sekund i odświeżyć stronę.
Cieszy fakt, że w ramach testowej maszyny wirtualnej otrzymujemy środowisko, w którym TheHive jest zintegrowany z Cortexem. Po czym to poznać? Przy integracji z TheHive logo Cortex jest wyświetlane w zielonej obwódce w prawym dolnym rogu ekranu TheHive. Można to również sprawdzić, klikając nazwę zalogowanego użytkownika, a następnie wybierając z wyświetlonego menu pozycję About – wyświetlana jest wówczas wersja Cortexa z wyrazem OK.
> ZARZĄDZANIE THEHIVE
TheHive udostępnia domyślnie organizację o nazwie admin z kontem o tej samej nazwie. Konta w tej organizacji są odpowiedzialne za zarządzanie całą platformą, w tym za tworzenie organizacji, profili użytkowników oraz zasobów, które będą dostępne dla wszystkich organizacji, m.in. taksonomii, szablonów raportów czy też wzorców ATT&CK. Użytkowników w tej organizacji nazwijmy superadminami. W menu Admin (dostępnym tylko w organizacji admin), umieszczonym w nagłówku okna, znajdują się działania, które może wykonać superadmin.
Podczas definiowania profili superadmini mają do dyspozycji dwa typy profili: administracyjny oraz organizacyjny. Jeżeli podczas definiowania profilu przypiszemy mu uprawnienia administracyjne, profil ten będzie dostępny tylko podczas definiowania nowego użytkownika w organizacji admin. Nie da się utworzyć użytkownika o tym profilu w innej organizacji, gdyż nie będzie on dostępny na liście profili. Działa to także w drugą stronę – jeżeli profil będzie obejmował uprawnienia organizacyjne (analityczne), to nie da się utworzyć konta o tym profilu w organizacji admin. Krótko mówiąc, konta w organizacji admin nie mają uprawnień do zarządzania np. sprawami czy zadaniami związanymi z obsługą incydentów. Granularność uprawnień pozwala na utworzenie różnych profili, dzięki czemu możemy utworzyć użytkowników odpowiedzialnych za określone obszary zarówno po stronie organizacji admin, jak i pozostałych organizacji.
Po zainstalowaniu i skonfigurowaniu TheHive do zadań superadmina należy przede wszystkim utworzenie nowej organizacji oraz przynajmniej jednego konta z uprawnieniami administratora w utworzonej organizacji (profil org-admin). Podczas testów okazało się, że utworzonej organizacji nie można usunąć. Nie ma to oczywiście znaczenia w przypadku testowej maszyny wirtualnej, należy jednak brać to pod uwagę, jeżeli zapoznajemy się z TheHive na platformie produkcyjnej. Użytkownicy poszczególnych organizacji widzą tylko swoje zasoby, a użytkownicy o profilu org-admin mogą zakładać konta tylko w ramach własnej organizacji.
Taki model architektury TheHive pokazuje, że organizacja, np. SOC, może udostępnić własną platformę firmom, z którymi współpracuje, tworząc dla nich organizacje oraz administratorów organizacji.
[...]
Autor jest audytorem wiodącym normy ISO/IEC 27001, specjalizuje się w audycie bezpieczeństwa informacji, danych osobowych. Ekspert w zakresie zarządzania obszarami technologii informacyjnej i cyberbezpieczeństwa. Członek ISSA Polska.
Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.
Transmisje online zapewnia: StreamOnline