Udostępnij za pośrednictwem


Dokumentacja schematu normalizacji DNS w modelu zaawansowanego zabezpieczeń zabezpieczeń (ASIM) (publiczna wersja zapoznawcza)

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

Aby uzyskać więcej informacji, zobacz Normalizacja i Model zaawansowanych informacji o zabezpieczeniach (ASIM) .

Ważne

Schemat normalizacji DNS jest obecnie w wersji zapoznawczej. Ta funkcja jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych.

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.

Przegląd schematu

Schemat DNS ASIM reprezentuje działanie protokołu DNS. Zarówno serwery DNS, jak i urządzenia wysyłające żądania DNS do aktywności 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, które są przywołyane w tym artykule, jeśli jest to konieczne. 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 wystawione zapytanie.

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

  • EventResultDetails, który zgłasza, 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 jego format różni się między źródłami.

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

Zdarzenia DNS zebrane na urządzeniu klienckim mogą również zawierać informacje o użytkowniku i procesie .

Wskazówki dotyczące zbierania zdarzeń DNS

DNS jest unikatowym protokołem, który może przekraczać dużą liczbę komputerów. Ponadto, ponieważ usługa DNS używa protokołu UDP, żądania i odpowiedzi są de-sprzężone i nie są bezpośrednio powiązane ze sobą.

Na poniższej ilustracji przedstawiono uproszczony przepływ żądań DNS, w tym cztery segmenty. Rzeczywiste żądanie może być bardziej złożone, przy użyciu większej liczby 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 cenną segmentem do zarejestrowania jest odpowiedź na klienta. Odpowiedź zawiera zapytania o nazwę domeny, wynik wyszukiwania i adres IP klienta. Chociaż wiele systemów DNS rejestruje tylko ten segment, istnieje wartość rejestrowania innych części. Na przykład atak zatrucia pamięcią podręczną DNS często wykorzystuje fałszywe odpowiedzi z nadrzędnego serwera.

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 usłudze Microsoft Sentinel.

Możesz na przykład 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 gotowe do użycia

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

Aby uzyskać listę analizatorów DNS, usługa Microsoft Sentinel udostępnia gotowe do użycia, zapoznaj się z listą analizatorów ASIM.

Dodawanie własnych znormalizowanych analizatorów

Podczas implementowania niestandardowych analizatorów dla modelu informacji DNS nazwij funkcje KQL przy użyciu formatu vimDns<vendor><Product>. Zapoznaj się z artykułem Zarządzanie analizatorami ASIM, aby dowiedzieć się, jak dodać analizatory niestandardowe do analizatora ujednolicania DNS.

Parametry analizatora filtrowania

Analizatory DNS obsługują parametry filtrowania. Chociaż te parametry są opcjonalne, mogą zwiększyć wydajność zapytań.

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

Nazwisko Pisz Opis
godzina rozpoczęcia datetime Filtruj tylko zapytania DNS uruchamiane w czasie lub po tym czasie.
godzina zakończenia datetime Filtruj tylko zapytania DNS, które zakończyły działanie w lub przed tym razem.
srcipaddr string Filtruj tylko zapytania DNS z tego źródłowego adresu IP.
domain_has_any dynamic/string Filtruj tylko zapytania DNS, w których domain element (lub query) ma dowolną z wymienionych nazw domen, w tym jako część domeny zdarzeń. Długość listy jest ograniczona do 10 000 elementów.
nazwa kodu odpowiedzi string Filtruj tylko zapytania DNS, dla których nazwa kodu odpowiedzi jest zgodna z podaną wartością.
Na przykład: NXDOMAIN.
response_has_ipv4 string Filtruj tylko zapytania DNS, w których pole odpowiedzi zawiera podany adres IP lub prefiks adresu IP. Użyj tego parametru, jeśli chcesz filtrować według pojedynczego adresu IP lub prefiksu.

Wyniki nie są zwracane dla źródeł, które nie zapewniają odpowiedzi.
response_has_any_prefix dynamiczna 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ę elementem ., na przykład : 10.0..

Użyj tego parametru, jeśli chcesz filtrować na liście 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.
typ zdarzenia string Filtruj tylko zapytania DNS określonego typu. Jeśli żadna wartość nie zostanie określona, zwracane są tylko zapytania odnośników.

