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

Schemat normalizacji sesji sieci Web służy do opisywania działania sieci IP. Na przykład działania sieci IP są zgłaszane przez serwery internetowe, serwery proxy sieci Web i bramy zabezpieczeń sieci Web.

Aby uzyskać więcej informacji na temat normalizacji w Microsoft Sentinel, zobacz Normalizacja i Zaawansowany model informacji o zabezpieczeniach (ASIM).

Omówienie schematu

Schemat normalizacji sesji sieci Web reprezentuje dowolną sesję sieci HTTP i jest odpowiedni do zapewnienia obsługi typowych typów źródeł, w tym:

  • Serwery sieci Web
  • Serwery proxy sieci Web
  • Bramy zabezpieczeń sieci Web

Schemat sesji sieci Web usługi ASIM reprezentuje działanie protokołu HTTP i HTTPS. 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 sesji sieci Web nie reprezentuje zdarzeń inspekcji z urządzeń źródłowych. Na przykład zdarzenie modyfikujące zasady bramy zabezpieczeń sieci Web nie może być reprezentowane przez schemat sesji sieci Web.

Ponieważ sesje HTTP są sesjami warstwy aplikacji, które używają protokołu TCP/IP jako podstawowej sesji warstwy sieciowej, schemat sesji sieci Web jest superzespołem schematu sesji sieciowej ASIM.

Najważniejsze pola w schemacie sesji sieci Web to:

  • Adres URL, który zgłasza adres URL żądany przez klienta z serwera.
  • SrcIpAddr (aliasem IpAddr), który reprezentuje adres IP, z którego wygenerowano żądanie.
  • EventResultDetails , które zwykle zgłasza kod stanu HTTP.

Zdarzenia sesji sieci Web mogą również obejmować informacje o użytkowniku i procesie dla użytkownika oraz proces inicjujący żądanie.

Parsery

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

Ujednolicanie analizatorów

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 _Im_WebSession analizatora.

Out-of-the-box, analizatory specyficzne dla źródła

Aby uzyskać listę analizatorów sesji sieci Web, Microsoft Sentinel udostępnia wbudowane funkcje, zapoznaj się z listą analizatorów ASIM

Dodawanie własnych znormalizowanych analizatorów

Podczas implementowania analizatorów niestandardowych dla modelu informacji sesji sieci Web nadaj nazwę funkcjom KQL przy użyciu następującej składni:

  • vimWebSession<vendor><Product> dla analizatorów parametryzowanych
  • ASimWebSession<vendor><Product> dla zwykłych analizatorów

Filtrowanie parametrów analizatora

Analizatory im i vim* obsługują parametry filtrowania. Chociaż te analizatory są opcjonalne, mogą zwiększyć wydajność zapytań.

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

Name (Nazwa) Wpisać Opis
Starttime Datetime Filtruj tylko sesje sieci Web, które rozpoczęły się 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 sesje sieci Web, które zaczęły działać o tej 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_has_any_prefix Dynamiczne Filtruj tylko sesje sieci Web, dla których prefiks pola źródłowego adresu IP znajduje się w jednej z wymienionych wartości. Lista wartości może zawierać adresy IP i prefiksy adresów IP. Prefiksy powinny kończyć się wartością ., na przykład: 10.0.. Długość listy jest ograniczona do 10 000 elementów.
ipaddr_has_any_prefix Dynamiczne Filtruj tylko sesje sieciowe, dla których prefiks pola docelowego adresu IP lub źródłowego adresu IP znajduje się w jednej z wymienionych wartości. Prefiksy powinny kończyć się wartością ., na przykład: 10.0.. Długość listy jest ograniczona do 10 000 elementów.

