Dokumentacja schematu normalizacji DNS usługi Advanced Security Information Model (ASIM)

Model informacji DNS jest używany do opisywania zdarzeń zgłaszanych przez serwer DNS lub system zabezpieczeń DNS i jest używany przez Microsoft Sentinel do włączania analizy niezależnych od źródła.

Aby uzyskać więcej informacji, zobacz Normalization and the Advanced Security Information Model (ASIM) (Normalizacja i zaawansowany model informacji o zabezpieczeniach (ASIM).

Omówienie schematu

Schemat DNS usługi ASIM reprezentuje działanie protokołu DNS. Zarówno serwery DNS, jak i urządzenia wysyłające żądania DNS do działania DNS dziennika serwera DNS. Działanie protokołu DNS obejmuje zapytania DNS, aktualizacje serwera DNS i zbiorcze transfery danych DNS. Ponieważ schemat reprezentuje działanie protokołu, jest on zarządzany przez RFC i oficjalnie przypisane listy parametrów, do których odwołuje się ten artykuł, gdy jest to odpowiednie. Schemat DNS nie reprezentuje zdarzeń inspekcji serwera DNS.

Najważniejszym działaniem zgłaszanym przez serwery DNS jest zapytanie DNS, dla którego EventType pole jest ustawione na Querywartość .

Najważniejsze pola w zdarzeniu DNS to:

  • DnsQuery, który zgłasza nazwę domeny, dla której zostało wydane zapytanie.

  • SrcIpAddr (aliasem IpAddr), który reprezentuje adres IP, z którego wygenerowano żądanie. Serwery DNS zwykle udostępniają pole SrcIpAddr, ale klienci DNS czasami nie podają tego pola i udostępniają tylko pole SrcHostname .

  • EventResultDetails, który informuje, czy żądanie zakończyło się pomyślnie, a jeśli nie, dlaczego.

  • Jeśli jest dostępna, dnsResponseName, która przechowuje odpowiedź dostarczoną przez serwer do zapytania. Usługa ASIM nie wymaga analizowania odpowiedzi, a jej format różni się między źródłami.

    Aby użyć tego pola w zawartości niezależne od źródła, wyszukaj zawartość za pomocą has operatorów lub contains .

Zdarzenia DNS zebrane na urządzeniu klienckim mogą również obejmować informacje o użytkownikach i procesach .

Wytyczne dotyczące zbierania zdarzeń DNS

SYSTEM DNS jest unikatowym protokołem, ponieważ może przekraczać dużą liczbę komputerów. Ponadto, ponieważ system DNS używa protokołu UDP, żądania i odpowiedzi są odłączane i nie są ze sobą bezpośrednio powiązane.

Na poniższej ilustracji przedstawiono uproszczony przepływ żądań DNS, w tym cztery segmenty. Rzeczywiste żądanie może być bardziej złożone, z większą ilością zaangażowanych segmentów.

Uproszczony przepływ żądań DNS.

Ponieważ segmenty żądań i odpowiedzi nie są bezpośrednio połączone ze sobą w przepływie żądań DNS, pełne rejestrowanie może spowodować znaczne duplikowanie.

Najbardziej wartościowym segmentem do zarejestrowania jest odpowiedź na klienta. Odpowiedź zawiera zapytania dotyczące nazw domen, wynik wyszukiwania i adres IP klienta. Chociaż wiele systemów DNS rejestruje tylko ten segment, istnieje wartość w rejestrowaniu innych części. Na przykład atak zatrucia pamięci podręcznej DNS często korzysta z fałszywych odpowiedzi z serwera nadrzędnego.

Jeśli źródło danych obsługuje pełne rejestrowanie DNS i wybrano rejestrowanie wielu segmentów, dostosuj zapytania, aby zapobiec duplikowaniu danych w Microsoft Sentinel.

Na przykład możesz zmodyfikować zapytanie przy użyciu następującej normalizacji:

_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"

Parsery

Aby uzyskać więcej informacji na temat analizatorów ASIM, zobacz omówienie analizatorów ASIM.

Analizatory out-of-the-box

Aby użyć analizatorów, które ujednolicają wszystkie wbudowane analizatory ASIM, i upewnij się, że analiza jest uruchamiana we wszystkich skonfigurowanych źródłach, użyj analizatora _Im_Dns ujednolicenia jako nazwy tabeli w zapytaniu.

Aby uzyskać listę analizatorów DNS, Microsoft Sentinel udostępnia out-of-the-box, zapoznaj się z listą analizatorów ASIM.

Dodawanie własnych znormalizowanych analizatorów

Podczas implementowania niestandardowych analizatorów dla modelu informacji Dns nadaj nazwę funkcjom KQL przy użyciu formatu vimDns<vendor><Product>. Zapoznaj się z artykułem Managing ASIM parsers (Zarządzanie analizatorami ASIM ), aby dowiedzieć się, jak dodać niestandardowe analizatory do analizatora ujednolicenia DNS.

Filtrowanie parametrów analizatora

Analizatory DNS obsługują parametry filtrowania. Te parametry są opcjonalne, ale mogą zwiększyć wydajność zapytania.

Dostępne są następujące parametry filtrowania:

Name (Nazwa) Wpisać Opis
Starttime Datetime Filtruj tylko zapytania DNS uruchomione o tej godzinie lub później. Ten parametr filtruje TimeGenerated pole, które jest standardowym projektantem czasu zdarzenia, niezależnie od mapowania specyficznego dla analizatora pól EventStartTime i EventEndTime.
Endtime Datetime Filtruj tylko zapytania DNS, które zakończyły działanie o godzinie lub przed tą godziną. Ten parametr filtruje TimeGenerated pole, które jest standardowym projektantem czasu zdarzenia, niezależnie od mapowania specyficznego dla analizatora pól EventStartTime i EventEndTime.
srcipaddr ciąg Filtruj tylko zapytania DNS z tego źródłowego adresu IP.
domain_has_any dynamic/string Filtruj tylko zapytania DNS, w domain których (lub query) ma dowolną z wymienionych nazw domen, w tym jako część domeny zdarzeń. Długość listy jest ograniczona do 10 000 elementów.
responsecodename ciąg Filtruj tylko zapytania DNS, dla których nazwa kodu odpowiedzi jest zgodna z podaną wartością.
Przykład: NXDOMAIN
response_has_ipv4 ciąg Filtruj tylko zapytania DNS, w których pole odpowiedzi zawiera podany prefiks adresu IP lub adresu IP. Użyj tego parametru, jeśli chcesz filtrować pojedynczy adres IP lub prefiks.

Wyniki nie są zwracane dla źródeł, które nie zapewniają odpowiedzi.
response_has_any_prefix Dynamiczne Filtruj tylko zapytania DNS, w których pole odpowiedzi zawiera dowolne z wymienionych adresów IP lub prefiksów adresów IP. Prefiksy powinny kończyć się wartością ., na przykład: 10.0..

Użyj tego parametru, jeśli chcesz filtrować listę adresów IP lub prefiksów.

Wyniki nie są zwracane dla źródeł, które nie zapewniają odpowiedzi. Długość listy jest ograniczona do 10 000 elementów.
Eventtype ciąg Filtruj tylko zapytania DNS określonego typu. Jeśli nie określono żadnej wartości, zwracane są tylko zapytania odnośników.

Aby na przykład filtrować tylko zapytania DNS z ostatniego dnia, które nie rozpoznają nazwy domeny, użyj:

_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())

