Główna,Poradnik bezpieczeństwa IT,Rozwiązania bezpieczeństwa IT

Co to jest Microsoft Sentinel i jaką pełni rolę w monitorowaniu środowiska Windows

Czas czytania: 6 min

Wyzwania bezpieczeństwa w środowisku Windows

W dzisiejszym świecie cyfrowym, bezpieczeństwo sieci stało się jednym z najważniejszych aspektów zarządzania systemami informatycznymi. Narzędzia takie jak Sysmon z pakietu Sysinternals i Microsoft Sentinel przy odpowiedniej konfiguracji mogą odegrać znaczącą rolę w wykrywaniu i reagowaniu na współczesne zagrożenia na wczesnym etapie. W tym i następnych artykułach z serii o integracji Microsoft Sentinel z Sysmon  zbadamy możliwości integracji tych dwóch kompleksowych narzędzi w celu zwiększenia efektywności monitorowania i reagowania na zagrożenia w środowisku IT. Zastanowimy się nad zawartością i wartością informacyjną zdarzeń poszczególnych kategorii zbieranych przez narzędzie Sysmon. 

Rola integacji Microsoft Sentinel z Sysmon

Sysmon, istotny i rozwijany na bieżąco składnik pakietu Sysinternals stworzonego przez Marka Russinovicha i Bryce’a Cogswella, jest zaawansowanym narzędziem do monitorowania i zbierania informacji o aktywności systemowej w środowisku Windows ponad to, co notują standardowe logi systemowe. Z drugiej strony, Microsoft Sentinel to skalowalne, chmurowe rozwiązanie do zarządzania zagrożeniami, które korzysta z zaawansowanych technologii SIEM (Security Information and Event Management) i automatyzacji odpowiedzi – SOAR (Security Orchestration, Automation, and Response).

Integracja Sysmona z Microsoft Sentinel otwiera nowe możliwości dla administratorów systemów i specjalistów ds. bezpieczeństwa, umożliwiając im skorzystanie z zalet obu narzędzi. Zadaniem tego artykułu jest przedstawienie, jak te dwa systemy mogą współpracować, aby zapewnić lepszą ochronę, wykrywanie i reakcję na incydenty bezpieczeństwa.

Czym są narzędzia Microsoft Sentinel i Sysmon

Sysmon to zaawansowane narzędzie do monitorowania i zbierania informacji o aktywności systemowej w systemie Windows. Jest częścią pakietu Sysinternals. To narzędzie elastyczne i w pełni konfigurowalne. Zdarzenia można dostosować do potrzeb i skupić się na tych, które wnoszą wartość w procesie wykrywania i analizy. Dostrojenia Sysmona można doknać poprzez konfigurację w formacie .xml.  Poniżej przedstawiamy zestawienie funkcjonalności Sysmona według numeru ID zdarzenia występującego w kronice zdarzeń wraz z przykładami. Informacje te będą z pewnością użyteczne dla pracowników SoC związanych z cyberbezpieczeństwem. Artykuł zaciekawi też studentów kierunków informatycznych w obszarze cyberbezpieczeństwa. Znajdą też coś dla siebie zainteresowani rozszerzoną możliwością monitorowania systemów Windows i Linux.

Rejestrowanie procesów

Sysmon rejestruje tworzenie procesów wraz z pełną linią poleceń dla bieżących i nadrzędnych procesów. Pole ProcessGUID jest unikatową wartością dla tego procesu w cyklu jego życia, aby ułatwić korelację zdarzeń w sytuacji, w której ID procesu byłoby ponownie użyte.

Rejestrowanie tworzenia procesów z Sysmon

Rysunek 1. Widok zdarzenia ID1 dotyczący utworzenia nowego procesu. Zawiera m. in. pełną składnię wywołującą proces oraz funkcję skrótu. Wiersz RuleName to nazwa reguły wykrywającej zdefiniowana w pliku xml.

Zmiana procesu tworzenia pliku