Pole ASimMatchingIpAddr jest ustawione z jedną z wartości SrcIpAddr, DstIpAddrlub Both w celu odzwierciedlenia pasujących pól lub pól.
url_has_any Dynamiczne Filtruj tylko sesje sieci Web, dla których pole adresu URL zawiera dowolną z wymienionych wartości. Analizator może zignorować schemat adresu URL przekazanego jako parametr, jeśli źródło go nie zgłosi. Jeśli zostanie określony, a sesja nie jest sesją internetową, nie zostanie zwrócony żaden wynik. Długość listy jest ograniczona do 10 000 elementów.
httpuseragent_has_any Dynamiczne Filtruj tylko sesje internetowe, dla których pole agenta użytkownika ma dowolną z wymienionych wartości. Jeśli zostanie określony, a sesja nie jest sesją internetową, nie zostanie zwrócony żaden wynik. Długość listy jest ograniczona do 10 000 elementów.
eventresultdetails_in Dynamiczne Filtruj tylko sesje internetowe, dla których kod stanu HTTP przechowywany w polu EventResultDetails jest dowolną z wymienionych wartości.
eventresult ciąg Filtruj tylko sesje sieciowe z określoną wartością EventResult .

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.'])

Aby na przykład filtrować tylko sesje sieci Web dla określonej listy nazw domen, użyj:

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

Szczegóły schematu

Model informacji sesji internetowej jest zgodny ze schematem jednostki sieci OSSEM i schematem jednostki HTTP OSSEM.

Aby zachować zgodność z najlepszymi rozwiązaniami branżowymi, schemat sesji sieci Web używa deskryptorów Src i Dst do identyfikowania urządzeń źródłowych i docelowych sesji bez uwzględniania tokenu Dvc w nazwie pola.

Na przykład nazwa hosta urządzenia źródłowego i adres IP mają odpowiednio nazwy SrcHostname i SrcIpAddr , a nie SrcDvcHostname i SrcDvcIpAddr. Prefiks Dvc jest używany tylko do raportowania lub urządzenia pośredniczącego, stosownie do przypadku.

Pola opisujące użytkownika i aplikację skojarzone z urządzeniami źródłowymi i docelowymi używają również deskryptorów Src i Dst .

Inne schematy ASIM zwykle używają wartości Target zamiast Dst.

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ń sesji sieci Web:

Pole Klasa Wpisać Opis
Eventtype Obowiązkowe Wyliczane Opisuje operację zgłoszoną przez rekord. Dozwolone wartości to:
- HTTPsession: oznacza sesję sieciową używaną dla protokołu HTTP lub HTTPS, zwykle zgłaszaną przez urządzenie pośredniczące, takie jak serwer proxy lub brama zabezpieczeń sieci Web.
- WebServerSession: oznacza żądanie HTTP zgłoszone przez serwer internetowy. Takie zdarzenie zwykle zawiera mniej informacji związanych z siecią. Zgłoszony adres URL nie powinien zawierać schematu i nazwy serwera, ale tylko część ścieżki i parametrów adresu URL.
- ApiRequest: oznacza zgłoszone żądanie HTTP skojarzone z wywołaniem interfejsu API, zwykle zgłaszane przez serwer aplikacji. Takie zdarzenie zwykle zawiera mniej informacji związanych z siecią. Raportowany przez serwer aplikacji adres URL nie powinien zawierać schematu i nazwy serwera, ale tylko część ścieżki i parametrów adresu URL.
EventResult Obowiązkowe Wyliczane Opisuje wynik zdarzenia znormalizowany do jednej z następujących wartości:
- Success
- Partial
- Failure
- NA (nie dotyczy)

W przypadku sesji Success HTTP jest zdefiniowany jako kod stanu niższy niż 400i Failure jest zdefiniowany jako kod stanu wyższy niż 400. Aby uzyskać listę kodów stanu HTTP, zapoznaj się z tematem Organizacja W3.

Źródło może podać tylko wartość pola EventResultDetails , które musi zostać przeanalizowane w celu uzyskania wartości EventResult .
EventResultDetails Zalecane Wyliczane Kod stanu HTTP zdefiniowany przez the World Wide Web Consortium

Uwaga: Wartość może być podana w rekordzie źródłowym przy użyciu różnych terminów, które powinny być znormalizowane do tych wartości. Oryginalna wartość powinna być przechowywana w polu EventOriginalResultDetails .
EventSchema Obowiązkowe Wyliczane Nazwa schematu udokumentowanego w tym miejscu to WebSession.
EventSchemaVersion Obowiązkowe SchemaVersion (ciąg) Wersja schematu. Wersja schematu udokumentowana w tym miejscu jest 0.2.7
Pola dvc W przypadku zdarzeń sesji sieci Web pola urządzenia odnoszą się do systemu zgłaszającego zdarzenie sesji sieci Web. Jest to zazwyczaj urządzenie pośredniczące dla zdarzeń HTTPSession oraz docelowy serwer sieci Web lub aplikacji dla WebServerSession zdarzeń i ApiRequest .

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, zapoznaj się z artykułem 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 sesji sieciowej

