高级安全信息模型 (ASIM) Web 会话规范化架构参考(公共预览版)

Web 会话规范化架构用于描述 IP 网络活动。 例如,Web 服务器、Web 代理和 Web 安全网关会报告 IP 网络活动。

有关 Microsoft Sentinel 中规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM)

重要

网络规范化架构目前为预览版。 此功能不附带服务级别协议,不建议将其用于生产工作负荷。

Azure 预览版补充条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。

架构概述

Web 会话规范化架构表示任何 HTTP 网络会话,它适合用于为常见的源类型提供支持,这些类型包括:

  • Web 服务器
  • Web 代理
  • Web 安全网关

ASIM Web 会话架构表示 HTTP 和 HTTPS 协议活动。 由于架构表示协议活动,因此它受 RFC 和正式分配的参数列表(本文在适当时会引用这些列表)管制。

Web 会话架构不表示来自源设备的审核事件。 例如,修改 Web 安全网关策略的事件不能由 Web 会话架构来表示。

由于 HTTP 会话是利用 TCP/IP 作为底层网络层会话的应用程序层会话,因此 Web 会话架构是 ASIM 网络会话架构的超集。

Web 会话架构中最重要的字段是:

  • Url,报告客户端从服务器请求的 URL。
  • SrcIpAddr(别名为 IpAddr),表示从其生成请求的 IP 地址。
  • EventResultDetails 字段,通常报告 HTTP 状态代码。

Web 会话事件还可以包括发起请求的用户和进程的用户信息和进程信息。

分析器

有关 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述

统一分析程序

若要使用统一所有 ASIM 现成分析程序的分析程序,并确保分析可在所有配置源上运行,请使用 _Im_WebSession 筛选分析程序或 _ASim_WebSession 无参数分析程序。

你还可以使用工作区部署的 ImWebSessionASimWebSession 分析程序,方法是从 Microsoft Sentinel GitHub 存储库进行部署。 有关详细信息,请参阅内置 ASIM 分析程序和工作区部署的分析程序

特定于源的现成分析程序

有关 Microsoft Sentinel 直接提供的 Web 会话分析程序列表,请参考 ASIM 分析程序列表

添加自己的规范化分析器

为 Web 会话信息模型实现自定义分析程序时,请使用以下语法来命名 KQL 函数:

  • vimWebSession<vendor><Product>(对于参数化分析程序)
  • ASimWebSession<vendor><Product>(对于常规分析程序)

筛选分析程序参数

imvim* 分析程序支持筛选参数。 尽管这些分析程序是可选的,但可使用它们来提高查询性能。

可使用以下筛选参数:

名称 Type 说明
starttime datetime 仅筛选在此时间或之后启动的 Web 会话。
endtime datetime 仅筛选在此时间或之前开始运行的 Web 会话。
srcipaddr_has_any_prefix 动态 仅筛选其源 IP 地址字段前缀位于所列出值之一中的 Web 会话。 值列表可能包括 IP 地址和 IP 地址前缀。 前缀应以 . 结尾,例如:10.0.。 列表的长度限制为 10,000 项。
ipaddr_has_any_prefix 动态 仅筛选其目标 IP 地址字段源 IP 地址字段前缀位于所列出值之一中的网络会话。 前缀应以 . 结尾,例如:10.0.。 列表的长度限制为 10,000 项。

使用值 SrcIpAddrDstIpAddrBoth 之一设置字段 ASimMatchingIpAddr,以反映匹配的字段。
url_has_any 动态 仅筛选其 URL 字段包含所列出的任何值的 Web 会话。 如果源没有报告 URL,分析程序可能会忽略作为参数传递的 URL 架构。 如果指定并且会话不是 Web 会话,则不会返回任何结果。 列表的长度限制为 10,000 项。
httpuseragent_has_any 动态 仅筛选其用户代理字段包含所列出的任何值的 Web 会话。 如果指定并且会话不是 Web 会话,则不会返回任何结果。 列表的长度限制为 10,000 项。
eventresultdetails_in 动态 仅筛选其 HTTP 状态代码(存储在 EventResultDetails 字段中)是列出的任何值的 Web 会话。
eventresult string 仅筛选具有特定 EventResult 值的网络会话。

某些参数可以接受 dynamic 类型的值列表或单个字符串值。 若要将文本列表传递到需要动态值的参数,请显式使用动态文本。 例如:dynamic(['192.168.','10.'])

例如,若要仅筛选指定域名列表的 Web 会话,请使用:

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

架构详细信息

Web 会话信息模型与 OSSEM 网络实体架构OSSEM HTTP 实体架构保持一致。

为了符合行业最佳做法,Web 会话架构使用描述符 Src 和 Dst 来标识会话源和目标设备,且不会在字段名称中包含标记 Dvc。

因此,举例而言,源设备主机名和 IP 地址分别命名为 SrcHostname 和 SrcIpAddr,而不是 SrcDvcHostname 和 SrcDvcIpAddr 。 前缀 Dvc 仅用于报告设备或中间设备(如果适用)。

描述与源和目标设备关联的用户和应用程序的字段也使用 Src 和 Dst 描述符 。

其他 ASIM 架构通常使用 Target 而不是 Dst 。

通用 ASIM 字段

重要

ASIM 通用字段一文详细介绍了所有架构的通用字段。

符合特定准则的通用字段

以下列表提及对 Web 会话事件有特定准则的字段:

字段 类型 说明
EventType 必需 Enumerated 描述记录报告的操作。 允许值包括:
- HTTPsession:表示用于 HTTP 或 HTTPS 的网络会话,通常由中介设备(如代理或 Web 安全网关)报告。
- WebServerSession:表示 Web 服务器报告的 HTTP 请求。 此类事件的网络相关信息通常较少。 报告的 URL 不应包含架构和服务器名称,而是只应包含 URL 的路径和参数部分。
- ApiRequest:表示报告的与 API 调用关联的 HTTP 请求,通常由应用程序服务器报告。 此类事件的网络相关信息通常较少。 由应用程序服务器进行报告时,报告的 URL 不应包含架构和服务器名称,而是只应包含 URL 的路径和参数部分。
EventResult 必需 Enumerated 描述事件结果,规范化为以下值之一:
- Success
- Partial
- Failure
- NA(不适用)

对于 HTTP 会话,Success 定义为低于 400 的状态代码,Failure 定义为高于 400 的状态代码。 有关 HTTP 状态代码的列表,请参阅 W3 Org

源可以只提供“EventResultDetails”字段的值,必须分析该字段才能获取“EventResult”值。
EventResultDetails 建议 字符串 HTTP 状态代码。

注意:可以在源记录中使用不同字词提供该值,这些字词应规范化为这些值。 原始值应存储在 EventOriginalResultDetails 字段中。
EventSchema 必需 字符串 此处所述的架构名称为 WebSession
EventSchemaVersion 必需 字符串 架构的版本。 此处记录的架构版本为 0.2.6
Dvc 字段 对于 Web 会话事件,设备字段引用报告 Web 会话事件的系统。 这通常是 HTTPSession 事件的中介设备,以及 WebServerSessionApiRequest 事件的目标 Web 或应用程序服务器。

所有通用字段

下表中显示的字段是所有 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 作为底层网络层会话的应用程序层会话。 Web 会话架构是 ASIM 网络会话架构的超集,且所有网络架构字段也包含在 Web 会话架构中。

以下 ASIM 网络会话架构字段在用于 Web 会话事件时具有特定准则:

  • 别名 User 应引用 SrcUsername 而不是 DstUsername
  • 除了存储在 EventResultDetails 中的 HTTP 状态代码之外,字段 EventOriginalResultDetails 还可以保存源所报告的任何结果。
  • 对于 Web 会话,主要目标字段是 Url 字段DstDomain 是可选的,而不是建议的。 具体而言,如果不提供该字段,则无需从分析程序中的 URL 提取它。
  • 字段 NetworkRuleNameNetworkRuleNumber 被分别重命名为 RuleNameRuleNumber

Web 会话事件通常由中间设备报告,这些设备会终止来自客户端的 HTTP 连接,并与服务器发起新连接(充当代理)。 若要表示中间设备,请使用 ASIM 网络会话架构 中间设备字段

HTTP 会话字段

下面是特定于 Web 会话的其他字段:

字段 类型 说明
Url 必需 字符串 HTTP 请求 URL,包括参数。 对于 HTTPSession 事件,URL 可能包含架构,并且应包含服务器名称。 对于 WebServerSessionApiRequest,URL 通常不包含架构和服务器(可以分别在 NetworkApplicationProtocolDstFQDN 字段中找到它们)。

示例:https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory 可选 String URL 的已定义分组,或 URL 的域部分。 类别通常由 Web 安全网关提供,基于 URL 指向的站点的内容。

示例:搜索引擎、成人、新闻、广告和停靠域。
UrlOriginal 可选 String URL 的原始值(如果报告设备修改了 URL,并且已提供这两个值)。
HttpVersion 可选 String HTTP 请求版本。

示例:2.0
HttpRequestMethod 建议 Enumerated HTTP 方法。 这些值已在 RFC 7231RFC 5789 中定义,包括 GETHEADPOSTPUTDELETECONNECTOPTIONSTRACEPATCH

示例:GET
HttpStatusCode Alias HTTP 状态代码。 EventResultDetails 的别名。
HttpContentType 可选 String HTTP 响应内容类型标头。

注意:HttpContentType 字段可以包含内容格式和额外参数,例如用于获取实际格式的编码。

示例:text/html; charset=ISO-8859-4
HttpContentFormat 可选 String HttpContentType 的内容格式部分

示例:text/html
HttpReferrer 可选 String HTTP 引用器标头。

注意:与 OSSEM 同步的 ASIM 为引用网站使用正确的拼写方式,而不使用原始 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 可选 整数 将请求发送到服务器所花费的时间,以毫秒为单位(如果适用)。

示例:700
HttpResponseTime 可选 整数 在服务器中接收响应所花费的时间,以毫秒为单位(如果适用)。

示例:800
HttpHost 可选 String HTTP 请求所面向的虚拟 Web 服务器。 此值通常基于 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 Alias 别名化为可用 Hash 字段。
FileHashType 可选 Enumerated Hash 字段中的哈希类型。 可能的值包括:MD5SHA1SHA256SHA512
FileSize 可选 Long 对于 HTTP 上传,该字段表示上传文件的大小(以字节为单位)。
FileContentType 可选 String 对于 HTTP 上传,该字段表示上传文件的内容类型。

其他字段

如果事件由 Web 会话的某个终结点报告,则它可以包含有关发起或终止了该会话的进程的信息。 在这种情况下,可以使用 ASIM 进程事件架构来规范化此信息。

架构更新

Web 会话架构依赖于网络会话架构。 因此,网络会话架构更新也适用于 Web 会话架构。

下面是架构版本 0.2.5 中的更改:

  • 添加了字段 HttpHost

下面是 0.2.6 版架构中的更改:

  • FileSize 的类型已从 Integer 更改为 Long。

后续步骤

有关详细信息,请参阅: