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

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

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

Важно!

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

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

Общие сведения о схеме

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

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

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

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

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

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

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

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

Средства синтаксического анализа

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

Унификация средств синтаксического анализа

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

Вы также можете использовать средства синтаксического анализа ImWebSession и ASimWebSession, развернутые в рабочей области, развернув их из репозитория Microsoft Sentinel на GitHub. Дополнительные сведения см. в разделе Встроенные средства синтаксического анализа ASIM и развернутые в рабочей области средства синтаксического анализа.

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

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

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

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

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

Параметры фильтрации средства синтаксического анализа

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

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

Имя Тип Описание
starttime DATETIME Обрабатывать только те веб-сеансы, которые были запущены в это время или после этого.
endtime DATETIME Обрабатывать только те веб-сеансы, которые были запущены в это время или до этого.
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 строка Обрабатывать только сетевые сеансы с определенным значением 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 соответственно, а не SrcDvcHostname и SrcDvcIpAddr. Префикс Dvc используется только для передающего или промежуточного устройства (при применимости).

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

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

Общие поля ASIM

Важно!

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

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

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

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

Для сеанса HTTP Success определяется как код состояния меньше 400, а Failure определяется как код состояния больше 400. Список кодов состояний HTTP см. на странице организации W3.

Возможно, что источник предоставляет значение только для поля EventResultDetails, которое нужно отдельно анализировать для получения значения EventResult.
EventResultDetails Рекомендуется Строка Код состояния HTTP.

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

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

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

Класс 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
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

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

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

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

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

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

Поля сеанса HTTP

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

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

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

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

Пример: 2.0
HttpRequestMethod Рекомендуется Enumerated Метод HTTP. Используются значения, определенные в стандартах RFC 7231 и RFC 5789. Они включают следующие: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE и PATCH.

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

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

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

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

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

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

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

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

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

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

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

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

Пример
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Необязательно SHA512 Для передачи по HTTP это хэш SHA512 отправленного файла.
Hash Псевдоним Псевдоним для доступного поля хэша.
FileHashType Необязательно Enumerated Тип хэша в поле Hash. Возможные значения: MD5, SHA1, SHA256 и SHA512.
FileSize Необязательно Long Для передачи по HTTP это размер (в байтах) отправленного файла.
FileContentType Необязательный Строка Для передачи по HTTP это тип содержимого отправляемого файла.

Другие поля

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

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе: