Поделиться через


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

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

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

Общее представление схемы

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

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

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

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

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

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

  • Url, которое включает ULR-адрес, запрашиваемый клиентом у сервера.
  • 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.
endtime 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 строка Фильтровать только сетевые сеансы с определенным значением 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.

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

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

Поле Класс Тип Описание
Тип события Обязательно 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 (ПодробнееEventResultDetails) Рекомендуемая конфигурация Enumerated Статус HTTP-код, определенный Консорциумом Всемирной Паутины

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

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

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

Class Поля
Обязательно - EventCount (Количество событий)
- EventStartTime (Время начала)
- EventEndTime (Время окончания события)
- Тип события
- EventResult (EventResult)
- EventProduct
- EventVendor
- EventSchema (Схема событий)
- EventSchemaVersion (Версия EventSchemaVersion)
- ДВК
Рекомендуемая конфигурация - EventResultDetails (ПодробнееEventResultDetails)
- Серьезность события
- EventUid
- DvcIpAddr
- DvcИмя_хоста
- DvcДомен
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Необязательно - EventMessage (EventMessage)
- Подтип события
- EventOriginalUid
- EventOriginalType (Тип события)
- EventOriginalSubType (Исходный подтип события)
- EventOriginalResultDetails (ИсходныйРезультатПодробности)
- СобытиеОригиналСерьёзность
- EventProductVersion (ВерсияEventProductVersion)
- EventReportUrl (Ссылка на EventReportUrl)
- Владелец мероприятия
- Зона DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- Интерфейс Dvc
- Дополнительные поля
- DvcОписание
- 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 (строка) 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-адреса, если 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 отправленного файла.
Мешанина Псевдоним Псевдоним для доступного поля хэша.
HashType Conditional Enumerated Тип хэша в поле Hash. Возможные значения: MD5, SHA1, SHA256 и SHA512.
FileSize Необязательно Long Для передачи по HTTP это размер (в байтах) отправленного файла.
FileContentType Необязательно Строка Для передачи по HTTP это тип содержимого отправляемого файла.
HttpCookie Необязательно Строка Содержимое заголовка HTTP-файлов cookie, отправляемого с клиента на сервер, содержащего пары данных сессии имя-значение.

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

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

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

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

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

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

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

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

Пример: 15

Другие поля

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

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

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

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

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

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

  • Тип FileSize был изменен с целочисленного на Long.

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

  • Добавлены поля HttpCookie, HttpIsProxied, HttpRequestBodyBytesHttpRequestCacheControlHttpRequestHeaderCountHttpResponseBodyBytesHttpResponseCacheControl, HttpResponseExpiresи .HttpResponseHeaderCount

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

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