Obsługa opóźnienia pozyskiwania w zaplanowanych regułach analizy
Chociaż usługa Microsoft Sentinel może pozyskiwać dane z różnych źródeł, czas pozyskiwania danych dla każdego źródła danych może się różnić w różnych okolicznościach.
W tym artykule opisano, jak opóźnienie pozyskiwania może mieć wpływ na reguły zaplanowanej analizy i jak można je naprawić, aby wyeliminować te luki.
Dlaczego opóźnienie jest istotne
Możesz na przykład napisać niestandardową regułę wykrywania, ustawiając ustawienie Uruchom zapytanie co i Wyszukiwanie danych z ostatnich pól, aby reguła działała co pięć minut, wyszukując dane z tych ostatnich pięciu minut:
Dane odnośnika z ostatniego pola definiują ustawienie znane jako okres wyszukiwania. Najlepiej, gdy nie ma opóźnienia, to wykrywanie nie przegapi żadnych zdarzeń, jak pokazano na poniższym diagramie:
Zdarzenie jest dostarczane podczas jego generowania i jest uwzględniane w okresie wyszukiwania.
Teraz załóżmy, że istnieje pewne opóźnienie dla źródła danych. W tym przykładzie załóżmy, że zdarzenie zostało pozyskane dwie minuty po jego wygenerowaniu. Opóźnienie wynosi dwie minuty:
Zdarzenie jest generowane w pierwszym okresie wyszukiwania, ale nie jest pozyskiwane w obszarze roboczym usługi Microsoft Sentinel w pierwszym uruchomieniu. Przy następnym uruchomieniu zaplanowanego zapytania pozyskuje zdarzenie, ale filtr wygenerowany czas usuwa zdarzenie, ponieważ stało się to ponad pięć minut temu. W takim przypadku reguła nie uruchamia alertu.
Jak obsługiwać opóźnienie
Uwaga
Problem można rozwiązać przy użyciu opisanego poniżej procesu lub zaimplementować reguły wykrywania niemal w czasie rzeczywistym (NRT) usługi Microsoft Sentinel. Aby uzyskać więcej informacji, zobacz Wykrywanie zagrożeń szybko za pomocą reguł analizy niemal w czasie rzeczywistym (NRT) w usłudze Microsoft Sentinel.
Aby rozwiązać ten problem, musisz znać opóźnienie dla typu danych. W tym przykładzie wiesz już, że opóźnienie wynosi dwie minuty.
W przypadku własnych danych możesz zrozumieć opóźnienie przy użyciu funkcji Kusto ingestion_time()
i obliczyć różnicę między timeGenerated i czasem pozyskiwania. Aby uzyskać więcej informacji, zobacz Obliczanie opóźnienia pozyskiwania.
Po określeniu opóźnienia możesz rozwiązać problem w następujący sposób:
Zwiększ okres wyszukiwania. Podstawowa intuicja mówi, że zwiększenie rozmiaru okresu spojrzenia pomoże. Ponieważ okres wyszukiwania wstecz wynosi pięć minut, a opóźnienie wynosi dwie minuty, ustawienie okresu wyszukiwania na siedem minut pomoże rozwiązać ten problem. Na przykład w ustawieniach reguły:
Na poniższym diagramie pokazano, jak okres look-pack zawiera teraz pominięte zdarzenie:
Obsługa duplikacji. Tylko zwiększenie okresu wyszukiwania może spowodować duplikowanie, ponieważ okna odnośnika teraz nakładają się na siebie. Na przykład inne zdarzenie może wyglądać tak, jak pokazano na poniższym diagramie:
Ponieważ wartość TimeGenerated zdarzenia znajduje się w obu okresach wyszukiwania, zdarzenie wyzwala dwa alerty. Należy znaleźć sposób rozwiązania duplikacji.
Skojarz zdarzenie z określonym okresem wyszukiwania. W pierwszym przykładzie pominięto zdarzenia, ponieważ dane nie zostały pozyskane podczas uruchamiania zaplanowanego zapytania. Rozszerzono wyszukiwanie w celu uwzględnienia zdarzenia, ale spowodowało to duplikowanie. Musisz skojarzyć zdarzenie z oknem rozszerzonym, aby je zawierać.
W tym celu należy ustawić wartość
ingestion_time() > ago(5m)
zamiast oryginalnej regułylook-back = 5m
. To ustawienie kojarzy zdarzenie z pierwszym oknem wyszukiwania. Przykład:Ograniczenie czasu pozyskiwania teraz przycina dodatkowe dwie minuty dodane do okresu wyszukiwania. A w pierwszym przykładzie drugi przebieg okres wyszukiwania przechwytuje teraz zdarzenie:
Następujące przykładowe zapytanie zawiera podsumowanie rozwiązania do rozwiązywania problemów z opóźnieniami pozyskiwania:
let ingestion_delay = 2min;
let rule_look_back = 5min;
CommonSecurityLog
| where TimeGenerated >= ago(ingestion_delay + rule_look_back)
| where ingestion_time() > ago(rule_look_back)
Obliczanie opóźnienia pozyskiwania
Domyślnie zaplanowane reguły alertów usługi Microsoft Sentinel są skonfigurowane tak, aby miały 5-minutowy okres wyszukiwania. Jednak każde źródło danych może mieć własne, indywidualne opóźnienie pozyskiwania. Podczas łączenia wielu typów danych należy zrozumieć różne opóźnienia dla każdego typu danych, aby prawidłowo skonfigurować okres wyszukiwania.
Raport użycia obszaru roboczego udostępniony w usłudze Microsoft Sentinel zawiera wbudowany pulpit nawigacyjny, który pokazuje opóźnienia i opóźnienia dla różnych typów danych przepływających do obszaru roboczego.
Przykład:
Następne kroki
Aby uzyskać więcej informacji, zobacz:
- Tworzenie niestandardowych reguł analizy do wykrywania zagrożeń
- Dostosowywanie szczegółów alertu w usłudze Azure Sentinel
- Zarządzanie wersjami szablonów dla zaplanowanych reguł analizy w usłudze Azure Sentinel
- Korzystanie ze skoroszytu monitorowania kondycji
- Czas pozyskiwania danych dziennika w usłudze Azure Monitor