Aby filtrować tylko zapytania DNS dla określonej listy nazw domen, użyj:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)

Niektóre parametry mogą akceptować zarówno listę wartości typu dynamic , jak i pojedynczą wartość ciągu. Aby przekazać listę literałów do parametrów, które oczekują wartości dynamicznej, jawnie użyj literału dynamicznego. Przykład: dynamic(['192.168.','10.'])

Znormalizowana zawartość

Aby uzyskać pełną listę reguł analizy, które używają znormalizowanych zdarzeń DNS, zobacz Zawartość zabezpieczeń zapytań DNS.

Szczegóły schematu

Model informacji DNS jest zgodny ze schematem jednostki DNS OSSEM.

Aby uzyskać więcej informacji, zobacz dokumentację parametrów DNS urzędu iANA (Internet Assigned Numbers Authority).

Typowe pola usługi ASIM

Ważna

Pola wspólne dla wszystkich schematów zostały szczegółowo opisane w artykule ASIM Common Fields (Pola wspólne usługi ASIM ).

Typowe pola z określonymi wytycznymi

Na poniższej liście wymieniono pola, które mają określone wytyczne dotyczące zdarzeń DNS:

Pole Klasa Type Opis
EventType Obowiązkowe Wyliczane Wskazuje operację zgłoszoną przez rekord.

W przypadku rekordów DNS ta wartość będzie kodem operacji DNS.

Przykład: Query
EventSubType Opcjonalny Wyliczane Albo request lub response.

W przypadku większości źródeł rejestrowane są tylko odpowiedzi, dlatego wartość jest często odpowiedzią.
EventResultDetails Obowiązkowe Wyliczane W przypadku zdarzeń DNS to pole zawiera kod odpowiedzi DNS.

Uwagi:
— Funkcja IANA nie definiuje przypadku wartości, dlatego analiza musi znormalizować przypadek.
— Jeśli źródło zawiera tylko kod odpowiedzi liczbowej, a nie nazwę kodu odpowiedzi, analizator musi zawierać tabelę odnośników, aby wzbogacić ją o tę wartość.
— Jeśli ten rekord reprezentuje żądanie, a nie odpowiedź, ustaw wartość NA.

Przykład: NXDOMAIN
EventSchemaVersion Obowiązkowe SchemaVersion (ciąg) Wersja schematu udokumentowana tutaj to 0.1.7.
EventSchema Obowiązkowe Wyliczane Nazwa schematu udokumentowanego w tym miejscu to Dns.
Pola dvc - - W przypadku zdarzeń DNS pola urządzenia odnoszą się do systemu, który zgłasza zdarzenie DNS.

Wszystkie typowe pola

Pola wyświetlane w poniższej tabeli są wspólne dla wszystkich schematów ASIM. Wszelkie wytyczne określone powyżej zastępują ogólne wytyczne dotyczące pola. Na przykład pole może być opcjonalne ogólnie, ale obowiązkowe dla określonego schematu. Aby uzyskać więcej informacji na temat każdego pola, zobacz artykuł ASIM Common Fields (Typowe pola usługi ASIM ).

Klasa Pola
Obowiązkowe - EventCount
- EventStartTime
- EventEndTime
- Eventtype
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Zalecane - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcjonalny - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Pola dodatkowe
- DvcDescription
- DvcScopeId
- DvcScope

Pola systemu źródłowego

Pole Klasa Wpisać Opis
Src Alias Ciąg Unikatowy identyfikator urządzenia źródłowego.

To pole może aliasować pola SrcDvcId, SrcHostname lub SrcIpAddr .

Przykład: 192.168.12.1
SrcIpAddr Zalecane Adres IP Adres IP klienta, który wysłał żądanie DNS. W przypadku cyklicznego żądania DNS ta wartość jest zwykle urządzeniem raportowania, a w większości przypadków ustawionym na 127.0.0.1wartość .

Przykład: 192.168.12.1
SrcPortNumber Opcjonalny Liczba całkowita Port źródłowy zapytania DNS.

Przykład: 54312
IpAddr Alias Alias do SrcIpAddr
SrcGeoCountry Opcjonalny Kraj Kraj/region skojarzony ze źródłowym adresem IP.

Przykład: USA
SrcGeoRegion Opcjonalny Region Region skojarzony ze źródłowym adresem IP.

Przykład: Vermont
SrcGeoCity Opcjonalny Miasto Miasto skojarzone ze źródłowym adresem IP.

Przykład: Burlington
SrcGeoLatitude Opcjonalny Szerokość geograficzna Szerokość geograficzna współrzędnej skojarzonej ze źródłowym adresem IP.

Przykład: 44.475833
SrcGeoLongitude Opcjonalny Długość geograficzna Długość geograficzna współrzędnej skojarzonej ze źródłowym adresem IP.

Przykład: 73.211944
SrcRiskLevel Opcjonalny Liczba całkowita Poziom ryzyka skojarzony ze źródłem. Wartość powinna być dostosowana do zakresu 0 do 100, z 0 dla niegroźnych i 100 dla wysokiego ryzyka.

Przykład: 90
SrcOriginalRiskLevel Opcjonalny Ciąg Poziom ryzyka skojarzony ze źródłem, zgłoszony przez urządzenie raportowania.

Przykład: Suspicious
SrcHostname Zalecane Nazwa hosta (ciąg) Nazwa hosta urządzenia źródłowego z wyłączeniem informacji o domenie.

Przykład: DESKTOP-1282V4D
Hostname (Nazwa hosta) Alias Alias do SrcHostname
SrcDomain Zalecane Domena (ciąg) Domena urządzenia źródłowego.

Przykład: Contoso
SrcDomainType Warunkowe Wyliczane Typ SrcDomain, jeśli jest znany. Możliwe wartości obejmują:
- Windows (na przykład: contoso)
- FQDN (na przykład: microsoft.com)

Wymagane, jeśli jest używana domena SrcDomain .
SrcFQDN Opcjonalny FQDN (ciąg) Nazwa hosta urządzenia źródłowego, w tym informacje o domenie, jeśli są dostępne.

Uwaga: to pole obsługuje zarówno tradycyjny format FQDN, jak i format domena\nazwa hosta systemu Windows. Pole SrcDomainType odzwierciedla używany format.

Przykład: Contoso\DESKTOP-1282V4D
Identyfikator SrcDvcId Opcjonalny Ciąg Identyfikator urządzenia źródłowego zgłoszony w rekordzie.

Przykład: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Opcjonalny Ciąg Identyfikator zakresu platformy w chmurze, do którego należy urządzenie. SrcDvcScopeId mapuje identyfikator subskrypcji na Azure i na identyfikator konta na platformie AWS.
SrcDvcScope Opcjonalny Ciąg Zakres platformy w chmurze, do którego należy urządzenie. SrcDvcScope mapuje identyfikator subskrypcji na Azure i na identyfikator konta na platformie AWS.
SrcDvcIdType Warunkowe Wyliczane Typ SrcDvcId, jeśli jest znany. Możliwe wartości obejmują:
- AzureResourceId
- MDEid

Jeśli dostępnych jest wiele identyfikatorów, użyj pierwszego z listy i zapisz pozostałe odpowiednio w parametrach SrcDvcAzureResourceId i SrcDvcMDEid.

Uwaga: to pole jest wymagane, jeśli jest używany identyfikator SrcDvcId .
SrcDeviceType Opcjonalny Wyliczane Typ urządzenia źródłowego. Możliwe wartości obejmują:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Opcjonalny Ciąg Opisowy tekst skojarzony z urządzeniem. Przykład: Primary Domain Controller.

Pola użytkownika źródłowego

Pole Klasa Wpisać Opis
Identyfikator SrcUserId Opcjonalny Ciąg Czytelna dla maszyny, alfanumeryczna, unikatowa reprezentacja użytkownika źródłowego. Aby uzyskać więcej informacji i w przypadku pól alternatywnych dla dodatkowych identyfikatorów, zobacz Jednostka Użytkownik.

