Справочник по схеме нормализации веб-сеанса расширенной информационной модели безопасности (ASIM)

Схема нормализации веб-сеанса используется для описания действия IP-сети. Например, о действиях в IP-сети сообщают веб-серверы, веб-прокси и шлюзы веб-безопасности.

Дополнительные сведения о нормализации в Microsoft Sentinel см. в разделе Нормализация и расширенная информационная модель безопасности (ASIM).

Обзор схемы

Схема нормализации веб-сеанса представляет любой сетевой сеанс HTTP и подходит для поддержки распространенных типов источников, включая:

  • Веб-серверы
  • Веб-прокси
  • Шлюзы веб-безопасности

Схема веб-сеанса ASIM представляет действия по протоколам HTTP и HTTPS. Так как схема представляет действие протокола, она регулируется RFC и официально назначенными списками параметров, на которые ссылаются в этой статье при необходимости.

Схема веб-сеанса не представляет события аудита с исходных устройств. Например, событие, изменяющее политику шлюза веб-безопасности, не может быть представлено схемой веб-сеанса.

Так как http-сеансы — это сеансы прикладного уровня, использующие TCP/IP в качестве базового сеанса сетевого уровня, схема веб-сеанса — это супер набор схемы сетевого сеанса ASIM.

Наиболее важные поля в схеме веб-сеанса:

  • URL-адрес, который передает URL-адрес, запрошенный клиентом на сервере.
  • SrcIpAddr (псевдоним IpAddr), представляющий IP-адрес, с которого был создан запрос.
  • Поле EventResultDetails , которое обычно сообщает код состояния HTTP.

События веб-сеанса также могут содержать сведения о пользователе и процессе , инициирующего запрос.

Парсеров

Дополнительные сведения о средствах синтаксического анализа ASIM см. в обзоре средства синтаксического анализа ASIM.

Объединение синтаксического анализа

Чтобы использовать средства синтаксического анализа, которые унифицировывают все встроенные средства синтаксического анализа ASIM и обеспечивают выполнение анализа во всех настроенных источниках, используйте _Im_WebSession средство синтаксического анализа.

Встроенные средства синтаксического анализа для конкретного источника

Список средств синтаксического анализа веб-сеансов, Microsoft Sentinel предоставляет встроенные средства синтаксического анализа, см. в списке средств синтаксического анализа ASIM.

Добавление собственных нормализованных анализаторов

При реализации пользовательских средств синтаксического анализа для информационной модели веб-сеанса назовите свои функции KQL, используя следующий синтаксис:

  • vimWebSession<vendor><Product> для параметризованных синтаксических анализаторов
  • ASimWebSession<vendor><Product> для обычных синтаксического анализа

Фильтрация параметров средства синтаксического анализа

Средства im синтаксического анализа и vim* поддерживают параметры фильтрации. Хотя эти средства синтаксического анализа являются необязательными, они могут повысить производительность запросов.

Доступны следующие параметры фильтрации:

Имя Тип Описание
Starttime datetime Отфильтруйте только веб-сеансы, которые были запущены в это время или позже. Этот параметр фильтрует TimeGenerated поле, которое является стандартным конструктором для времени события, независимо от сопоставления полей EventStartTime и EventEndTime специфичного для средства синтаксического анализа.
время окончания datetime Фильтрация только веб-сеансов, которые начали выполняться в это время или раньше. Этот параметр фильтрует TimeGenerated поле, которое является стандартным конструктором для времени события, независимо от сопоставления полей EventStartTime и EventEndTime специфичного для средства синтаксического анализа.
srcipaddr_has_any_prefix Динамический Фильтрация только веб-сеансов, для которых префикс поля исходного IP-адреса находится в одном из перечисленных значений. Список значений может включать IP-адреса и префиксы IP-адресов. Префиксы должны заканчиваться .на , например: 10.0.. Длина списка ограничена 10 000 элементов.
ipaddr_has_any_prefix Динамический Фильтрация только сетевых сеансов, для которых поле IP-адреса назначения или префикс поля исходного IP-адреса находится в одном из перечисленных значений. Префиксы должны заканчиваться .на , например: 10.0.. Длина списка ограничена 10 000 элементов.