Aby na przykład filtrować tylko zapytania DNS z ostatniego dnia, którego nie udało się rozpoznać 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 pojedynczego ciągu. Aby przekazać listę literałów do parametrów, które oczekują wartości dynamicznej, jawnie użyj literału dynamicznego. Na przykład: dynamic(['192.168.','10.']).

Znormalizowana zawartość

Aby uzyskać pełną listę reguł analizy korzystających z 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 dokumentacja parametrów DNS urzędu IANA (Internet Assigned Numbers Authority).

Typowe pola karty ASIM

Ważne

Pola wspólne dla wszystkich schematów zostały szczegółowo opisane w artykule ASIM Common Fields (Wspólne pola karty 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ązkowy Enumerated Wskazuje operację zgłoszoną przez rekord.

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

Przykład: Query
EventSubType Opcjonalnie Enumerated request lub response.

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

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

Przykład: NXDOMAIN
EventSchemaVersion Obowiązkowy String Wersja schematu udokumentowanego tutaj to 0.1.7.
EventSchema Obowiązkowy String Nazwa schematu udokumentowanego tutaj to Dns.
Pola dvc - - W przypadku zdarzeń DNS pola urządzeń odwołują 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ć ogólnie opcjonalne, ale obowiązkowe dla określonego schematu. Aby uzyskać więcej informacji na temat każdego pola, zobacz artykuł Common Fields ( Wspólne pola karty ASIM).

Klasa Pola
Obowiązkowy - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Zalecane - EventResultDetails
- EventSeverity
- Identyfikator zdarzenia
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcjonalnie - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- Właściciel zdarzenia
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Dodatkowe pola
- DvcDescription
- DvcScopeId
- DvcScope

Pola systemu źródłowego

Pole Klasa Type Opis
Src Alias String 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ść zazwyczaj będzie urządzeniem raportowania, a w większości przypadków ustawiona na 127.0.0.1wartość .

Przykład: 192.168.12.1
SrcPortNumber Opcjonalnie Integer Port źródłowy zapytania DNS.

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

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

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

Przykład: Burlington
SrcGeoLatitude Opcjonalnie Szerokość Szerokość geograficzna współrzędnych geograficznych skojarzonych z źródłowym adresem IP.

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

Przykład: 73.211944
SrcRiskLevel Opcjonalnie Integer Poziom ryzyka skojarzony ze źródłem. Wartość powinna być dostosowana do zakresu 0 wartości z 100wartością , z wartością 0 dla łagodnego i 100 wysokiego ryzyka.

Przykład: 90
SrcOriginalRiskLevel Opcjonalnie Integer Poziom ryzyka skojarzony ze źródłem, zgodnie z raportem urządzenia raportowania.

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

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

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

Wymagane, jeśli jest używany SrcDomain .
SrcFQDN Opcjonalnie String Nazwa hosta urządzenia źródłowego, w tym informacje o domenie, gdy 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
SrcDvcId Opcjonalnie String Identyfikator urządzenia źródłowego zgłoszony w rekordzie.

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

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

Uwaga: to pole jest wymagane, jeśli jest używany identyfikator SrcDvcId .
SrcDeviceType Opcjonalnie Enumerated Typ urządzenia źródłowego. Możliwe wartości to:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Opcjonalnie String Tekst opisowy skojarzony z urządzeniem. Na przykład: Primary Domain Controller.

Pola użytkownika źródłowego

Pole Klasa Type Opis
SrcUserId Opcjonalnie String 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 Opcjonalnie String Zakres, taki jak dzierżawa firmy Microsoft Entra, w którym zdefiniowano identyfikator SrcUserId i SrcUsername . lub więcej informacji i listy dozwolonych wartości, zobacz UserScope w artykule Omówienie schematu.
SrcUserScopeId Opcjonalnie String Identyfikator zakresu, taki jak Microsoft Entra Directory ID, w którym zdefiniowano identyfikator 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 Przegląd schematu.
SrcUsername Opcjonalnie Username Źródłowa nazwa użytkownika, w tym informacje o domenie, gdy 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żytkownik Alias Alias do SrcUsername
SrcUserType Opcjonalnie UserType Typ użytkownika źródłowego. Aby uzyskać więcej informacji i listę dozwolonych wartości, zobacz UserType w artykule Omówienie schematu.

Na przykład: Guest.
SrcUserSessionId Opcjonalnie String Unikatowy identyfikator sesji logowania aktora.

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

Pola procesu źródłowego

Pole Klasa Type Opis
SrcProcessName Opcjonalnie String 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 SrcProcessName

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

Przykład: 48610176

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

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

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

Pola systemu docelowego

Pole Klasa Type Opis
Czasu letniego Alias String Unikatowy identyfikator serwera, który otrzymał żądanie DNS.

To pole może aliasuć pola DstDvcId, DstHostname lub DstIpAddr .

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

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

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

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

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

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

Przykład: 73.211944
DstRiskLevel Opcjonalnie Integer Poziom ryzyka skojarzony z miejscem docelowym. Wartość powinna być dostosowana do zakresu od 0 do 100, co 0 jest łagodne i 100 jest wysokim ryzykiem.

Przykład: 90
DstOriginalRiskLevel Opcjonalnie Integer Poziom ryzyka skojarzony z miejscem docelowym, zgodnie z raportem urządzenia raportowania.

Przykład: Malicious
DstPortNumber Opcjonalnie Integer Numer portu docelowego.

Przykład: 53
Nazwa hosta Dst Opcjonalnie String Nazwa hosta urządzenia docelowego z wyłączeniem informacji o domenie. Jeśli żadna 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 wartość DstIpAddr .
DstDomain Opcjonalnie String Domena urządzenia docelowego.

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

Wymagane, jeśli jest używana domena DstDomain .
Nazwa DstFQDN Opcjonalnie String Nazwa hosta urządzenia docelowego, w tym informacje o domenie, gdy 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. Typ DstDomainType odzwierciedla używany format.
DstDvcId Opcjonalnie String Identyfikator urządzenia docelowego zgłoszonego w rekordzie.

Przykład: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Opcjonalnie String Identyfikator zakresu platformy w chmurze, do którego należy urządzenie. DstDvcScopeId mapuje identyfikator subskrypcji na platformę Azure i identyfikator konta na platformie AWS.
DstDvcScope Opcjonalnie String Zakres platformy w chmurze, do którego należy urządzenie. DstDvcScope mapuje identyfikator subskrypcji na platformę Azure i identyfikator konta na platformie AWS.
DstDvcIdType Warunkowe Enumerated Typ DstDvcId, jeśli jest znany. Możliwe wartości to:
- 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 Opcjonalnie Enumerated Typ urządzenia docelowego. Możliwe wartości to:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescription Opcjonalnie String Tekst opisowy skojarzony z urządzeniem. Na przykład: Primary Domain Controller.

Pola specyficzne dla systemu DNS

Pole Klasa Type Opis
DnsQuery Obowiązkowy String Domena, którą żądanie próbuje rozpoznać.

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.
- Chociaż protokół DNS ogranicza typ wartości w tym polu do nazwy FQDN, większość serwerów DNS zezwala na dowolną wartość, a zatem to pole nie ogranicza się tylko do wartości FQDN. W szczególności ataki tunelowania DNS mogą używać nieprawidłowych wartości nazw FQDN w polu zapytania.
- Chociaż protokół DNS umożliwia wykonywanie wielu zapytań w jednym żądaniu, ten scenariusz jest rzadki, jeśli w ogóle zostanie znaleziony. Jeśli żądanie zawiera wiele zapytań, zapisz pierwszy w tym polu, a następnie opcjonalnie zachowaj resztę w polu AdditionalFields .

Przykład: www.malicious.com
Domena Alias Alias do zapytania DnsQuery.
DnsQueryType Opcjonalnie Integer Kody typów rekordów zasobów DNS.

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

Uwagi:
— Funkcja IANA nie definiuje wielkości liter dla 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łoszonej 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ć tę wartość.

Przykład: AAAA
DnsResponseName Opcjonalnie String Zawartość odpowiedzi, jak zawarto w rekordzie.

Dane odpowiedzi DNS są niespójne na urządzeniach raportowania, są złożone do analizowania i mają mniejszą wartość dla analizy niezależnej od źródła. W związku z tym model informacyjny nie wymaga analizowania i normalizacji, a usługa 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 Opcjonalnie Integer Kod odpowiedzi liczbowej DNS.

Przykład: 3
TransactionIdHex Zalecane String 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, identyfikator sesji warstwy sieciowej, zwykle przypisywany przez urządzenie raportowania.
NetworkProtocol Opcjonalnie Enumerated Protokół transportowy używany przez zdarzenie rozpoznawania sieci. Wartość może być UDP lub TCP i jest najczęściej ustawiona na UDP dla systemu DNS.

Przykład: UDP
NetworkProtocolVersion Opcjonalnie Enumerated Wersja networkProtocol. W przypadku używania go do rozróżniania wersji adresu IP użyj wartości IPv4 i IPv6.
DnsQueryClass Opcjonalnie Integer Identyfikator klasy DNS.

W praktyce jest używana tylko klasa IN (IDENTYFIKATOR 1), dlatego to pole jest mniej cenne.
DnsQueryClassName Opcjonalnie String Nazwa klasy DNS.

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

Przykład: IN
DnsFlags Opcjonalnie String Pole flagi podane przez urządzenie raportowania. Jeśli informacje o flagach są podane w wielu polach, połącz je przecinkami jako separator.

Ponieważ flagi DNS są złożone do analizowania i są rzadziej używane przez analizę, analizowanie i normalizacja nie są wymagane. Usługa 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 Opcjonalnie Integer Czas ukończenia żądania DNS w milisekundach.

Przykład: 1500
Czas trwania Alias Alias do dnsNetworkDuration
DnsFlagsAuthenticated Opcjonalnie Wartość logiczna Flaga DNS AD , która jest powiązana z protokołem 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 Opcjonalnie Wartość logiczna Flaga DNS AA wskazuje, czy odpowiedź z serwera była autorytatywna
DnsFlagsCheckingDisabled Opcjonalnie Wartość logiczna Flaga DNS CD , która jest powiązana z protokołem DNSSEC, wskazuje w zapytaniu, że nieweryfikowane 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 Opcjonalnie Wartość logiczna Flaga DNS RA wskazuje w odpowiedzi, że serwer obsługuje zapytania cykliczne.
DnsFlagsRecursionDesired Opcjonalnie Wartość logiczna Flaga DNS RD wskazuje w żądaniu, że klient chce, aby serwer używał zapytań cyklicznych.
DnsFlagsTruncated Opcjonalnie Wartość logiczna Flaga DNS TC wskazuje, że odpowiedź została obcięta, ponieważ przekroczyła maksymalny rozmiar odpowiedzi.
DnsFlagsZ Opcjonalnie Wartość logiczna Flaga DNS jest przestarzałą flagą DNS Z , która może być zgłaszana przez starsze systemy DNS.
DnsSessionId Opcjonalnie string Identyfikator sesji DNS zgłoszony przez urządzenie raportowania. Ta wartość różni się od TransactionIdHex, czyli unikatowego identyfikatora zapytania DNS przypisanego przez klienta DNS.

Przykład: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
Identyfikator sesji Alias Alias do dnsSessionId
DnsResponseIpCountry Opcjonalnie 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 Opcjonalnie Region (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 Opcjonalnie City Miasto skojarzone z jednym z adresów IP w odpowiedzi DNS. Aby uzyskać więcej informacji, zobacz Typy logiczne.

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

Przykład: 44.475833
DnsResponseIpLongitude Opcjonalnie Długość Długość geograficzna współrzędnej geograficznej 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órą wykonano na urządzeniu zabezpieczeń DNS. Pola związane z zagrożeniami reprezentują pojedyncze zagrożenie skojarzone z adresem źródłowym, adresem docelowym, jednym z adresów IP w odpowiedzi lub domenie zapytania DNS. Jeśli jako zagrożenie zidentyfikowano więcej niż jedno zagrożenie, informacje o innych adresach IP mogą być przechowywane w polu AdditionalFields.

Pole Klasa Type Opis
UrlCategory Opcjonalnie String Źródło zdarzeń DNS może również wyszukać kategorię żądanych domen. Pole nosi nazwę UrlCategory , aby dopasować je do schematu sieciowego usługi Microsoft Sentinel.

DomenaCategory jest dodawana jako alias pasujący do systemu DNS.

Przykład: Educational \\ Phishing
DomainCategory Alias Alias adresu URLCategory.
NetworkRuleName Opcjonalnie String Nazwa lub identyfikator reguły, która zidentyfikowała zagrożenie.

Przykład: AnyAnyDrop
NetworkRuleNumber Opcjonalnie Integer Liczba reguł, która zidentyfikowała zagrożenie.

Przykład: 23
Reguła Alias String Wartość NetworkRuleName lub wartość NetworkRuleNumber. Jeśli jest używana wartość NetworkRuleNumber , typ powinien zostać przekonwertowany na ciąg.
ThreatId Opcjonalnie String Identyfikator zagrożenia lub złośliwego oprogramowania zidentyfikowanego w sesji sieciowej.

Przykład: Tr.124
ThreatCategory Opcjonalnie String 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 Opcjonalnie 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.
ThreatField Warunkowe Enumerated Pole, dla którego zidentyfikowano zagrożenie. Wartość to SrcIpAddr, , DstIpAddrDomainlub DnsResponseName.
ThreatName Opcjonalnie String Nazwa zidentyfikowanego zagrożenia zgłoszonego przez urządzenie raportowania.
ThreatConfidence Opcjonalnie Integer Zidentyfikowany poziom ufności zagrożenia znormalizowany do wartości z zakresu od 0 do 100.
ThreatOriginalConfidence Opcjonalnie String Oryginalny poziom ufności zidentyfikowanego zagrożenia, zgodnie z raportem urządzenia raportowania.
ThreatRiskLevel Opcjonalnie Integer Poziom ryzyka skojarzony ze zidentyfikowanym zagrożeniem znormalizowany do wartości z zakresu od 0 do 100.
ThreatOriginalRiskLevel Opcjonalnie String Oryginalny poziom ryzyka skojarzony z zidentyfikowanym zagrożeniem, zgodnie z raportem urządzenia raportowania.
ThreatIsActive Opcjonalnie Wartość logiczna Prawda, jeśli zidentyfikowane zagrożenie jest uznawane za aktywne zagrożenie.
ThreatFirstReportedTime Opcjonalnie datetime Po raz pierwszy adres IP lub domena zostały zidentyfikowane jako zagrożenie.
ThreatLastReportedTime Opcjonalnie 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 DnsReasponseName)
  • 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, , DnsFlagsCheckingDisabledDnsFlagsRecursionAvailable, DnsFlagsRecursionDesired, DnsFlagsTruncated, i DnsFlagsZ.

Zmiany w wersji 0.1.3 schematu to:

  • Schemat teraz jawnie dokumentuje Src*pola , Dst*Process* i User* .
  • Dodano więcej Dvc* pól, aby dopasować je do najnowszej typowej definicji pól.
  • Dodano Src aliasy i Dst jako aliasy do wiodącego identyfikatora dla systemów źródłowych i docelowych.
  • Dodano opcjonalny DnsNetworkDuration i Durationalias do niego.
  • Dodano opcjonalne pola Lokalizacja geograficzna i Poziom ryzyka.

Zmiany w wersji 0.1.4 schematu to:

  • Dodano opcjonalne pola ThreatIpAddr, , ThreatFieldThreatOriginalRiskLevelThreatNameThreatOriginalConfidenceThreatIsActiveThreatConfidence, ThreatFirstReportedTime, i .ThreatLastReportedTime

Zmiany w wersji 0.1.5 schematu to:

  • Dodano pola SrcUserScope, , , SrcDvcScopeIdDstDvcScopeIdSrcDvcScopeDstDvcScopeSrcUserSessionId, DvcScopeIdi .DvcScope

Zmiany w wersji 0.1.6 schematu to:

  • Dodano pola DnsResponseIpCountry, , DnsResponseIpRegion, DnsResponseIpCityDnsResponseIpLatitude, i DnsResponseIpLongitude.

Zmiany w wersji 0.1.7 schematu to:

  • Dodano pola SrcDescription, SrcUserScopeIdDstOriginalRiskLevelNetworkProtocolVersionRuleDstDescriptionSrcOriginalRiskLevel, , RuleNameRuleNumberi .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 udostępnia wymaganych danych telemetrycznych, takich jak obowiązkowe pola schematu. Jednak źródła, które zwykle dostarczają wszystkie wymagane dane telemetryczne, nawet jeśli występują pewne rozbieżności, mogą być 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 identyfikatora zdarzenia 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 , jak jest wyświetlany 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ą z następującą strukturą:

[
    {
        "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ć wartość answer, authoritylub additional , aby odzwierciedlić część w odpowiedzi, do którego należy słownik.

Napiwek

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

Obsługa flag DNS

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

Możesz również podać dodatkową funkcję KQL o nazwie _imDNS<vendor>Flags_, która przyjmuje nieparzystą odpowiedź 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)
  • Rekursja dostępna (RA)
  • Żądana rekursja (RD)
  • Obcięte (TC)
  • Z

Następne kroki

Aby uzyskać więcej informacji, zobacz: