Schematy zaawansowanego modelu informacji o zabezpieczeniach (ASIM)

Schemat ASIM (Advanced Security Information Model) to zestaw pól reprezentujących działanie lub jednostkę. Użycie pól ze znormalizowanego schematu w zapytaniu gwarantuje, że zapytanie działa z każdym znormalizowanym źródłem.

Aby zrozumieć, jak schematy mieszczą się w architekturze ASIM, zapoznaj się z diagramem architektury ASIM.

Schematy działań/zdarzeń

Odwołania do schematów opisują pola wchodzące w skład każdego schematu. Obecnie usługa ASIM definiuje następujące schematy zdarzeń:

Schemat Nazwa schematu dla testów Wersja Stan
Zdarzenie agenta AgentEvent 0.1.0 ogólna dostępność
Zdarzenie alertu AlertEvent 0.1 ogólna dostępność
Zdarzenie inspekcji AuditEvent 0.1.2 ogólna dostępność
Zdarzenie uwierzytelniania Authentication 0.1.4 ogólna dostępność
Działanie DHCP DhcpEvent 0.1.1 ogólna dostępność
Działanie DNS Dns 0.1.7 ogólna dostępność
Aktywność pliku FileEvent 0.2.2 ogólna dostępność
Sesja sieciowa NetworkSession 0.2.7 ogólna dostępność
Zdarzenie procesu ProcessEvent 0.1.4 ogólna dostępność
Zdarzenie w rejestrze RegistryEvent 0.1.3 ogólna dostępność
Zarządzanie użytkownikami UserManagement 0.1.2 ogólna dostępność
Sesja internetowa WebSession 0.2.7 ogólna dostępność

Schematy jednostek

Obecnie usługa ASIM definiuje następujące schematy dla jednostek:

Schemat Nazwa schematu dla testów Wersja Stan
Jednostka zasobu AssetEntity 1.0.0 ogólna dostępność

W przypadku jednostek, które są częścią innych schematów ASIM, zapoznaj się z tematem Jednostki zdarzeń.

Nazewnictwo pól

Podstawą każdego schematu są jego nazwy pól. Nazwy pól należą do następujących grup:

  • Pola wspólne dla wszystkich schematów.
  • Pola specyficzne dla schematu.
  • Pola reprezentujące jednostki, takie jak użytkownicy, które biorą udział w schemacie. Pola reprezentujące jednostki są podobne w schematach.

Jeśli źródła mają pola, które nie są prezentowane w udokumentowanym schemacie, są one normalizowane w celu zachowania spójności. Jeśli dodatkowe pola reprezentują jednostkę, są one normalizowane na podstawie wytycznych dotyczących pól jednostki. W przeciwnym razie schematy dążą do zachowania spójności we wszystkich schematach.

Na przykład dzienniki aktywności serwera DNS nie dostarczają informacji o użytkowniku, ale dzienniki aktywności DNS z punktu końcowego mogą zawierać informacje o użytkowniku, które można znormalizować zgodnie z wytycznymi jednostki użytkownika.

Typowe pola

Niektóre pola są wspólne dla wszystkich schematów ASIM. Każdy schemat może dodać wytyczne dotyczące używania niektórych typowych pól w kontekście określonego schematu. Na przykład dozwolone wartości pola EventType mogą się różnić w zależności od schematu, podobnie jak wartość pola EventSchemaVersion .

Klasy pól

Pola mogą mieć kilka klas, które definiują, kiedy pola powinny zostać zaimplementowane przez analizator:

  • Pola obowiązkowe muszą być wyświetlane w każdym analizatorze. Jeśli źródło nie zawiera informacji o tej wartości lub nie można dodać danych w inny sposób, nie obsługuje większości elementów zawartości odwołujące się do znormalizowanego schematu.
  • Zalecane pola powinny być normalizowane, jeśli są dostępne. Jednak mogą nie być dostępne w każdym źródle. Każdy element zawartości odwołujące się do znormalizowanego schematu powinien uwzględniać dostępność.
  • Opcjonalne pola, jeśli są dostępne, można znormalizować lub pozostawić w oryginalnym formularzu. Zazwyczaj minimalny parser nie normalizowałby ich ze względów wydajnościowych.
  • Pola warunkowe są obowiązkowe, jeśli pole, po którym występują, jest wypełnione. Pola warunkowe są zwykle używane do opisywania wartości w innym polu. Na przykład pole wspólne DvcIdType opisuje wartość int pola wspólnego DvcId i dlatego jest obowiązkowe, jeśli ten ostatni jest wypełniony.
  • Alias jest specjalnym typem pola warunkowego i jest obowiązkowy, jeśli pole aliasowane jest wypełnione.