Поле ASimMatchingIpAddr задается с одним из значений SrcIpAddr, DstIpAddrили Both для отражения соответствующих полей или полей.
url_has_any Динамический Фильтрация только веб-сеансов, для которых поле URL-адреса содержит любое из перечисленных значений. Средство синтаксического анализа может игнорировать схему URL-адреса, переданного в качестве параметра, если источник не сообщает об этом. Если задано значение и сеанс не является веб-сеансом, результат не будет возвращен. Длина списка ограничена 10 000 элементов.
httpuseragent_has_any Динамический Фильтровать только веб-сеансы, для которых поле агента пользователя содержит любое из перечисленных значений. Если задано значение и сеанс не является веб-сеансом, результат не будет возвращен. Длина списка ограничена 10 000 элементов.
eventresultdetails_in Динамический Фильтрация только веб-сеансов, для которых код состояния HTTP, хранящийся в поле EventResultDetails , является любым из перечисленных значений.
eventresult string Фильтрация только сетевых сеансов с определенным значением EventResult .

Некоторые параметры могут принимать как список значений типа dynamic , так и одно строковое значение. Чтобы передать литерал списка параметрам, которые ожидают динамическое значение, явно используйте динамический литерал. Пример: dynamic(['192.168.','10.'])

Например, чтобы отфильтровать только веб-сеансы по указанному списку доменных имен, используйте:

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

Сведения о схеме

Информационная модель веб-сеанса соответствует схеме сетевой сущности OSSEM и схеме сущности HTTP OSSEM.

В соответствии с лучшими отраслевыми методиками схема веб-сеанса использует дескрипторы Src и Dst для идентификации устройств источника и назначения сеанса без включения маркера Dvc в имя поля.

Например, имя узла исходного устройства и IP-адрес имеют имена SrcHostname и SrcIpAddr соответственно, а не имя узла SrcDvc и SrcDvcIpAddr. Префикс Dvc используется только для отчеты или промежуточного устройства, если применимо.

Поля, описывающие пользователя и приложение, связанные с исходным и целевым устройствами, также используют дескрипторы Src и Dst .

Другие схемы ASIM обычно используют target вместо Dst.

Общие поля ASIM

Важно!

Поля, общие для всех схем, подробно описаны в статье Общие поля ASIM .

Общие поля с определенными рекомендациями

В следующем списке перечислены поля с определенными рекомендациями по событиям веб-сеанса.

Поле Класс Тип Описание
Eventtype Обязательный Перечисленных Описывает операцию, сообщаемую записью. Допустимые значения:
- HTTPsession: обозначает сетевой сеанс, используемый для HTTP или HTTPS, обычно сообщаемый промежуточным устройством, например прокси-сервером или шлюзом веб-безопасности.
- WebServerSession: обозначает HTTP-запрос, сообщаемый веб-сервером. Такое событие обычно содержит меньше сведений, связанных с сетью. Сообщаемые URL-адреса должны включать не схему и имя сервера, а только часть URL-адреса пути и параметров.
- ApiRequest: обозначает HTTP-запрос, связанный с вызовом API, обычно сообщаемый сервером приложений. Такое событие обычно содержит меньше сведений, связанных с сетью. При отправке сервером приложений URL-адрес должен включать не схему и имя сервера, а только путь и параметры, которые являются частью URL-адреса.
EventResult Обязательный Перечисленных Описывает результат события, нормализованный до одного из следующих значений:
- Success
- Partial
- Failure
- NA (неприменимо)

Для сеанса Success HTTP определяется как код состояния ниже , а 400Failure определяется как код состояния выше 400. Список кодов состояния HTTP см. в разделе W3 Org.

Источник может предоставить только значение для поля EventResultDetails , которое необходимо проанализировать, чтобы получить значение EventResult .
EventResultDetails Рекомендуемый Перечисленных Код состояния HTTP, определенный консорциумом World Wide Web

