Bezpieczeństwo IT - metody ochrony, Główna, Rozwiązania bezpieczeństwa IT

Sysmon w monitoringu bezpieczeństwa stacji roboczych

Czas czytania: 6 min

W tym artykule kontynuujemy analizę zdarzeń zbieranych przez narzędzie Sysmon. Ten wątek rozpoczęliśmy w poprzednim artykule, pt. Co to jest Microsoft Sentinel i jaką pełni rolę w monitorowaniu środowiska Windows.

Operacje tworzenia plików

Narzędzie Sysmon rejestruje operacje tworzenia plików po utworzeniu lub zastąpieniu istniejącego pliku. To zdarzenie jest przydatne w przypadku monitorowania lokalizacji automatycznego uruchamiania aplikacji wraz ze startem systemu, a także katalogi tymczasowe i katalog pobierania, które są typowymi miejscami, w których złośliwe oprogramowanie trafia podczas początkowego etapu infekcji. W filtrach można zaznaczyć dodatkowe lokalizacje – typowe dla konkretnych ataków. Ilość notowanych aktywności bez precyzyjnych filtrów może być znaczna.

Operacje tworzenia plików
Rysunek 1 Ślad po pojawieniu się nowego pliku w ścieżce dedykowanej dla plików tymczasowych C:\Users\adam\AppData\Local\Temp\

Zbieranie informacji o zmianach w rejestrze

RegistryEvent dotyczy tworzenia, modyfikowania i usuwania kluczy w rejestrze. Zbieranie informacji o zmianach w rejestrze może być przydatne do monitorowania kluczy rejestru zawierających informacje o lokalizacjach automatycznego uruchamiania lub określonych modyfikacji rejestru ze strony złośliwego oprogramowania. Podobnie jak w przypadku monitorowania zmian dotyczących plików sekcja ta może gromadzić bardzo wiele informacji, dlatego warto skupić się na ustawieniu precyzyjnych filtrów.

Rysunek 2 Przykład wpisu w logu Sysmon informujący o zmianie dokonanej w rejestrze systemowym
Rysunek 2 Przykład wpisu w logu Sysmon informujący o zmianie dokonanej w rejestrze systemowym

RegistryEvent (zestaw wartości) identyfikuje utworzenie wartości wpisów rejestru. Zdarzenie rejestruje wartość zapisaną dla wartości rejestru typu DWORD i QWORD czy String.

Rysunek 3 Zestawienie wpisu w event logu ze zmianą polegającą na dokonaniu wpisu nowej wartości do rejestru
Rysunek 3 Zestawienie wpisu w event logu ze zmianą polegającą na dokonaniu wpisu nowej wartości do rejestru

Sysmon mapuje operacje zmiany nazwy klucza rejestru i wartości, rejestrując nową nazwę klucza lub wartości, która została zmieniona.

Rysunek 4 Zestawienie wpisu w event logu z przykładową zmianą nazwy klucza rejestru
Rysunek 4 Zestawienie wpisu w event logu z przykładową zmianą nazwy klucza rejestru

Skanowanie w celu poszukiwania nietypowych ADSów

Utworzenie alternatywnego ciągu danych (Alternative Data String) a także sumy kontrolnej takiego strumienia, który jest cechą systemu plików NTFS. Istnieją warianty złośliwego oprogramowania, które ukrywają w alternatywnych ciągach danych złośliwy kod. Współcześnie ADSy wykorzystuje się w postaci Zone.Identifier, tzw. “znacznika sieci Web”. Oznacza to, że w przypadku plików pobranych ze źródeł zdalnych przeglądarka umieszcza informacje, skąd zostały pobrane. Funkcja systemu operacyjnego SmartScreen blokuje przed uruchomieniem pliki pobrane z lokalizacji o wątpliwej reputacji. Skanowanie w poszukiwaniu nietypowych ADSów jest standardową procedurą w procesie analizy powłamaniowej. Natomiast Sysmon pozwala wykryć pojawienie się tego typu obiektów w systemie dyskowym od razu po ich utworzeniu.

Rysunek 5 Odnotowanie faktu dopisania ADS w systemie pliku wraz z sumą kontrolną oraz zawartością ADSu w zestawieniu ze zdarzeniem odnotowanym przy pobraniu faktury w formacie pliku PDF za pomocą przeglądarki Edge do katalogu Downloads w profilu użytkownika
Rysunek 5 Odnotowanie faktu dopisania ADS w systemie pliku wraz z sumą kontrolną oraz zawartością ADSu w zestawieniu ze zdarzeniem odnotowanym przy pobraniu faktury w formacie pliku PDF za pomocą przeglądarki Edge do katalogu Downloads w profilu użytkownika