Sesje HTTP to sesje warstwy aplikacji, które używają protokołu TCP/IP jako podstawowej sesji warstwy sieciowej. Schemat sesji sieci Web jest super zestawem schematu sesji sieciowej ASIM , a wszystkie pola schematu sieciowego są również uwzględnione w schemacie sesji sieci Web.

Następujące pola schematu sesji sieciowej usługi ASIM mają określone wytyczne dotyczące użycia zdarzenia sesji sieci Web:

Zdarzenia sesji sieci Web są często zgłaszane przez urządzenia pośrednie, które przerywają połączenie HTTP od klienta i inicjują nowe połączenie, działając jako serwer proxy, z serwerem. Aby reprezentować urządzenie pośrednie, użyj pól urządzenia pośredniczącegoschematu sesji sieciowej usługi ASIM

Pola sesji HTTP

Poniżej przedstawiono dodatkowe pola specyficzne dla sesji internetowych:

Pole Klasa Wpisać Opis
Adres url Obowiązkowe Adres URL (ciąg) Adres URL żądania HTTP, w tym parametry. W przypadku HTTPSession zdarzeń adres URL może zawierać schemat i powinien zawierać nazwę serwera. Dla WebServerSession i dla ApiRequest adresu URL zwykle nie obejmują schematu i serwera, które można znaleźć w NetworkApplicationProtocol polach i DstFQDN odpowiednio.

Przykład: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Opcjonalny Ciąg Zdefiniowane grupowanie adresu URL lub części domeny adresu URL. Kategoria jest często udostępniana przez bramy zabezpieczeń sieci Web i jest oparta na zawartości witryny, na która wskazuje adres URL.

Przykład: wyszukiwarki, osoby dorosłe, wiadomości, reklamy i zaparkowane domeny.
UrlOriginal Opcjonalny Adres URL (ciąg) Oryginalna wartość adresu URL, gdy adres URL został zmodyfikowany przez urządzenie raportowania i podano obie wartości.
HttpVersion Opcjonalny Ciąg Wersja żądania HTTP.

Przykład: 2.0
HttpRequestMethod Zalecane Wyliczane Metoda HTTP. Wartości są zdefiniowane w formatach RFC 7231 i RFC 5789 oraz obejmują GET, , HEAD, POSTPUT, , DELETE, CONNECT, OPTIONS, , TRACEi PATCH.

Przykład: GET
HttpStatusCode Alias Kod stanu HTTP. Alias do eventResultDetails.
HttpContentType Opcjonalny Ciąg Nagłówek typu zawartości HTTP Response.

Uwaga: Pole HttpContentType może zawierać zarówno format zawartości, jak i dodatkowe parametry, takie jak kodowanie używane do uzyskania rzeczywistego formatu.

Przykład: text/html; charset=ISO-8859-4
HttpContentFormat Opcjonalny Ciąg Część formatu zawartości elementu HttpContentType

Przykład: text/html
HttpReferrer Opcjonalny Ciąg Nagłówek odwołań HTTP.

Uwaga: usługa ASIM zsynchronizowana z programem OSSEM używa poprawnej pisowni dla odwołań, a nie oryginalnej pisowni nagłówka HTTP.

Przykład: https://developer.mozilla.org/docs
HttpUserAgent Opcjonalny Ciąg Nagłówek agenta użytkownika HTTP.

Przykład:
Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, jak Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias do elementu HttpUserAgent
HttpRequestXff Opcjonalny Adres IP Nagłówek HTTP X-Forwarded-For.

Przykład: 120.12.41.1
HttpRequestTime Opcjonalny Liczba całkowita Czas, w milisekundach, zajęło wysłanie żądania na serwer, jeśli ma to zastosowanie.

Przykład: 700
HttpResponseTime Opcjonalny Liczba całkowita Czas, w milisekundach, zajęło otrzymanie odpowiedzi na serwerze, jeśli ma to zastosowanie.

Przykład: 800
HttpHost Opcjonalny Ciąg Wirtualny serwer internetowy, dla który zostało skierowane żądanie HTTP. Ta wartość jest zwykle oparta na nagłówku hosta HTTP.
Pod nazwą Opcjonalny Ciąg W przypadku przekazywania http nazwa przekazanego pliku.
PlikMD5 Opcjonalny MD5 W przypadku przekazywania http skrót MD5 przekazanego pliku.

Przykład: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Opcjonalny SHA1 W przypadku przekazywania http skrót SHA1 przekazanego pliku.

Przykład:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Opcjonalny SHA256 W przypadku przekazywania http skrót SHA256 przekazanego pliku.

Przykład:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Opcjonalny SHA512 W przypadku przekazywania http skrót SHA512 przekazanego pliku.
Mieszania Alias Alias do dostępnego pola skrótu.
Typ skrótu Warunkowe Wyliczane Typ skrótu w polu Skrót . Możliwe wartości to: MD5, SHA1, SHA256, i SHA512.
Rozmiar pliku Opcjonalny Długi W przypadku przekazywania http rozmiar w bajtach przekazanego pliku.
FileContentType Opcjonalny Ciąg W przypadku przekazywania http typ zawartości przekazanego pliku.
HttpCookie Opcjonalny Ciąg Zawartość nagłówka pliku cookie HTTP wysłanego z klienta do serwera, zawierająca pary nazwy i wartości danych sesji.

Przykład: session_id=abc123; user_pref=dark_mode
HttpIsProxied Opcjonalny Wartość logiczna Wskazuje, czy żądanie HTTP zostało wysłane za pośrednictwem serwera proxy.

Przykład: true
HttpRequestBodyBytes Opcjonalny Długi Rozmiar treści żądania HTTP w bajtach, bez nagłówków.

Przykład: 1024
HttpRequestCacheControl Opcjonalny Ciąg Zawartość nagłówka żądania http Cache-Control, określająca dyrektywy buforowania od klienta.

Przykład: no-cache
HttpRequestHeaderCount Opcjonalny Liczba całkowita Liczba nagłówków HTTP uwzględnionych w żądaniu.

Przykład: 12
HttpResponseBodyBytes Opcjonalny Długi Rozmiar treści odpowiedzi HTTP w bajtach, bez nagłówków.

Przykład: 8192
HttpResponseCacheControl Opcjonalny Ciąg Zawartość nagłówka odpowiedzi Cache-Control HTTP, określająca dyrektywy buforowania z serwera.

Przykład: max-age=3600, public
HttpResponseExpires Opcjonalny Ciąg Zawartość nagłówka odpowiedzi HTTP wygasa, wskazująca, kiedy zawartość odpowiedzi wygaśnie.

Przykład: Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount Opcjonalny Liczba całkowita Liczba nagłówków HTTP uwzględnionych w odpowiedzi.

Przykład: 15

Inne pola

Jeśli zdarzenie jest zgłaszane przez jeden z punktów końcowych sesji internetowej, może zawierać informacje o procesie, który zainicjował lub zakończył sesję. W takich przypadkach schemat zdarzenia procesu ASIM w celu znormalizowania tych informacji.

Aktualizacje schematu

Schemat sesji sieci Web opiera się na schemacie sesji sieciowej. W związku z tym aktualizacje schematu sesji sieciowej dotyczą również schematu sesji sieci Web.

Poniżej przedstawiono zmiany w wersji 0.2.5 schematu:

  • Dodano pole HttpHost.

Poniżej przedstawiono zmiany w wersji 0.2.6 schematu:

  • Typ rozmiaru pliku został zmieniony z Liczba całkowita na Długa.

Poniżej przedstawiono zmiany w wersji 0.2.7 schematu:

  • Dodano pola HttpCookie, HttpIsProxied, HttpRequestBodyBytes, HttpRequestCacheControl, HttpRequestHeaderCount, HttpResponseBodyBytes, , HttpResponseCacheControl, , HttpResponseExpiresi HttpResponseHeaderCount.