Примечание. Значение может быть указано в исходной записи с использованием разных терминов, которые должны быть нормализованы для этих значений. Исходное значение должно храниться в поле EventOriginalResultDetails .
EventSchema Обязательный Перечисленных Имя схемы, описанной здесь, — WebSession.
EventSchemaVersion Обязательный SchemaVersion (String) Версия схемы. Версия схемы, описанная здесь: 0.2.7
Поля Dvc Для событий веб-сеанса поля устройства относятся к системе, сообщая о событии веб-сеанса. Обычно это промежуточное устройство для HTTPSession событий, а также целевой веб-сервер или сервер приложений для WebServerSession событий и ApiRequest .

Все общие поля

Поля, отображаемые в таблице ниже, являются общими для всех схем ASIM. Любое указанное выше руководство переопределяет общие рекомендации для поля. Например, поле может быть необязательным в целом, но обязательным для конкретной схемы. Дополнительные сведения о каждом поле см. в статье Общие поля ASIM .

Class Fields
Обязательный - EventCount
- EventStartTime
- EventEndTime
- Eventtype
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Рекомендуемый - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Необязательный - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Дополнительные поля
- DvcDescription
- DvcScopeId
- DvcScope

Поля сетевого сеанса

Сеансы HTTP — это сеансы прикладного уровня, использующие TCP/IP в качестве базового сеанса сетевого уровня. Схема веб-сеанса — это супер набор схемы сетевого сеанса ASIM , и все поля схемы сети также включены в схему веб-сеанса.

Следующие поля схемы сетевого сеанса ASIM имеют определенные рекомендации при использовании для события веб-сеанса:

  • Псевдоним User должен ссылаться на SrcUsername , а не на DstUsername.
  • Поле EventOriginalResultDetails может содержать любой результат, сообщаемый источником, в дополнение к коду состояния HTTP, хранящемуся в EventResultDetails.
  • Для веб-сеансов основным целевым полем является поле URL-адреса. DstDomain является необязательным, а не рекомендуется. В частности, если он недоступен, нет необходимости извлекать его из URL-адреса в средстве синтаксического анализа.
  • Поля NetworkRuleName и NetworkRuleNumber переименовываются RuleName и RuleNumber соответственно.

События веб-сеанса обычно сообщаются промежуточными устройствами, которые завершают HTTP-подключение от клиента и инициируют новое соединение с сервером, выступая в качестве прокси-сервера. Чтобы представить промежуточное устройство, используйте поля схемы сетевого сеанса ASIM— промежуточное устройство.

Поля сеанса HTTP

Ниже приведены дополнительные поля, относящиеся к веб-сеансам.

Поле Класс Тип Описание
Url Обязательный URL-адрес (строка) URL-адрес HTTP-запроса, включая параметры. Для HTTPSession событий URL-адрес может включать схему и должен содержать имя сервера. Для WebServerSession и для ApiRequest URL-адреса обычно не включаются схема и сервер, которые можно найти в NetworkApplicationProtocol полях и DstFQDN соответственно.

Пример: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Необязательный String Определенное группирование URL-адреса или доменной части URL-адреса. Категория обычно предоставляется шлюзами веб-безопасности и основана на содержимом сайта, на который указывает URL-адрес.

Пример: поисковые системы, взрослые, новости, реклама и припаркованные домены.
UrlOriginal Необязательный URL-адрес (строка) Исходное значение URL-адреса, когда URL-адрес был изменен устройством создания отчетов, и указаны оба значения.
HttpVersion Необязательный String Версия HTTP-запроса.

Пример: 2.0
HttpRequestMethod Рекомендуемый Перечисленных Метод HTTP. Значения определены в RFC 7231 и RFC 5789 и включают GET, , POSTHEAD, PUT, DELETE, , CONNECT, OPTIONS, TRACE, и PATCH.

Пример: GET
HttpStatusCode Alias Код состояния HTTP. Псевдоним EventResultDetails.
HttpContentType Необязательный String Заголовок типа контента HTTP Response.

Примечание. Поле HttpContentType может включать как формат содержимого, так и дополнительные параметры, такие как кодировка, используемая для получения фактического формата.

Пример: text/html; charset=ISO-8859-4
HttpContentFormat Необязательный String Часть формата содержимого httpContentType

Пример: text/html
HttpReferrer Необязательный String Заголовок ссылок HTTP.

Примечание. ASIM при синхронизации с OSSEM использует правильное написание для ссылок, а не исходное написание заголовка HTTP.

Пример: https://developer.mozilla.org/docs
HttpUserAgent Необязательный String Заголовок агента пользователя HTTP.

Пример:
Mozilla/5.0(Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, как Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Псевдоним httpUserAgent
HttpRequestXff Необязательный IP-адрес Заголовок HTTP X-Forwarded-For.

Пример: 120.12.41.1
HttpRequestTime Необязательный Integer Время в миллисекундах, затратимое на отправку запроса на сервер, если применимо.

Пример: 700
HttpResponseTime Необязательный Integer Время в миллисекундах, затратимое на получение ответа на сервере, если применимо.

Пример: 800
HttpHost Необязательный String Виртуальный веб-сервер, на который направлен HTTP-запрос. Это значение обычно основано на заголовке узла HTTP.
FileName Необязательный String Для отправки по протоколу HTTP — имя отправленного файла.
FileMD5 Необязательный MD5 Для отправки по протоколу HTTP — хэш MD5 отправленного файла.

Пример: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Необязательный SHA1 Для отправки по протоколу HTTP — хэш SHA1 отправленного файла.

Пример:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Необязательный SHA256 Для отправки по протоколу HTTP — хэш SHA256 отправленного файла.

Пример:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Необязательный SHA512 Для отправки по протоколу HTTP — хэш SHA512 отправленного файла.
Хэш Alias Псевдоним доступного поля Хэша.
HashType Условного Перечисленных Тип хэша в поле Хэш . Возможные значения: MD5, SHA1, SHA256и SHA512.
FileSize Необязательный Long Для отправки по протоколу HTTP — размер отправленного файла в байтах.
FileContentType Необязательный String Для отправки по протоколу HTTP — тип содержимого отправленного файла.
HttpCookie Необязательный String Содержимое заголовка файла cookie HTTP, отправляемого с клиента на сервер, содержащего пары "имя-значение" данных сеанса.

Пример: session_id=abc123; user_pref=dark_mode
HttpIsProxied Необязательный Логический Указывает, был ли HTTP-запрос отправлен через прокси-сервер.

Пример: true
HttpRequestBodyBytes Необязательный Long Размер текста HTTP-запроса в байтах без учета заголовков.

Пример: 1024
HttpRequestCacheControl Необязательный String Содержимое http-Cache-Control заголовка запроса, указывающего директивы кэширования от клиента.

Пример: no-cache
HttpRequestHeaderCount Необязательный Integer Количество http-заголовков, включенных в запрос.

Пример: 12
HttpResponseBodyBytes Необязательный Long Размер текста HTTP-ответа в байтах без учета заголовков.

Пример: 8192
HttpResponseCacheControl Необязательный String Содержимое http-Cache-Control заголовка ответа, указывающего директивы кэширования с сервера.

Пример: max-age=3600, public
HttpResponseExpires Необязательный String Содержимое заголовка ответа HTTP Expires, указывающее, когда истечет срок действия содержимого ответа.

Пример: Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount Необязательный Integer Количество http-заголовков, включенных в ответ.

Пример: 15

Другие поля

Если событие сообщается одной из конечных точек веб-сеанса, оно может содержать сведения о процессе, который инициировал или завершил сеанс. В таких случаях для нормализации этих сведений используется схема события процесса ASIM .

Обновления схемы

Схема веб-сеанса основана на схеме сетевого сеанса. Поэтому обновления схемы сетевого сеанса также применяются к схеме веб-сеанса.

Ниже приведены изменения в схеме версии 0.2.5.

  • Добавлено поле HttpHost.

Ниже приведены изменения в схеме версии 0.2.6.

  • Тип FileSize был изменен с Integer на Long.

Ниже приведены изменения в схеме версии 0.2.7.

  • Добавлены поля HttpCookie, , HttpIsProxiedHttpRequestBodyBytes, HttpRequestCacheControl, , HttpRequestHeaderCount, , HttpResponseBodyBytes, HttpResponseCacheControlHttpResponseExpiresи HttpResponseHeaderCount.

Дальнейшие действия

Дополнительные сведения см. в указанных ниже статьях.