Zdarzenie dotyczące zmiany czasu tworzenia pliku jest rejestrowane, gdy czas tworzenia pliku jest jawnie modyfikowany przez inny proces. Aktywnością związaną z zacieraniem śladów po ataku może być zmiana czasu utworzenia pliku. Należy pamiętać, że wiele procesów legalnie zmienia czas tworzenia pliku. Niekoniecznie musi to wskazywać na złośliwe działanie, aczkolwiek jest to aktywność stosunkowo rzadka.

Zmiana czasu tworzenia pliku
Rysunek 2 Przykładowe wykrycie zmiany daty utworzenia pliku przez zewnęrzny proces. W szczegółach zdarzenia widoczna jest data oryginalna oraz wartość po zmianie.

Bezpieczne połączenie sieciowe

Znajdują się tu połączenia TCP/UDP monitorowanego systemu. Aktywność na poszczególnych portach czy poszczególnych procesów można – jak pozostałe elementy odfiltrować w pliku xml. Każde połączenie jest powiązane z procesem za pośrednictwem właściwości ProcessId i ProcessGuid. Zdarzenie zawiera również źródłowe i docelowe nazwy hostów adresy IP wraz z numerami portów.

Połączenie sieciowe
Rysunek 3 Przykład zdarzenia odnotowującego nawiązanie połączenia sieciowego – w tym przypadku połączenia RDP

Zmiana stanu usługi Sysmon

W tym przypadku odnotowuje się zatrzymanie i uruchomienie aktywności względem usługi Sysmon. Manipulacja przy statusie usługi może wskazywać na próbę ominięcia monitorowania jak i zatarcia śladów. Domyślnie blokowana jest próba zatrzymania usługi. Nawet po eskalacji uprawnień do użytkownika System.

Zmiana statusu usługi
Rysunek 4 Ilustracja zmianu stanu usługi Sysmon na uruchomioną po jej instalacji

Informacja o zakończeniu procesu

Poniżej informacja o zakończeniu cyklu życia procesu, dla którego wspólny jest numer GUID przypisany do procesu w momencie jego startu. Został odnotowany w zdarzeniu o ID 2. Może być użyty do śledzenia aktywności względem procesów wykonywanych przez konkretnych użytkowników w systemie, np. podczas analizy powłamaniowej.

Informacja o zakończeniu procesu
Rysunek 5 Informacja o zamknięciu procesu przez konkretnego użytkownika

Informacja o załadowaniu sterownika

Znajdują się tu takie szczegóły jak ścieżka do pliku sterownika ładowanego do systemu. Prezentowanych jest kilka wartości (wg różnych algorytmów) jeśli chodzi o funkcje skrótu. Znajdzie się tu też informacja o podpisie. Podpis jest tworzony asynchronicznie ze względu na wydajność i wskazuje czy plik został usunięty po załadowaniu.

Informacja o załadowaniu sterownika
Rysunek 6 Wydarzenie informujące o załadowaniu sterownika w systemie

Monitorowanie obiektów graficznych

To informacja o załadowaniu na przykład biblioteki dynamicznej jako proces. Wskazuje on proces, w którym moduł jest ładowany, skróty i informacje o podpisie. Nie jest to wydarzenie konfigurowane domyślnie. To zdarzenie należy dokładnie skonfigurować, wskazując nazwy czy ścieżki wykorzystywane przy typowych atakach, ponieważ monitorowanie wszystkich zdarzeń ładowania obrazów spowoduje wygenerowanie znacznej ilości najczęściej bezużytecznych zdarzeń.

Załadowanie obrazu
Rysunek 7 Informacja o załadowaniu obrazu biblioteki dynamicznej odpowiedzialnej za mechamizm Windows MAnagement Instrumentation (WMI)

Wykrycie wstrzyknięcia wątku dzięki Microsoft Sentinel

Podczas każdego profesjonalnie przygotowanego ataku hackerskiego jednym z celów jest zachowanie tajemnicy i ukrycie operacji przed tzw. Blue Teamem. Atakujący w tym celu różnych technik i procedur, od uzyskania początkowego dostępu po ukrywanie połączeń C2 i eksfiltrację danych. Pierwszym krokiem każdej kampanii jest uzyskanie wstępnego dostępu. Wykorzystują dostosowane złośliwe oprogramowanie do obchodzenia i omijania narzędzi obronnych wykrywających ataki takich jak chociażby antywirus. Process Injection to jedna z technik stosowanych w celu ominięcia mechanizmów obronnych. Zdalne wstrzykiwanie wątku (inaczej CreateRemoteThread) to jedna z prostych i niezawodnych technik podrzędnych. Działa poprzez wstrzyknięcie shellcodu (payloadu) do kontekstu innego kwalifikującego się procesu i tworzy wątek dla tego procesu w celu uruchomienia ładunku. Współczesne przeprowadzenie tego typu ataku są trudne do zasymulowania bowiem należą do łatwo wykrywalnych scenariuszy zachowania przez systemy antywirusowe. Aczkolwiek nie jest to niemożliwe. Tym bardziej należy mieć na uwadze skonfigurowane monitorowanie tego typu zdarzeń.

CreateRemoteThread
Rysunek 8 Przegląd właściwości zdarzenia o ID 8, dot. utworzenia nowego wątku w innym procesie.
Przegląd przykładowych filtrów dla zdarzenia
Rysunek 9 Przegląd przykładowych filtrów dla zdarzenia ID 8. stanowiących nawiązanie do popularnych technik i procedur ataku z wykorzystaniem kontekstu tworzenia wątku w zdalnym procesie.

RawAccessRead w monitorowaniu dostępu do zasobów systemowych

Zdarzenie RawAccessRead wykrywa, gdy proces przeprowadza operacje odczytu z dysku przy użyciu notacji \\.\  Ta technika jest często używana przez złośliwe oprogramowanie do eksfiltracji obszaru danych plików, które są zablokowane do odczytu poprzez listy kontroli dostępu, a także w celu uniknięcia dostępu do plików narzędzi inspekcji. Sprawa dotyczy również odczytu pozostałości po usuniętych ważnych plikach, które nie zostały jeszcze nadpisane przez nowe dane. Zdarzenie wskazuje proces źródłowy i urządzenie docelowe.

Zdarzenie RawAccessRead
Rysunek 10 Slad po próbie bezpośredniego odczytu z urządzenia \Device\HarddiskVolume3

Kontrola działania procesów dzięki ProcessAccess

ProcessAccess to kategoria zdarzeń utrwalająca fakt, iż proces uzyskiwał dostęp do adresów pamięci innych procesów. Umożliwia to wykrywanie narzędzi hakerskich, które odczytują zawartość pamięci procesów, takich jak Lsass.exe, winlogon.exe, wininit, services.exe, itd. Takie narzędzia służą do kradzieży poświadczeń wykorzystywanych w atakach typu Pass-the-Hash. Włączenie tej funkcji bez zastosowania szczegółowych filtrów spowoduje rejestrowanie znacznej ilości zdarzeń. Uzyskanie dostępu do pamięci procesów przez różne procesy w systemie jest zachowaniem naturalnym. Dlatego zazwyczaj należy to zrobić tylko za pomocą filtrów, które eliminują standardowe dostępy, a skupiają się na powszechnie znanych scenariuszach ataków typu „Credential dumping”. Współcześnie w znacznym stopniu są one ograniczane przez aktywność oprogramowania antywirusowego.

ProcessAccess
Rysunek 11 Ślad w postaci zdarzenia o ID 10 po dostępie do pamięci procesu lsass.exe

To jeszcze nie koniec analizy. Wrócimy do niej w kolejnym artykule. Zapraszamy do zapoznania się z produktami oraz usługami z obszaru Microsoft. Wystarczy kliknąć w poniższy baner.

Usługi i produkty Microsoft





Dodaj komentarz