Przykład: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Opcjonalny Ciąg Zakres, taki jak dzierżawa Microsoft Entra, w którym zdefiniowano wartości SrcUserId i SrcUsername. lub więcej informacji i listy dozwolonych wartości, zobacz UserScope w artykule Omówienie schematu.
SrcUserScopeId Opcjonalny Ciąg Identyfikator zakresu, taki jak identyfikator katalogu Microsoft Entra, w którym zdefiniowano SrcUserId i SrcUsername. Aby uzyskać więcej informacji i listę dozwolonych wartości, zobacz UserScopeId w artykule Omówienie schematu.
SrcUserIdType Warunkowe UserIdType Typ identyfikatora przechowywanego w polu SrcUserId . Aby uzyskać więcej informacji i listę dozwolonych wartości, zobacz UserIdType w artykule Omówienie schematu.
SrcUsername Opcjonalny Nazwa użytkownika (ciąg) Nazwa użytkownika źródła, w tym informacje o domenie, jeśli są dostępne. Aby uzyskać więcej informacji, zobacz jednostka Użytkownik.

Przykład: AlbertE
SrcUsernameType Warunkowe Typ nazwy użytkownika Określa typ nazwy użytkownika przechowywanej w polu SrcUsername . Aby uzyskać więcej informacji i listę dozwolonych wartości, zobacz UsernameType w artykule Omówienie schematu.

Przykład: Windows
Użytkownika Alias Alias to SrcUsername
SrcUserType Opcjonalny Usertype Typ użytkownika źródłowego. Aby uzyskać więcej informacji i listę dozwolonych wartości, zobacz UserType w artykule Omówienie schematu.

Przykład: Guest
SrcUserSessionId Opcjonalny Ciąg Unikatowy identyfikator sesji logowania aktora.

Przykład: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Opcjonalny Ciąg Oryginalny typ użytkownika źródłowego, jeśli jest dostarczany przez źródło.

Pola procesu źródłowego

Pole Klasa Wpisać Opis
SrcProcessName Opcjonalny Ciąg Nazwa pliku procesu, który zainicjował żądanie DNS. Ta nazwa jest zwykle uważana za nazwę procesu.

Przykład: C:\Windows\explorer.exe
Proces Alias Alias do nazwy SrcProcessName

Przykład: C:\Windows\System32\rundll32.exe
SrcProcessId Opcjonalny Ciąg Identyfikator procesu (PID) procesu, który zainicjował żądanie DNS.

Przykład: 48610176

Uwaga: typ jest zdefiniowany jako ciąg do obsługi różnych systemów, ale w systemie Windows i Linux ta wartość musi być liczbowa.

Jeśli używasz maszyny z systemem Windows lub Linux i używasz innego typu, przekonwertuj wartości. Jeśli na przykład użyto wartości szesnastkowej, przekonwertuj ją na wartość dziesiętną.
SrcProcessGuid Opcjonalny IDENTYFIKATOR GUID (ciąg) Wygenerowany unikatowy identyfikator (GUID) procesu, który zainicjował żądanie DNS.

Przykład: EF3BD0BD-2B74-60C5-AF5C-010000001E00

Pola systemu docelowego

Pole Klasa Wpisać Opis
Czasu letniego Alias Ciąg Unikatowy identyfikator serwera, który odebrał żądanie DNS.

To pole może zawierać aliasy pól DstDvcId, DstHostname lub DstIpAddr .

Przykład: 192.168.12.1
DstIpAddr Opcjonalny Adres IP Adres IP serwera, który odebrał żądanie DNS. W przypadku zwykłego żądania DNS ta wartość jest zwykle urządzeniem raportowania, a w większości przypadków ustawionym na 127.0.0.1wartość .

Przykład: 127.0.0.1
DstGeoCountry Opcjonalny Kraj Kraj/region skojarzony z docelowym adresem IP. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: USA
DstGeoRegion Opcjonalny Region Region lub stan skojarzony z docelowym adresem IP. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: Vermont
DstGeoCity Opcjonalny Miasto Miasto skojarzone z docelowym adresem IP. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: Burlington
DstGeoLatitude Opcjonalny Szerokość geograficzna Szerokość geograficzna współrzędnej skojarzonej z docelowym adresem IP. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: 44.475833
DstGeoLongitude Opcjonalny Długość geograficzna Długość geograficzna współrzędnej skojarzonej z docelowym adresem IP. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: 73.211944
DstRiskLevel Opcjonalny Liczba całkowita Poziom ryzyka skojarzony z miejscem docelowym. Wartość powinna zostać dostosowana do zakresu od 0 do 100, co oznacza, że wartość 0 jest niegroźna, a 100 — wysokie ryzyko.

Przykład: 90
DstOriginalRiskLevel Opcjonalny Ciąg Poziom ryzyka skojarzony z miejscem docelowym, zgłoszony przez urządzenie raportowania.

Przykład: Malicious
DstPortNumber Opcjonalny Liczba całkowita Numer portu docelowego.

Przykład: 53
DstHostname Opcjonalny Nazwa hosta (ciąg) Nazwa hosta urządzenia docelowego z wyłączeniem informacji o domenie. Jeśli nazwa urządzenia nie jest dostępna, zapisz odpowiedni adres IP w tym polu.

Przykład: DESKTOP-1282V4D

Uwaga: Ta wartość jest obowiązkowa, jeśli określono parametr DstIpAddr .
DstDomain Opcjonalny Domena (ciąg) Domena urządzenia docelowego.

Przykład: Contoso
DstDomainType Warunkowe Wyliczane Typ domeny DstDomain, jeśli jest znany. Możliwe wartości obejmują:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Wymagane, jeśli jest używana domena DstDomain .
Nazwa DstFQDN Opcjonalny FQDN (ciąg) Nazwa hosta urządzenia docelowego, w tym informacje o domenie, jeśli są dostępne.

Przykład: Contoso\DESKTOP-1282V4D

Uwaga: to pole obsługuje zarówno tradycyjny format FQDN, jak i format domena\nazwa hosta systemu Windows. DstDomainType odzwierciedla używany format.
DstDvcId Opcjonalny Ciąg Identyfikator urządzenia docelowego zgłoszony w rekordzie.

Przykład: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Opcjonalny Ciąg Identyfikator zakresu platformy w chmurze, do którego należy urządzenie. DstDvcScopeId mapuje identyfikator subskrypcji na Azure i na identyfikator konta na platformie AWS.
DstDvcScope Opcjonalny Ciąg Zakres platformy w chmurze, do którego należy urządzenie. DstDvcScope mapuje identyfikator subskrypcji na Azure i na identyfikator konta na platformie AWS.
DstDvcIdType Warunkowe Wyliczane Typ DstDvcId, jeśli jest znany. Możliwe wartości obejmują:
- AzureResourceId
- MDEidIf

Jeśli dostępnych jest wiele identyfikatorów, użyj pierwszego z powyższej listy i zapisz pozostałe w polach DstDvcAzureResourceId lub DstDvcMDEid .

Wymagane, jeśli jest używany identyfikator DstDeviceId .
DstDeviceType Opcjonalny Wyliczane Typ urządzenia docelowego. Możliwe wartości obejmują:
- Computer
- Mobile Device
- IOT Device
- Other
Opis DstDescription Opcjonalny Ciąg Opisowy tekst skojarzony z urządzeniem. Przykład: Primary Domain Controller.

Pola specyficzne dla systemu DNS

Pole Klasa Wpisać Opis
DnsQuery Obowiązkowe Ciąg Domena, którą żądanie próbuje rozwiązać.

Uwagi:
— Niektóre źródła wysyłają prawidłowe zapytania FQDN w innym formacie. Na przykład w samym protokole DNS zapytanie zawiera kropkę (.) na końcu, która musi zostać usunięta.
— Mimo że protokół DNS ogranicza typ wartości w tym polu do nazwy FQDN, większość serwerów DNS zezwala na dowolną wartość i w związku z tym to pole nie jest ograniczone tylko do wartości FQDN. Przede wszystkim ataki tunelowania DNS mogą używać nieprawidłowych wartości nazw FQDN w polu zapytania.
— Chociaż protokół DNS zezwala na wiele zapytań w jednym żądaniu, ten scenariusz jest rzadki, jeśli w ogóle zostanie znaleziony. Jeśli żądanie ma wiele zapytań, zapisz pierwsze w tym polu, a następnie opcjonalnie pozostaw resztę w polu AdditionalFields .

Przykład: www.malicious.com
Domeny Alias Alias do dnsquery.
DnsQueryType Opcjonalny Liczba całkowita Kody typu rekordu zasobu DNS.

Przykład: 28
DnsQueryTypeName Zalecane Wyliczane Nazwy typów rekordów zasobów DNS .

Uwagi:
— Funkcja IANA nie definiuje przypadku wartości, dlatego analiza musi znormalizować przypadek zgodnie z potrzebami.
— Wartość ANY jest obsługiwana dla kodu odpowiedzi 255.
— Wartość TYPExxxx jest obsługiwana w przypadku kodów odpowiedzi niezamapowanych, gdzie xxxx jest wartością liczbową kodu odpowiedzi zgłoszoną przez serwer DNS BIND.
-Jeśli źródło zawiera tylko kod typu zapytania liczbowego, a nie nazwę typu zapytania, analizator musi zawierać tabelę odnośników, aby wzbogacić ją o tę wartość.

Przykład: AAAA
DnsResponseName Opcjonalny Ciąg Zawartość odpowiedzi uwzględniona w rekordzie.

Dane odpowiedzi DNS są niespójne na różnych urządzeniach raportowania, są złożone do przeanalizowania i mają mniejszą wartość analizy niezależnych od źródła. W związku z tym model informacji nie wymaga analizowania i normalizacji, a Microsoft Sentinel używa funkcji pomocniczej do dostarczania informacji o odpowiedzi. Aby uzyskać więcej informacji, zobacz Obsługa odpowiedzi DNS.
DnsResponseCodeName Alias Alias do eventResultDetails
DnsResponseCode Opcjonalny Liczba całkowita Kod odpowiedzi liczbowej DNS.