Jednostki zdarzeń

Zdarzenia ewoluują wokół jednostek, takich jak użytkownicy, hosty, procesy lub pliki. Każda jednostka może wymagać kilku pól, aby ją opisać. Na przykład host może mieć nazwę i adres IP.

Pojedynczy rekord może zawierać wiele jednostek tego samego typu, takich jak host źródłowy i docelowy.

Usługa ASIM definiuje sposób spójnego opisywania jednostek, a jednostki umożliwiają rozszerzanie schematów.

Na przykład chociaż schemat sesji sieciowej nie zawiera informacji o procesie, niektóre źródła zdarzeń udostępniają informacje o procesie, które można dodać. Aby uzyskać więcej informacji, zobacz Jednostki.

Aby włączyć funkcjonalność jednostki, reprezentacja jednostki ma następujące wytyczne:

Wytyczne Opis
Prefiksy i aliasy Ponieważ pojedyncze zdarzenie często zawiera więcej niż jedną jednostkę tego samego typu, na przykład hosty źródłowe i docelowe, prefiksy są używane do identyfikowania jednostki, z którą jest skojarzone pole.

Aby zachować normalizację, usługa ASIM używa małego zestawu standardowych prefiksów, wybierając najbardziej odpowiednie dla określonej roli jednostek.

Jeśli pojedyncza jednostka typu jest istotna dla zdarzenia, nie ma potrzeby używania prefiksu. Ponadto zestaw pól bez prefiksu stanowi alias najczęściej używanej encji dla każdego typu.
Identyfikatory i typy Znormalizowany schemat umożliwia użycie kilku identyfikatorów dla każdej jednostki, które mają współistnieć w zdarzeniach. Jeśli zdarzenie źródłowe ma inne identyfikatory jednostek, których nie można zamapować na znormalizowany schemat, pozostaw je w formularzu źródłowym lub użyj pola dynamicznego AdditionalFields .

Aby zachować informacje o typie identyfikatorów, zapisz typ , jeśli ma zastosowanie, w polu o tej samej nazwie i sufiksie Typu. Na przykład UserIdType.
Atrybuty Jednostki często mają inne atrybuty, które nie służą jako identyfikator i mogą być również kwalifikowane za pomocą deskryptora. Jeśli na przykład użytkownik źródłowy ma informacje o domenie, znormalizowane pole to SrcUserDomain.

Aby uzyskać więcej informacji na temat określonych typów jednostek, zobacz:

Aby uzyskać więcej informacji na temat pełnych schematów jednostek, zobacz:

Aliasy

Aliasy zezwalają na wiele nazw dla określonej wartości. W niektórych przypadkach różni użytkownicy oczekują, że pole będzie miało różne nazwy. Na przykład w terminologii DNS można oczekiwać pola o nazwie DnsQuery, podczas gdy bardziej ogólnie zawiera nazwę domeny. Alias Domena pomaga użytkownikowi, zezwalając na używanie obu nazw.

Uwaga

Aliasy mają pomóc analitykowi w wykonywaniu interakcyjnych zapytań. W przypadku używania zapytań w zawartości wielokrotnego użytku, takiej jak niestandardowe wykrycia, reguły analityczne lub skoroszyty, używaj pola z aliasem zamiast samego aliasu. Użycie pola aliasowanego zapewnia lepszą wydajność, mniejszą ilość błędów i lepszą czytelność zapytań.

W niektórych przypadkach alias może mieć wartość jednego z kilku pól, w zależności od tego, które wartości są dostępne w zdarzeniu. Na przykład alias Dvc jest aliasem dla DvcFQDN, DvcId, DvcHostname lub DvcIpAddr albo pola Event Product. Jeśli alias może mieć kilka wartości, jego typ musi być ciągiem, aby pomieścić wszystkie możliwe wartości aliasu. W związku z tym, podczas przypisywania wartości do takiego aliasu, należy przekonwertować typ na ciąg znaków przy użyciu funkcji KQL tostring.

