Modyfikowanie zawartości w celu korzystania z usługi Advanced Security Information Model (ASIM) (publiczna wersja zapoznawcza)
Znormalizowana zawartość zabezpieczeń w usłudze Microsoft Sentinel obejmuje reguły analizy, zapytania wyszukiwania zagrożeń i skoroszyty, które współpracują z ujednoliceniem analizatorów normalizacji.
Zawartość znormalizowaną, nieaktualną można znaleźć w galeriach i rozwiązaniach usługi Microsoft Sentinel, utworzyć własną znormalizowaną zawartość lub zmodyfikować istniejącą zawartość niestandardową, aby używać znormalizowanych danych.
W tym artykule wyjaśniono, jak przekonwertować istniejące reguły analizy usługi Microsoft Sentinel na użycie znormalizowanych danych za pomocą modelu ASIM (Advanced Security Information Model).
Aby zrozumieć, jak znormalizowana zawartość pasuje do architektury ASIM, zapoznaj się z diagramem architektury ASIM.
Napiwek
Obejrzyj również seminarium internetowe deep dive na temat analizatorów normalizacji usługi Microsoft Sentinel i znormalizowanej zawartości lub przejrzyj slajdy. Aby uzyskać więcej informacji, zobacz Następne kroki.
Ważne
ASIM jest obecnie w wersji zapoznawczej. Dodatkowe postanowienia dotyczące wersji zapoznawczej platformy Azure obejmują dodatkowe postanowienia prawne dotyczące funkcji platformy Azure, które są dostępne w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej.
Modyfikowanie zawartości niestandardowej w celu korzystania z normalizacji
Aby umożliwić niestandardowej zawartości usługi Microsoft Sentinel korzystanie z normalizacji:
Zmodyfikuj zapytania, aby używać dowolnych ujednolicających analizatorów istotnych dla zapytania.
Zmodyfikuj nazwy pól w zapytaniu, aby używać znormalizowanych nazw pól schematu .
Jeśli ma to zastosowanie, zmień warunki, aby używać znormalizowanych wartości pól w zapytaniu.
Przykładowa normalizacja reguł analizy
Rozważmy na przykład rzadki klient zaobserwowany z wysoką odwrotną liczbą odnośników DNS regułą analizy DNS, która działa na zdarzeniach DNS wysyłanych przez serwery DNS infoblox:
let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP
Poniższy kod jest wersją niezależną od źródła, która używa normalizacji w celu zapewnienia tego samego wykrywania dla dowolnego źródła dostarczającego zdarzenia zapytań DNS. W poniższym przykładzie użyto wbudowanych analizatorów ASIM:
_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
Aby użyć analizatorów ASIM wdrożonych w obszarze roboczym, zastąp pierwszy wiersz następującym kodem:
imDns(responsecodename='NXDOMAIN')
Różnice między wbudowanymi i wdrożonymi obszarami roboczymi analizatorami
Dwie opcje w powyższym przykładzie są funkcjonalnie identyczne. Znormalizowana, niezależna wersja źródła ma następujące różnice:
Analizatory
_Im_Dns
lubimDns
znormalizowane są używane zamiast analizatora infoblox.Znormalizowane analizatory pobierają tylko zdarzenia zapytań DNS, więc nie ma potrzeby sprawdzania typu zdarzenia, zgodnie z
where ProcessName =~ "named" and Log_Type =~ "client"
operacją w wersji programu Infoblox.Pole
SrcIpAddr
jest używane zamiastClient_IP
.Filtrowanie parametrów analizatora jest używane dla parametru ResponseCodeName, eliminując potrzebę jawnych
where
klauzul.
Uwaga
Oprócz obsługi dowolnego znormalizowanego źródła DNS znormalizowana wersja jest krótsza i łatwiejsza do zrozumienia.
Jeśli schemat lub analizatory nie obsługują parametrów filtrowania, zmiany są podobne, z tą różnicą, że warunki filtrowania są przechowywane z oryginalnego zapytania. Na przykład:
let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
Więcej informacji na temat następujących elementów używanych w poprzednich przykładach można znaleźć w dokumentacji usługi Kusto:
- let , instrukcja
- operator where
- operator extend
- operator sprzężenia
- operator summarize
- isnotempty() , funkcja
- count() , funkcja agregacji
Aby uzyskać więcej informacji na temat języka KQL, zobacz omówienie język zapytań Kusto (KQL).
Inne zasoby:
Następne kroki
W tym artykule omówiono zawartość usługi Advanced Security Information Model (ASIM).
Aby uzyskać więcej informacji, zobacz:
- Obejrzyj seminarium internetowe szczegółowe na temat analizatorów normalizacji usługi Microsoft Sentinel i znormalizowanej zawartości lub przejrzyj slajdy
- Omówienie zaawansowanego modelu informacji o zabezpieczeniach (ASIM)
- Analizatory zaawansowanego modelu informacji o zabezpieczeniach (ASIM)
- Schematy zaawansowanego modelu informacji o zabezpieczeniach (ASIM)
- Zawartość usługi Advanced Security Information Model (ASIM)