Przykład: 3
TransactionIdHex Zalecane Szesnastkowa (ciąg) Unikatowy identyfikator zapytania DNS przypisany przez klienta DNS w formacie szesnastkowym. Należy pamiętać, że ta wartość jest częścią protokołu DNS i różni się od DnsSessionId, identyfikatora sesji warstwy sieciowej, zwykle przypisanego przez urządzenie raportowania.
Networkprotocol Opcjonalny Wyliczane Protokół transportu używany przez zdarzenie rozpoznawania sieci. Wartość może mieć wartość UDP lub TCP i jest najczęściej ustawiana na wartość UDP dla systemu DNS.

Przykład: UDP
NetworkProtocolVersion Opcjonalny Wyliczane Wersja narzędzia NetworkProtocol. W przypadku używania go do rozróżniania wersji adresu IP użyj wartości IPv4 i IPv6.
DnsQueryClass Opcjonalny Liczba całkowita Identyfikator klasy DNS.

W praktyce używana jest tylko klasa IN (identyfikator 1), dlatego to pole jest mniej cenne.
DnsQueryClassName Zalecane DnsQueryClassName (ciąg) Nazwa klasy DNS.

W praktyce używana jest tylko klasa IN (identyfikator 1), dlatego to pole jest mniej cenne.

Przykład: IN
DnsFlags Opcjonalny Ciąg Pole flagi dostarczone przez urządzenie raportowania. Jeśli informacje o flagach są udostępniane w wielu polach, połącz je ze przecinkiem jako separatorem.

Ponieważ flagi DNS są złożone do analizowania i są rzadziej używane przez analizę, analizowanie i normalizacja nie są wymagane. Microsoft Sentinel może używać funkcji pomocniczej do dostarczania informacji o flagach. Aby uzyskać więcej informacji, zobacz Obsługa odpowiedzi DNS.

Przykład: ["DR"]
DnsNetworkDuration Opcjonalny Liczba całkowita Ilość czasu w milisekundach na ukończenie żądania DNS.

Przykład: 1500
Długość Alias Alias do DnsNetworkDuration
DnsFlagsAuthenticated Opcjonalny Wartość logiczna Flaga DNS AD , która jest powiązana z serwerem DNSSEC, wskazuje w odpowiedzi, że wszystkie dane zawarte w sekcjach odpowiedzi i urzędu odpowiedzi zostały zweryfikowane przez serwer zgodnie z zasadami tego serwera. Aby uzyskać więcej informacji, zobacz RFC 3655 Sekcja 6.1 , aby uzyskać więcej informacji.
DnsFlagsAuthoritative Opcjonalny Wartość logiczna Flaga DNS AA wskazuje, czy odpowiedź z serwera była autorytatywna
DnsFlagsCheckingDisabled Opcjonalny Wartość logiczna Flaga DNS CD , która jest powiązana z serwerem DNSSEC, wskazuje w zapytaniu, że nie zweryfikowane dane są akceptowalne dla systemu wysyłającego zapytanie. Aby uzyskać więcej informacji, zobacz RFC 3655 Sekcja 6.1 , aby uzyskać więcej informacji.
DnsFlagsRecursionAvailable Opcjonalny Wartość logiczna Flaga DNS RA wskazuje w odpowiedzi, że serwer obsługuje zapytania cykliczne.
DnsFlagsRecursionDesired Opcjonalny Wartość logiczna Flaga DNS RD wskazuje w żądaniu, że klient chce, aby serwer używał zapytań cyklicznych.
DnsFlagsTruncated Opcjonalny Wartość logiczna Flaga DNS TC wskazuje, że odpowiedź została obcięta, ponieważ przekroczyła maksymalny rozmiar odpowiedzi.
DnsFlagsZ Opcjonalny Wartość logiczna Flaga DNS Z jest przestarzałą flagą DNS, która może być zgłaszana przez starsze systemy DNS.
DnsSessionId Opcjonalny ciąg Identyfikator sesji DNS zgłoszony przez urządzenie raportowania. Ta wartość różni się od TransactionIdHex, unikatowego identyfikatora zapytania DNS przypisanego przez klienta DNS.

Przykład: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
Sessionid Alias Alias do dnsSessionId
DnsResponseIpCountry Opcjonalny Kraj Kraj/region skojarzony z jednym z adresów IP w odpowiedzi DNS. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: USA
DnsResponseIpRegion Opcjonalny Region Region lub stan skojarzony z jednym z adresów IP w odpowiedzi DNS. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: Vermont
DnsResponseIpCity Opcjonalny Miasto Miasto skojarzone z jednym z adresów IP w odpowiedzi DNS. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: Burlington
DnsResponseIpLatitude Opcjonalny Szerokość geograficzna Szerokość geograficzna współrzędnej skojarzonej z jednym z adresów IP w odpowiedzi DNS. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: 44.475833
DnsResponseIpLongitude Opcjonalny Długość geograficzna Długość geograficzna współrzędnej skojarzonej z jednym z adresów IP w odpowiedzi DNS. Aby uzyskać więcej informacji, zobacz Typy logiczne.

Przykład: 73.211944

Pola inspekcji