Natywne znormalizowane tabele nie zawierają aliasów, ponieważ oznaczałyby one zduplikowany magazyn danych. Zamiast tego analizatory wycinków dodają aliasy. Aby zaimplementować aliasy w analizatorach, utwórz kopię oryginalnej wartości przy użyciu extend operatora .

Typy logiczne

Każde pole schematu ma typ. Obszar roboczy usługi Log Analytics ma ograniczony zestaw typów danych. Z tego powodu Microsoft Sentinel używa logicznego typu danych dla wielu pól schematu — usługa Log Analytics go nie wymusza, ale jest on wymagany na potrzeby zgodności ze schematem. Typy pól logicznych zapewniają spójność zarówno wartości, jak i nazw pól w różnych źródłach.

Typ danych Typ fizyczny Format i wartość
Boolean Bool Użyj wbudowanego typu danych KQL bool, a nie liczbowej lub tekstowej reprezentacji wartości logicznych.
Wyliczane Ciąg Lista wartości jawnie zdefiniowanych dla pola. Definicja schematu zawiera listę zaakceptowanych wartości.
Data/godzina W zależności od możliwości metody pozyskiwania danych użyj dowolnej z poniższych reprezentacji fizycznych w kolejności malejącego priorytetu:

— Wbudowany typ daty/godziny usługi Log Analytics
- Pole typu liczba całkowita używające numerycznej reprezentacji daty i godziny w usłudze Log Analytics.
- Pole tekstowe wykorzystujące numeryczną reprezentację daty i godziny w usłudze Log Analytics
— Pole ciągu przechowujące obsługiwany format daty/godziny usługi Log Analytics.
Reprezentacja daty i godziny usługi Log Analytics jest podobna, ale inna niż reprezentacja czasu unix. Aby uzyskać więcej informacji, zobacz wytyczne dotyczące konwersji.

Uwaga: jeśli ma to zastosowanie, czas powinien być dostosowany do strefy czasowej.
Adres MAC Ciąg Notacja szesnastkowa rozdzielana dwukropkami.
Adres IP Ciąg Microsoft Sentinel schematy nie mają oddzielnych adresów IPv4 i IPv6. Dowolne pole adresu IP może zawierać adres IPv4 lub adres IPv6 w następujący sposób:

- Protokół IPv4 w notacji kropek dziesiętnych.
- IPv6 w notacji 8-hextets, co pozwala na krótką formę.

Przykład:
- Protokół IPv4: 192.168.10.10
- Protokół IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
- Krótki formularz IPv6: 1080::8:800:200C:417A
FQDN Ciąg W pełni kwalifikowana nazwa domeny używająca notacji kropkowej, na przykład learn.microsoft.com. Aby uzyskać więcej informacji, zobacz jednostka Urządzenie.
Nazwa hosta Ciąg Nazwa hosta, która nie jest nazwą FQDN, zawiera maksymalnie 63 znaki, w tym litery, cyfry i łączniki. Aby uzyskać więcej informacji, zobacz jednostka Urządzenie.
Domena Ciąg część domenowa nazwy FQDN, bez nazwy hosta, na przykład learn.microsoft.com. Aby uzyskać więcej informacji, zobacz jednostka Urządzenie.
Typ domeny Wyliczane Typ domeny przechowywany w polach „domena” i „FQDN”. Aby uzyskać listę wartości i więcej informacji, zobacz Jednostka Urządzenie.
DvcIdType Wyliczane Typ identyfikatora urządzenia przechowywanego w polach DvcId. Aby uzyskać listę dozwolonych wartości i więcej informacji, zobacz DvcIdType.
Devicetype Wyliczane Typ urządzenia przechowywanego w polach DeviceType. Możliwe wartości obejmują:
- Computer
- Mobile Device
- IOT Device
- Other. Aby uzyskać więcej informacji, zobacz jednostka Urządzenie.
Nazwę użytkownika Ciąg Prawidłowa nazwa użytkownika w jednym z obsługiwanych typów. Aby uzyskać więcej informacji, zobacz jednostka Użytkownik.
Typ nazwy użytkownika Wyliczane Typ nazwy użytkownika przechowywany w polach nazwy użytkownika. Aby uzyskać więcej informacji i listę obsługiwanych wartości, zobacz Jednostka Użytkownik.
UserIdType Wyliczane Typ identyfikatora przechowywanego w polach identyfikatora użytkownika.

Obsługiwane wartości to SID, UIS, AADID, OktaId, AWSIdi PUID. Aby uzyskać więcej informacji, zobacz jednostka Użytkownik.
Usertype Wyliczane Typ użytkownika. Aby uzyskać więcej informacji i listę dozwolonych wartości, zobacz Jednostka Użytkownik.
Typ aplikacji Wyliczane Typ aplikacji. Aby uzyskać listę obsługiwanych wartości, zobacz Jednostka aplikacji.
Kraj Ciąg Ciąg znaków wykorzystujący ISO 3166-1, zgodnie z następującym priorytetem:

- Kody Alfa-2, takie jak US dla Stany Zjednoczone.
- Kody Alfa-3, takie jak USA dla Stany Zjednoczone.
- Krótka nazwa.

Listę kodów można znaleźć w witrynie internetowej Organizacji Międzynarodowych Standardów (ISO).
Region Ciąg Nazwa podziału kraju/regionu przy użyciu iso 3166-2.

Listę kodów można znaleźć w witrynie internetowej Organizacji Międzynarodowych Standardów (ISO).
Miasto Ciąg
Długość geograficzna Podwójny Reprezentacja współrzędnych ISO 6709 (podpisana liczba dziesiętna).
Szerokość geograficzna Podwójny Reprezentacja współrzędnych ISO 6709 (podpisana liczba dziesiętna).
MD5 Ciąg 32 znaki szesnastkowe.
SHA1 Ciąg 40 znaków szesnastkowych.
SHA256 Ciąg 64 znaki szesnastkowe.
SHA512 Ciąg 128 znaków szesnastkowych.
ConfidenceLevel Liczba całkowita Poziom ufności znormalizowany do zakresu od 0 do 100.
RiskLevel Liczba całkowita Poziom ryzyka znormalizowany do zakresu od 0 do 100.
SchemaVersion Ciąg Wersja schematu ASIM w formacie <major>.<minor>.<sub-minor>
DnsQueryClassName Ciąg Nazwa klasy DNS.
Nazwa użytkownika Ciąg Prosta nazwa użytkownika lub nazwa użytkownika z kwalifikatorem domeny

Mapowanie przykładowej jednostki

W tej sekcji użyto zdarzenia systemu Windows 4624 jako przykładu do opisania sposobu normalizacji danych zdarzeń dla Microsoft Sentinel.

To zdarzenie ma następujące jednostki:

Terminologia firmy Microsoft Prefiks oryginalnego pola zdarzenia Prefiks pola ASIM Opis
Temat Subject Actor Użytkownik, który zgłosił informacje o pomyślnym zalogowaniu.
Nowe logowanie Target TargetUser Użytkownik, dla którego wykonano logowanie.
Proces - ActingProcess Proces, który próbował zalogować się.
Informacje o sieci - Src Maszyna, na której została wykonana próba logowania.

Na podstawie tych jednostek zdarzenie systemu Windows 4624 jest normalizowane w następujący sposób (niektóre pola są opcjonalne):

Pole znormalizowane Oryginalne pole Wartość w przykładzie Uwagi
ActorUserId SubjectUserSid S-1-5-18
ActorUserIdType - SID
ActorUserName SubjectDomainName (nazwa domeny)\ SubjectUserName (nazwa użytkownika) WORKGROUP\WIN-GG82ULGC9GO$ Skompilowany przez łączenie dwóch pól
ActorUserNameType - Windows
ActorSessionId SubjectLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
Userid TargetUserSid Alias
TargetUserIdType - SID
TargetUserName TargetDomainName\TargetUserName Administrator\WIN-GG82ULGC9GO$ Skompilowany przez łączenie dwóch pól
Nazwa użytkownika TargetDomainName\TargetUserName Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName Nazwa procesu C:\Windows\System32\svchost.exe
ActingProcessId ProcessId 0x44c
SrcHostname Nazwa stacji roboczej Windows
SrcIpAddr IpAddress 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Komputer WIN-GG82ULGC9GO
Hostname (Nazwa hosta) Komputer Alias