Rejestracja zmian w konfiguracji Sysmon

ServiceConfigurationChange to zdarzenie niekonfigurowalne. Rejestruje ono zmiany w konfiguracji Sysmon — na przykład podczas aktualizowania reguł filtrowania z podaniem ścieżki oraz sumy kontrolnej pliku z konfiguracją.

Rysunek 6 Rejestracja zmian w konfiguracji Sysmon
Rysunek 6 Informacja o zmianie konfiguracji usługi Sysmon poprzez użycie pliku konfiguracyjnego z filtrami.

Monitoring PipeEvents

PipeEvent (utworzono potok) To zdarzenie jest generowane podczas tworzenia nazwanego potoku. Złośliwe oprogramowanie często używa nazwanych potoków do komunikacji międzyprocesowej.

Rysunek 7 Informacji o utworzeniu nazwanego potoku
Rysunek 7 Informacji o utworzeniu nazwanego potoku

PipeEvent (połaczenie z nazwanym potokiem) to zdarzenie rejestruje, gdy zostanie nawiązane połączenie do nazwanego potoku pomiędzy klientem a serwerem.

Rysunek 8 Odnotowane połączenie do nazwanego potoku
 Rysunek 8 Odnotowane połączenie do nazwanego potoku

Zastosowanie Sysmon w rejestrowaniu filtrów WMI

Po zarejestrowaniu filtru zdarzeń usługi WMI, czyli metody używanej przez złośliwe oprogramowanie do wykonania, to zdarzenie rejestruje wykorzystaną przestrzeń nazw usługi WMI, nazwę filtru i wyrażenie filtru. Atakujący – co prawda – opracowali szczególnie wyrafinowany sposób na utrwalanie złośliwego oprogramowania, podnosząc uprawnienia za pomocą filtrów zdarzeń WMI i użytkowników, aczkolwiek we współczesnych systemach Windows technika ta jest blokowana i trudno ją zasymulować.

Wykryto działanie WmiEvent (WmiEventConsumer) to zdarzenie rejestruje rejestrację użytkowników usługi WMI, rejestrowanie nazwy klienta, dziennika i miejsca docelowego. Jak w przypadku zdarzenia o ID 19 – współcześnie trudne do zasymulowania.

Działanie WmiEvent (WmiEventConsumerToFilter) zostaje wykryte,  gdy użytkownik powiąże z filtrem, to zdarzenie w obszarze WMI rejestruje nazwę użytkownika i ścieżkę filtru.

Monitoring zapytań DNS

To zdarzenie generuje się, gdy proces wykonuje zapytanie DNS, niezależnie od tego, czy wynik zakończył się pomyślnie, czy nazwę bądź adres IP rozwiązano czy nie. Można wykryć w ten sposób aktywność złośliwego oprogramowania względem zapytań o rozwiązywanie nazwy stron o słabej reputacji – oczywiście po wcześniejszym uwzględnieniu listy takich stron w filtrach. Ten rodzaj rejestrowania daje też potencjał wykrywania ataków polegających na spoofowaniu niepodpisanych odpowiedzi DNS.

Rysunek 10 Odnotowanie zdarzenia polegającego na odpytaniu o rozwiązanie nazwy usługi DNS
Rysunek 10 Odnotowanie zdarzenia polegającego na odpytaniu o rozwiązanie nazwy usługi DNS

Monitoring usuniętych plików

Zdarzenie FileDelete (plik usunięty zarchiwizowany) sygnalizuje, że plik ze śledzonej ścieżki usunięto. Ponadto w celu rejestrowania zdarzenia usunięty plik również zapisuje się w konfigurowanym katalogu Archiwum. Jeśli atakujący usunie pliki złośliwego oprogramowania, administratorzy nadal będą mieli do nich dostęp.  W normalnych warunkach operacyjnych ten katalog może wzrosnąć do dużych rozmiarów, dlatego ważne jest jednak, aby odpowiednio skonfigurować reguły tego zdarzenia. Nie doprowadzi to do zapełnienia pamięci.

Rysunek 11 Ślad po usunięciu pliku z przeniesieniem do archiwum
Rysunek 11 Ślad po usunięciu pliku z przeniesieniem do archiwum

Rejestr nowych zawartości w schowku

Zdarzenie ClipboardChange generuje się po zmianie zawartości schowka systemowego. Tak jak w przypadku usuniętych plików, informacje o zmianach w schowku także zostają skopiowane do określonego katalogu archiwizacji. Monitorowanie danych przechowywanych w schowku może dostarczyć przydatnych informacji o tym, jak prowadzony był atak.

Rysunek 12 Informacja o zmianie zawartości schowka systemowego wraz z programem, który dokonał zmiany, zawartością,
Rysunek 12 Informacja o zmianie zawartości schowka systemowego wraz z programem, który dokonał zmiany, zawartością,

Monitoring zmian obrazu procesu

Zdarzenie ProcessTampering (Zmiana obrazu procesu) generuje się podczas wykrywania technik ukrywania procesów poprzez podmianę ich obrazów.  Obejmuje manipulowanie początkowym obrazem/procesem, aby był czymś innym niż proces, z którym go uruchomiono. To działanie dostosowane do ataków takich jak, m.in. opróżnianie procesów (process hollowing). Tak jak w przypadku poprzednich zdarzeń, ProcessTampering również jest zapisywane w archiwum i należy pamiętać, aby do przechowywania zdarzeń podchodzić racjonalnie, aby nie przeciążyć pamięci.

Rysunek 13 Zdarzenie dotyczące próby podmiany obrazu procesu cmd.exe
Rysunek 13 Zdarzenie dotyczące próby podmiany obrazu procesu cmd.exe

Rejestracja operacji na plikach

  1. FileDeleteDetected (zarejestrowane usuwanie pliku) – To podobne zdarzenie jak w przypadku zdarzenia ID23, ale bez zapisywania usuniętych plików. Plik usunięto bez przenoszenia do archiwum.
  2. FileBlockExecutable – zdarzenie generowane, gdy system Sysmon wykrywa i blokuje tworzenie plików wykonywalnych.
  3. FileBlockShredding – Tzdarzenie generowane, gdy program Sysmon wykrywa i blokuje usuwanie plików z użyciem narzędzi, takich jak SDelete.
  4. FileExecutableDetected – To zdarzenie generowane, gdy program Sysmon wykryje utworzenie nowego pliku wykonywalnego (format PE).

Błąd programu Sysmon

To ostatnie zdarzenie z dostępnej puli – generowane tylko, gdy wystąpił błąd w Sysmonie. Może wystąpić, gdy system operacyjny jest w znacznym stopniu obciążony, przez co sam Sysmon może nie nadążyć z bieżącym zapisywaniem logów. Również gdy istnieje usterka w funkcjonowaniu rozwiązania (także zamierzona podczas ataku, choć Sysmon w ostatnich aktualizacjach uzbrojono w mechanizmy przeciwdziałające atakom), a nawet jeśli niektóre warunki integralności nie zostaną spełnione. Warto wychwytywać tego typu zdarzenia w systemach, bowiem również może to być wskaźnik ataku.

Podsumowanie najważniejszych cech Sysmon

Sysmon to niewątpliwie zaawansowane i kompleksowe narzędzie monitorujące i rejestrujące aktywności systemu. Dostarcza szczegółowych informacji o procesach, sieciach, sterownikach i innych kluczowych aspektach systemu operacyjnego. Do kluczowych cech należą:

  • Elastyczność względem nowych/uaktualnianych także zdalnie konfiguracji: Sysmon automatycznie przeładowuje konfigurację, jeśli zmieniono ją w rejestrze. Taka zmiana odnotowuje się w logu Sysmona.
  • Filtrowanie reguł: Sysmon umożliwia dynamiczne dołączanie lub wykluczanie określonych zdarzeń, a filtry zapisano przejrzyście w formacie xml. Dostosowanie filtrów pozwala na wyeliminowanie informacji bezużytecznych, a dodawanie takich, które stanowią wskaźnik na znane techniki i taktyki ataku zwłaszcza w korelacji między poszczególnym ciągiem odnotowanych zdarzeń.
  • Generowanie zdarzeń od wczesnej fazy rozruchu: Sysmon generuje zdarzenia już od wczesnej fazy rozruchu. Pozwala to na przechwytywanie aktywności nawet zaawansowanego złośliwego oprogramowania działającego na poziomie jądra systemu operacyjnego.

Warto zauważyć, że Sysmon nie dostarcza analizy czy interpretacji wygenerowanych przez niego zdarzeń. To zadanie należy do zintegrowanego z nim systemu SIEM. Sysmon nie próbuje ukryć się przed atakującymi – jego obecność jest łatwo wykrywalna podczas fazy aktywnego rekonesansu.




Dodaj komentarz