Poniższe pola są używane do reprezentowania inspekcji, która została wykonana przez urządzenie zabezpieczeń DNS. Pola związane z zagrożeniem reprezentują pojedyncze zagrożenie skojarzone z adresem źródłowym, adresem docelowym, jednym z adresów IP w odpowiedzi lub domeną zapytań DNS. Jeśli więcej niż jedno zagrożenie zostało zidentyfikowane jako zagrożenie, informacje o innych adresach IP mogą być przechowywane w polu AdditionalFields.

Pole Klasa Wpisać Opis
UrlCategory Opcjonalny Ciąg Źródło zdarzeń DNS może również wyszukać kategorię żądanych domen. Pole nosi nazwę UrlCategory w celu wyrównania ze schematem sieci Microsoft Sentinel.

Element DomainCategory jest dodawany jako alias dopasowany do systemu DNS.

Przykład: Educational \\ Phishing
DomainCategory Alias Alias do urlcategory.
Rulename Opcjonalny Ciąg Nazwa lub identyfikator reguły, która zidentyfikowała zagrożenie.

Przykład: AnyAnyDrop
Numer reguły Opcjonalny Liczba całkowita Numer reguły, która zidentyfikowała zagrożenie.

Przykład: 23
Reguły Alias Ciąg Wartość ruleName lub wartość RuleNumber. Jeśli jest używana wartość RuleNumber , typ powinien zostać przekonwertowany na ciąg.
Numer reguły Opcjonalny Int Liczba reguł skojarzonych z alertem.

Przykład. 123456
Rulename Opcjonalny ciąg Nazwa lub identyfikator reguły skojarzonej z alertem.

Przykład. Server PSEXEC Execution via Remote Access
ThreatId Opcjonalny Ciąg Identyfikator zagrożenia lub złośliwego oprogramowania zidentyfikowanego w sesji sieciowej.

Przykład: Tr.124
ThreatCategory Opcjonalny Ciąg Jeśli źródło zdarzeń DNS zapewnia również zabezpieczenia DNS, może również ocenić zdarzenie DNS. Może na przykład wyszukać adres IP lub domenę w bazie danych analizy zagrożeń i przypisać domenę lub adres IP z kategorią zagrożeń.
ThreatIpAddr Opcjonalny Adres IP Adres IP, dla którego zidentyfikowano zagrożenie. Pole ThreatField zawiera nazwę pola ThreatIpAddr reprezentuje. Jeśli w polu Domena zostanie zidentyfikowane zagrożenie, to pole powinno być puste.
Pole zagrożenia Warunkowe Wyliczane Pole, dla którego zidentyfikowano zagrożenie. Wartość to SrcIpAddr, DstIpAddr, Domainlub DnsResponseName.
ThreatName Opcjonalny Ciąg Nazwa zidentyfikowanego zagrożenia, zgłoszona przez urządzenie raportowania.
ThreatConfidence Opcjonalny ConfidenceLevel (liczba całkowita) Poziom ufności zidentyfikowanego zagrożenia znormalizowany do wartości od 0 do 100.
ThreatOriginalConfidence Opcjonalny Ciąg Oryginalny poziom ufności zidentyfikowanego zagrożenia, zgłoszony przez urządzenie raportowania.
ThreatRiskLevel Opcjonalny RiskLevel (liczba całkowita) Poziom ryzyka skojarzony z zidentyfikowanym zagrożeniem znormalizowany do wartości od 0 do 100.
ThreatOriginalRiskLevel Opcjonalny Ciąg Oryginalny poziom ryzyka skojarzony z zidentyfikowanym zagrożeniem, zgłoszony przez urządzenie raportowania.
ThreatIsActive Opcjonalny Wartość logiczna Prawda, jeśli zidentyfikowane zagrożenie jest uważane za aktywne zagrożenie.
ThreatFirstReportedTime Opcjonalny Datetime Przy pierwszym zidentyfikowaniu adresu IP lub domeny jako zagrożenia.
ThreatLastReportedTime Opcjonalny Datetime Ostatni raz adres IP lub domena zostały zidentyfikowane jako zagrożenie.

Przestarzałe aliasy i pola

Poniższe pola to aliasy, które są obsługiwane w celu zapewnienia zgodności z poprzednimi wersjami. Zostały one usunięte ze schematu 31 grudnia 2021 r.

  • Query (alias do DnsQuery)
  • QueryType (alias do DnsQueryType)
  • QueryTypeName (alias do DnsQueryTypeName)
  • ResponseName (alias do DnsResponseName)
  • ResponseCodeName (alias do DnsResponseCodeName)
  • ResponseCode (alias do DnsResponseCode)
  • QueryClass (alias do DnsQueryClass)
  • QueryClassName (alias do DnsQueryClassName)
  • Flags (alias do DnsFlags)
  • SrcUserDomain

Aktualizacje schematu

Zmiany w wersji 0.1.2 schematu to:

  • Dodano pole EventSchema.
  • Dodano dedykowane pole flagi, które rozszerza połączone pole Flagi : DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionAvailable, , DnsFlagsRecursionDesired, DnsFlagsTruncatedi DnsFlagsZ.

Zmiany w wersji 0.1.3 schematu to:

  • Schemat jawnie dokumentuje Src*teraz pola , Dst*Process* iUser*.
  • Dodano więcej Dvc* pól zgodnych z najnowszą definicją typowych pól.
  • Dodano Src aliasy i Dst jako do wiodącego identyfikatora systemów źródłowych i docelowych.
  • Dodano do niego opcjonalne DnsNetworkDuration i Durationaliasy.
  • Dodano opcjonalne pola Lokalizacja geograficzna i Poziom ryzyka.

Zmiany w wersji 0.1.4 schematu to:

  • Dodano opcjonalne pola ThreatIpAddr, ThreatField, ThreatName, ThreatConfidence, ThreatOriginalConfidence, ThreatOriginalRiskLevel, , ThreatIsActive, ThreatFirstReportedTimei ThreatLastReportedTime.

Zmiany w wersji 0.1.5 schematu to:

  • Dodano pola SrcUserScope, SrcUserSessionId, SrcDvcScopeId, SrcDvcScope, DstDvcScopeId, , DstDvcScope, DvcScopeId, i DvcScope.

Zmiany w wersji 0.1.6 schematu to:

  • Dodano pola DnsResponseIpCountry, DnsResponseIpRegion, DnsResponseIpCity, DnsResponseIpLatitude, i DnsResponseIpLongitude.

Zmiany w wersji 0.1.7 schematu to:

  • Dodano pola SrcDescription, SrcOriginalRiskLevel, DstDescription, DstOriginalRiskLevel, SrcUserScopeId, , NetworkProtocolVersion, Rule, RuleName, , RuleNumberi ThreatId.

Rozbieżności specyficzne dla źródła

Celem normalizacji jest zapewnienie, że wszystkie źródła zapewniają spójne dane telemetryczne. Nie można znormalizować źródła, które nie zapewnia wymaganych danych telemetrycznych, takich jak obowiązkowe pola schematu. Jednak źródła, które zwykle zapewniają wszystkie wymagane dane telemetryczne, nawet jeśli występują pewne rozbieżności, mogą zostać znormalizowane. Rozbieżności mogą mieć wpływ na kompletność wyników zapytania.

W poniższej tabeli wymieniono znane rozbieżności:

Źródło Rozbieżności
Serwer DNS firmy Microsoft zebrany przy użyciu łącznika DNS i agenta usługi Log Analytics Łącznik nie udostępnia obowiązkowego pola DnsQuery dla oryginalnego zdarzenia o identyfikatorze 264 (odpowiedź na aktualizację dynamiczną). Dane są dostępne w źródle, ale nie są przekazywane przez łącznik.
Corelight Zeek Corelight Zeek może nie podać obowiązkowego pola DnsQuery. Zaobserwowaliśmy takie zachowanie w niektórych przypadkach, w których nazwa kodu odpowiedzi DNS to NXDOMAIN.

Obsługa odpowiedzi DNS

W większości przypadków zarejestrowane zdarzenia DNS nie zawierają informacji o odpowiedzi, które mogą być duże i szczegółowe. Jeśli rekord zawiera więcej informacji o odpowiedzi, zapisz go w polu ResponseName w postaci wyświetlanej w rekordzie.

Możesz również podać dodatkową funkcję KQL o nazwie _imDNS<vendor>Response_, która przyjmuje nieparzystą odpowiedź jako dane wejściowe i zwraca wartość dynamiczną o następującej strukturze:

[
    {
        "part": "answer"
        "query": "yahoo.com."
        "TTL": 1782
        "Class": "IN"
        "Type": "A"
        "Response": "74.6.231.21"
    }
    {
        "part": "authority"
        "query": "yahoo.com."
        "TTL": 113066
        "Class": "IN"
        "Type": "NS"
        "Response": "ns5.yahoo.com"
    }
    ...
]

Pola w każdym słowniku w wartości dynamicznej odpowiadają polam w każdej odpowiedzi DNS. Wpis part powinien zawierać answerelement , authoritylub additional , aby odzwierciedlić część odpowiedzi, do której należy słownik.

Porada

Aby zapewnić optymalną wydajność, wywołaj funkcję imDNS<vendor>Response tylko w razie potrzeby i dopiero po początkowym filtrowaniu, aby zapewnić lepszą wydajność.

Obsługa flag DNS

Analizowanie i normalizacja nie są wymagane w przypadku danych flagi. Zamiast tego zapisz dane flagi dostarczone przez urządzenie raportowania w polu Flagi . Jeśli określanie wartości poszczególnych flag jest proste, można również użyć dedykowanych pól flag.

Można również podać dodatkową funkcję KQL o nazwie _imDNS<vendor>Flags_, która przyjmuje nieparzysty odpowiedzi lub dedykowane pola flagi jako dane wejściowe i zwraca listę dynamiczną z wartościami logicznymi reprezentującymi każdą flagę w następującej kolejności:

  • Uwierzytelnione (AD)
  • Autorytatywne (AA)
  • Sprawdzanie wyłączone (CD)
  • Dostępna rekursja (RA)
  • Rekursja Desired (RD)
  • Obcięte (TC)
  • Z

Następne kroki

Więcej informacji można znaleźć w następujących artykułach: