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

Microsoft Sentinel 网络会话规范化架构表示 IP 网络活动,例如网络连接和网络会话。 例如,操作系统、路由器、防火墙和入侵防护系统会报告此类事件。

网络规范化架构可以代表任何类型的 IP 网络会话,但专门设计用于提供对常见源类型的支持,例如 Netflow、防火墙和入侵防御系统。

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

本文介绍网络规范化架构版本 0.2.x。 版本 0.1 是在 ASIM 推出之前发布的,在某些方面与 ASIM 不相符。 有关详细信息,请参阅网络规范化架构版本之间的差异

重要

网络规范化架构目前为预览版。 服务级别协议未随此功能一起提供。 建议不要将它用于生产工作负载。

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

分析器

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

统一分析程序

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

你还可以使用工作区部署的 ImNetworkSessionASimNetworkSession 分析程序,方法是从 Microsoft Sentinel GitHub 存储库进行部署。

有关详细信息,请参阅内置 ASIM 分析程序和工作区部署的分析程序

特定于源的现成分析程序

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

添加自己的规范化分析器

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

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

若要了解如何将自定义分析程序添加到网络会话统一分析程序,请参阅管理 ASIM 分析程序一文。

筛选分析程序参数

网络会话分析程序支持筛选参数。 尽管这些参数是可选的,但它们可以提高查询性能。

可使用以下筛选参数:

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

使用值 SrcIpAddrDstIpAddrBoth 之一设置字段 ASimMatchingIpAddr,以反映匹配的字段。
dstportnumber Int 仅筛选具有指定目标端口号的网络会话。
hostname_has_any dynamic/string 仅筛选其目标主机名字段包含所列出的任何值的网络会话。 列表的长度限制为 10,000 项。

使用值 SrcHostnameDstHostnameBoth 之一设置字段 ASimMatchingHostname,以反映匹配的字段。
dvcaction dynamic/string 仅筛选其设备操作字段为所列出的任何值的网络会话。
eventresult String 仅筛选具有特定 EventResult 值的网络会话。

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

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

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

提示

若要将文本列表传递到需要动态值的参数,请显式使用动态文本。 例如:dynamic(['192.168.','10.'])

规范化内容

有关使用规范化 DNS 事件的完整分析规则列表,请参阅会话安全内容

架构概述

网络会话信息模型符合 OSSEM 网络实体架构

网络会话架构提供多种类型的相似但不同的方案,这些方案共用相同的字段。 这些方案由 EventType 字段标识:

  • NetworkSession - 由监视网络的中间设备(例如防火墙、路由器或网络终端接入点)报告的网络会话。
  • L2NetworkSession - 只有第 2 层信息的网络会话。 此类事件将包括 MAC 地址,但不包括 IP 地址。
  • Flow - 报告多个类似网络会话的聚合事件,通常在预定义的时间段内,例如“Netflow”事件。
  • EndpointNetworkSession - 由会话的终结点之一(包括客户端和服务器)报告的网络会话。 对于此类事件,架构支持 remotelocal 别名字段。
  • IDS - 报告为可疑的网络会话。 此类事件将填充一些检查字段,并且可能只填充一个 IP 地址字段(源或目标)。

通常,查询应仅选择这些事件类型的一部分,并且可能需要单独处理用例一些特定的方面。 例如,IDS 事件不能反映整个网络卷,在基于列的分析中不应予以考虑。

网络会话事件使用描述符 SrcDst 来表示参与会话的设备以及相关用户和应用程序的角色。 因此,例如源设备主机名和 IP 地址分别被命名为 SrcHostnameSrcIpAddr。 其他 ASIM 架构通常使用 Target 而不是 Dst

对于终结点报告的事件以及事件类型为 EndpointNetworkSession 的事件,描述符 LocalRemote 将分别表示终结点本身和网络会话的另一端上的设备。

描述符 Dvc 用于报告设备,对于终结点报告的会话,它是本地系统,对于其他网络会话事件,它是中间设备或网络 TAP。

架构详细信息

通用 ASIM 字段

重要

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

符合特定准则的通用字段

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

字段 类型 说明
EventCount 必需 Integer Netflow 源支持聚合,EventCount 字段应设置为 Netflow FLOWS 字段的值。 对于其他源,该值通常设置为 1
EventType 必需 Enumerated 描述记录报告的方案。

对于网络会话记录,允许的值为:
- EndpointNetworkSession
- NetworkSession
- L2NetworkSession
- IDS
- Flow

有关事件类型的详细信息,请参阅架构概述
EventSubType 可选 字符串 事件类型的附加说明(如果适用)。
对于网络会话记录,支持的值包括:
- Start
- End

此字段与 Flow 事件无关。
EventResult 必需 Enumerated 如果源设备不提供事件结果,则 EventResult 应基于 DvcAction 的值。 如果 DvcActionDenyDropDrop ICMPResetReset SourceReset Destination
,则 EventResult 应为 Failure。 否则,EventResult 应为 Success
EventResultDetails 建议 Enumerated EventResult 字段中报告的结果的原因或详细信息。 支持的值是:
- 故障转移
- TCP 无效
- 隧道无效
- 最大重试次数
- 重置
- 路由问题
- 模拟
- 已终止
- 超时
- 暂时性错误
- 未知
- 不可用。

原始的、特定于源的值存储在 EventOriginalResultDetails 字段中。
EventSchema 必需 字符串 此处所述的架构名称为 NetworkSession
EventSchemaVersion 必需 字符串 架构的版本。 此处所述的架构版本为 0.2.6
DvcAction 建议 Enumerated 对网络会话执行的操作。 支持的值是:
- Allow
- Deny
- Drop
- Drop ICMP
- Reset
- Reset Source
- Reset Destination
- Encrypt
- Decrypt
- VPNroute

注意:可以在源记录中使用不同字词提供该值,这些字词应规范化为上述值。 原始值应存储在 DvcOriginalAction 字段中。

示例:drop
EventSeverity 可选 Enumerated 如果源设备不提供事件严重性级别,则 EventSeverity 应基于 DvcAction 的值。 如果 DvcActionDenyDropDrop ICMPResetReset SourceReset Destination
,EventSeverity 应为 Low。 否则,EventSeverity 应为 Informational
DvcInterface DvcInterface 字段应为 DvcInboundInterfaceDvcOutboundInterface 字段的别名。
Dvc 字段 对于网络会话事件,设备字段引用报告网络会话事件的系统。

所有通用字段

下表中显示的字段是所有 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

网络会话字段

字段 类型 描述
NetworkApplicationProtocol 可选 String 连接或会话使用的应用程序层协议。 该值应全部大写。

示例: FTP
NetworkProtocol 可选 Enumerated 连接或会话使用的 IP 协议,在 IANA 协议分配中列出,通常为 TCPUDPICMP

示例:TCP
NetworkProtocolVersion 可选 Enumerated NetworkProtocol 的版本。 使用它区分 IP 版本时,使用值 IPv4IPv6
NetworkDirection 可选 Enumerated 连接或会话的方向:

- 对于 EventType NetworkSessionFlowL2NetworkSession,NetworkDirection 表示相对于组织或云环境边界的方向。 支持的值包括 InboundOutboundLocal(对组织)、External(对组织)或 NA(不适用)。

- 对于 EventType EndpointNetworkSession,NetworkDirection 表示相对于终结点的方向。 支持的值包括 InboundOutboundLocal(对系统)、ListenNA(不适用)。 Listen 值指示设备已开始接受网络连接,但实际上不一定已连接。
NetworkDuration 可选 整数 完成网络会话或连接所花费的时间,以毫秒为单位。

示例: 1500
持续时间 Alias NetworkDuration 的别名。
NetworkIcmpType 可选 字符串 对于 ICMP 消息,是指与数值关联的 ICMP 类型名称,如 RFC 2780(适用于 IPv4 网络连接)或 RFC 4443(适用于 IPv6 网络连接)中所述。

示例:适用于 NetworkIcmpCode 3Destination Unreachable
NetworkIcmpCode 可选 整数 对于 ICMP 消息,该字段表示 RFC 2780(适用于 IPv4 网络连接)或 RFC 4443(适用于 IPv6 网络连接)中所述的 ICMP 代码编号。
NetworkConnectionHistory 可选 String TCP 标志和其他潜在的 IP 标头信息。
DstBytes 建议 Long 从连接或会话的目标发送到源的字节数。 如果聚合了事件,则 DstBytes 应为所有聚合会话的总和。

示例:32455
SrcBytes 建议 Long 从连接或会话的源发送到目标的字节数。 如果聚合了事件,则 SrcBytes 应为所有聚合会话的总和。

示例:46536
NetworkBytes 可选 Long 双向发送的字节数。 如果 BytesReceived 和 BytesSent 都存在,则 BytesTotal 应等于它们的总和 。 如果聚合了事件,则 NetworkBytes 应为所有聚合会话的总和。

示例:78991
DstPackets 可选 Long 从连接或会话的目标发送到源的数据包数。 数据包的含义由报告设备定义。 如果聚合了事件,则 DstPackets 应为所有聚合会话的总和。

示例:446
SrcPackets 可选 Long 从连接或会话的源发送到目标的数据包数。 数据包的含义由报告设备定义。 如果聚合了事件,则 SrcPackets 应为所有聚合会话的总和。

示例:6478
NetworkPackets 可选 Long 双向发送的数据包数。 如果 PacketsReceived 和 PacketsSent 都存在,则 BytesTotal 应等于它们的总和 。 数据包的含义由报告设备定义。 如果聚合了事件,则 NetworkPackets 应为所有聚合会话的总和。

示例:6924
NetworkSessionId 可选 string 报告设备报告的会话标识符。

示例:172\_12\_53\_32\_4322\_\_123\_64\_207\_1\_80
SessionId Alias 字符串 NetworkSessionId 的别名。
TcpFlagsAck 可选 Boolean 报告的 TCP ACK 标志。 确认标志用于确认成功接收数据包。 如上图所示,接收方在三向握手过程中的第二步发送 ACK 和 SYN,以告知发送方它收到了其初始数据包。
TcpFlagsFin 可选 Boolean 报告的 TCP FIN 标志。 已完成标志表示没有来自发送方的更多数据。 因此,它在从发送方发送的最后一个数据包中使用。
TcpFlagsSyn 可选 Boolean 报告的 TCP SYN 标志。 同步标志用作在两台主机之间建立三向握手的第一步。 只有来自发送方和接收方的第一个数据包才应设置此标志。
TcpFlagsUrg 可选 Boolean 报告的 TCP URG 标志。 紧急标志用于通知接收方在处理所有其他数据包之前处理紧急数据包。 收到所有已知紧急数据后,接收方会收到通知。 有关更多详细信息,请参阅 RFC 6093
TcpFlagsPsh 可选 Boolean 报告的 TCP PSH 标志。 推送标志类似于 URG 标志,会告知接收方在接收数据包时处理这些数据包,而不是缓冲它们。
TcpFlagsRst 可选 Boolean 报告的 TCP RST 标志。 当数据包发送到不应收到数据包的特定主机时,重置标志会从接收方发送到发送方。
TcpFlagsEce 可选 Boolean 报告的 TCP ECE 标志。 此标志负责指示 TCP 对等方是否支持 ECN。 有关更多详细信息,请参阅 RFC 3168
TcpFlagsCwr 可选 Boolean 报告的 TCP CWR 标志。 发送主机使用拥塞窗口减少标志指示它收到的数据包设置了 ECE 标志。 有关更多详细信息,请参阅 RFC 3168
TcpFlagsNs 可选 Boolean 报告的 TCP NS 标志。 nonce 总和标志仍然是试验性标志,用于帮助防止来自发送方的数据包意外恶意隐藏。 有关更多详细信息,请参阅 RFC 3540

目标系统字段

字段 类型 说明
Dst 建议 Alias 接收 DNS 请求的服务器的唯一标识符。

此字段又可称为 DstDvcIdDstHostnameDstIpAddr 字段。

示例: 192.168.12.1
DstIpAddr 建议 IP 地址 连接或会话目标的 IP 地址。 如果会话使用网络地址转换,则 DstIpAddr 是公开可见的地址,而不是存储在 DstNatIpAddr 中的源的原始地址

示例:2001:db8::ff00:42:8329

注意:如果指定了 DstHostname,则此值是必需的。
DstPortNumber 可选 整数 目标 IP 端口。

示例:443
DstHostname 建议 主机名 目标设备主机名,不包括域信息。 如果没有可用的设备名称,请在此字段中存储相关的 IP 地址。

示例: DESKTOP-1282V4D
DstDomain 建议 字符串 目标设备的域。

示例:Contoso
DstDomainType 条件逻辑 Enumerated DstDomain 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DomainType

如果使用了 DstDomain,则该字段是必填的。
DstFQDN 可选 String 目标设备主机名,包括域信息(如果可用)。

示例:Contoso\DESKTOP-1282V4D

注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 DstDomainType 反映使用的格式。
DstDvcId 可选 字符串 目标设备的 ID。 如果有多个可用的 ID,请使用最重要的一个,并将其他 ID 存储在字段 DstDvc<DvcIdType> 中。

示例:ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId 可选 String 设备所属的云平台范围 ID。 DstDvcScopeId 映射到 Azure 上的订阅 ID。
DstDvcScope 可选 String 设备所属的云平台范围。 DstDvcScope 映射到 Azure 上的订阅 ID。
DstDvcIdType 条件逻辑 Enumerated DstDvcId 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DvcIdType

如果使用了 DstDeviceId,则该字段是必填的。
DstDeviceType 可选 Enumerated 目标设备的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DeviceType
DstZone 可选 String 目标的网络区域,由报告设备定义。

示例:Dmz
DstInterfaceName 可选 字符串 由目标设备用来建立连接或会话的网络接口。

示例:Microsoft Hyper-V Network Adapter
DstInterfaceGuid 可选 String 在目标设备上使用的网络接口的 GUID。

示例:
46ad544b-eaf0-47ef-
827c-266030f545a6
DstMacAddr 可选 String 由目标设备用来建立连接或会话的网络接口的 MAC 地址。

示例: 06:10:9f:eb:8f:14
DstVlanId 可选 String 与目标设备相关的 VLAN ID。

示例: 130
OuterVlanId 可选 Alias DstVlanId 的别名。

在许多情况下,VLAN 不能被确定为源或目标,而是被描述为内部或外部。 此别名表示当 VLAN 被描述为外部时应使用 DstVlanId
DstSubscriptionId 可选 String 目标设备所属的云平台订阅 ID。 DstSubscriptionId 映射到 Azure 上的订阅 ID。
DstGeoCountry 可选 国家/地区 与目标 IP 地址关联的国家/地区。 有关详细信息,请参阅逻辑类型
DstGeoRegion 可选 区域 与目标 IP 地址关联的区域或省/自治区/直辖市。 有关详细信息,请参阅逻辑类型
DstGeoCity 可选 城市 与目标 IP 地址关联的城市。 有关详细信息,请参阅逻辑类型
DstGeoLatitude 可选 纬度 与目标 IP 地址关联的地理坐标的纬度。 有关详细信息,请参阅逻辑类型

示例:44.475833
DstGeoLongitude 可选 经度 与目标 IP 地址关联的地理坐标的经度。 有关详细信息,请参阅逻辑类型

示例:73.211944

目标用户字段

字段 类型 说明
DstUserId 可选 String 目标用户的计算机可读的唯一字母数字表示形式。 有关不同 ID 类型的受支持格式,请参阅用户实体

示例: S-1-12
DstUserScope 可选 字符串 在其中定义了 DstUserIdDstUsername 的范围,例如 Microsoft Entra 租户。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope
DstUserScopeId 可选 字符串 在其中定义了 DstUserIdDstUsername 的范围 ID,例如 Microsoft Entra Directory ID。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScopeId
DstUserIdType 条件逻辑 UserIdType DstUserId 字段中存储的 ID 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UserIdType
DstUsername 可选 String 目标用户名,包括域信息(如果可用)。 有关不同 ID 类型的受支持格式,请参阅用户实体。 仅当未提供域信息时才使用简单格式。

DstUsernameType 字段中存储用户名类型。 如果其他用户名格式可用,请将其存储在字段 DstUsername<UsernameType> 中。

示例: AlbertE
User Alias DstUsername 的别名。
DstUsernameType 条件逻辑 UsernameType 指定 DstUsername 字段中存储的用户名的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UsernameType

示例: Windows
DstUserType 可选 UserType 目标用户的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UserType

注意:可以在源记录中使用不同字词提供该值,这些字词应规范化为上述值。 在 DstOriginalUserType 字段中存储原始值。
DstOriginalUserType 可选 String 原始目标用户类型(如果源已提供)。

目标应用程序字段

字段 类型 说明
DstAppName 可选 字符串 目标应用程序的名称。
DstAppId 可选 字符串 目标应用程序的 ID,由报告设备报告。如果 DstAppTypeProcess,则 DstAppIdDstProcessId 应具有相同值。

示例: 124
DstAppType 可选 AppType 目标应用程序的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 AppType

如果使用了 DstAppNameDstAppId,则此字段是必填的。
DstProcessName 可选 字符串 终止网络会话的进程的文件名。 此名称通常被视为进程名称。

示例: C:\Windows\explorer.exe
处理 Alias DstProcessName 的别名

示例: C:\Windows\System32\rundll32.exe
DstProcessId 可选 字符串 终止网络会话的进程的进程 ID (PID)。

示例: 48610176

注意:类型定义为“字符串”以支持不同的系统,但在 Windows 和 Linux 上,此值必须是数字。

如果使用的是 Windows 或 Linux 计算机并使用了其他类型,请务必转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
DstProcessGuid 可选 字符串 终止网络会话的进程的所生成唯一标识符 (GUID)。

示例: EF3BD0BD-2B74-60C5-AF5C-010000001E00

源系统字段

字段 类型 说明
Src Alias 目标设备的唯一标识符。

此字段又可称为 SrcDvcIdSrcHostnameSrcIpAddr 字段。

示例: 192.168.12.1
SrcIpAddr 建议 IP 地址 从中发起了连接或会话的 IP 地址。 如果指定了 SrcHostname,则此值是必需的。 如果会话使用网络地址转换,则 SrcIpAddr 是公开可见的地址,而不是存储在 SrcNatIpAddr 中的源的原始地址

示例:77.138.103.108
SrcPortNumber 可选 整数 从中发起了连接的 IP 端口。 可能与包含多个连接的会话无关。

示例: 2335
SrcHostname 建议 主机名 源设备主机名,不包括域信息。 如果没有可用的设备名称,请在此字段中存储相关的 IP 地址。

示例: DESKTOP-1282V4D
SrcDomain 建议 字符串 源设备的域。

示例: Contoso
SrcDomainType 条件逻辑 DomainType SrcDomain 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DomainType

如果使用了 SrcDomain,则该字段是必填的。
SrcFQDN 可选 String 源设备主机名,包括域信息(如果可用)。

注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 SrcDomainType 字段反映使用的格式。

示例: Contoso\DESKTOP-1282V4D
SrcDvcId 可选 String 源设备的 ID。 如果有多个可用的 ID,请使用最重要的一个,将其他 ID 存储在字段中 SrcDvc<DvcIdType>

示例: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId 可选 String 设备所属的云平台范围 ID。 SrcDvcScopeId 映射到 Azure 上的订阅 ID。
SrcDvcScope 可选 String 设备所属的云平台范围。 SrcDvcScope 映射到 Azure 上的订阅 ID。
SrcDvcIdType 条件逻辑 DvcIdType SrcDvcId 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DvcIdType

注意:如果使用了 SrcDvcId,则此字段是必填的。
SrcDeviceType 可选 DeviceType 源设备的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 DeviceType
SrcZone 可选 字符串 源的网络区域,由报告设备定义。

示例:Internet
SrcInterfaceName 可选 String 由源设备用来建立连接或会话的网络接口。

示例:eth01
SrcInterfaceGuid 可选 String 在源设备上使用的网络接口的 GUID。

示例:
46ad544b-eaf0-47ef-
827c-266030f545a6
SrcMacAddr 可选 字符串 从中发起了连接或会话的网络接口的 MAC 地址。

示例: 06:10:9f:eb:8f:14
SrcVlanId 可选 String 与源设备相关的 VLAN ID。

示例: 130
InnerVlanId 可选 Alias SrcVlanId 的别名。

在许多情况下,VLAN 不能被确定为源或目标,而是被描述为内部或外部。 此别名表示当 VLAN 被描述为内部时应使用 VlanId
SrcSubscriptionId 可选 String 源设备所属的云平台订阅 ID。 SrcSubscriptionId 映射到 Azure 上的订阅 ID。
SrcGeoCountry 可选 国家/地区 与源 IP 地址关联的国家/地区。
SrcGeoRegion 可选 区域 与源 IP 地址关联的区域。
SrcGeoCity 可选 城市 与源 IP 地址关联的城市。
SrcGeoLatitude 可选 纬度 与源 IP 地址关联的地理坐标的纬度。

示例:44.475833
SrcGeoLongitude 可选 经度 与源 IP 地址关联的地理坐标的经度。

示例:73.211944

源用户字段

字段 类型 说明
SrcUserId 可选 String 源用户的计算机可读的唯一字母数字表示形式。 有关不同 ID 类型的受支持格式,请参阅用户实体

示例: S-1-12
SrcUserScope 可选 字符串 在其中定义了 SrcUserIdSrcUsername 的范围,例如 Microsoft Entra 租户。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope
SrcUserScopeId 可选 字符串 在其中定义了 SrcUserIdSrcUsername 的范围 ID,例如 Microsoft Entra Directory ID。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScopeId
SrcUserIdType 条件逻辑 UserIdType SrcUserId 字段中存储的 ID 的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UserIdType
SrcUsername 可选 字符串 源用户名,包括域信息(如果可用)。 有关不同 ID 类型的受支持格式,请参阅用户实体。 仅当未提供域信息时才使用简单格式。

SrcUsernameType 字段中存储用户名类型。 如果其他用户名格式可用,请将其存储在字段 SrcUsername<UsernameType> 中。

示例: AlbertE
SrcUsernameType 条件逻辑 UsernameType 指定 SrcUsername 字段中存储的用户名的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UsernameType

示例: Windows
SrcUserType 可选 UserType 源用户的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 UserType

注意:可以在源记录中使用不同字词提供该值,这些字词应规范化为上述值。 在 SrcOriginalUserType 字段中存储原始值。
SrcOriginalUserType 可选 String 原始目标用户类型(如果报告设备已提供)。

源应用程序字段

字段 类型 说明
SrcAppName 可选 String 源应用程序的名称。

示例:filezilla.exe
SrcAppId 可选 字符串 源应用程序的 ID(由报告设备报告)。 如果 SrcAppTypeProcess,则 SrcAppIdSrcProcessId 应具有相同值。

示例: 124
SrcAppType 可选 AppType 源应用程序的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 AppType

如果使用了 SrcAppNameSrcAppId,则此字段是必填的。
SrcProcessName 可选 字符串 发起网络会话的进程的文件名。 此名称通常被视为进程名称。

示例: C:\Windows\explorer.exe
SrcProcessId 可选 字符串 发起网络会话的进程的进程 ID (PID)。

示例: 48610176

注意:类型定义为“字符串”以支持不同的系统,但在 Windows 和 Linux 上,此值必须是数字。

如果使用的是 Windows 或 Linux 计算机并使用了其他类型,请务必转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。
SrcProcessGuid 可选 字符串 发起网络会话的进程的所生成唯一标识符 (GUID)。

示例: EF3BD0BD-2B74-60C5-AF5C-010000001E00

本地和远程别名

对于上面列出的所有源和目标字段,可以根据具有相同名称和描述符 LocalRemote 的字段以可选方式为其提供别名。 这对于终结点报告的事件以及事件类型为 EndpointNetworkSession 的事件通常很有用。

对于此类事件,描述符 LocalRemote 将分别表示终结点本身和网络会话的另一端上的设备。 对于入站连接,本地系统是目标,Local 字段是 Dst 字段的别名,“Remote”字段是 Src 字段的别名。 相反,对于出站连接,本地系统是源,Local 字段是 Src 字段的别名,Remote 字段是 Dst 字段的别名。

例如,对于入站事件,字段 LocalIpAddrDstIpAddr 的别名,字段 RemoteIpAddrSrcIpAddr 的别名。

主机名和 IP 地址别名

字段 类型 说明
Hostname Alias - 如果事件类型为 NetworkSessionFlowL2NetworkSession,则 Hostname 是 DstHostname 的别名。
- 如果事件类型为 EndpointNetworkSession,则 Hostname 是 RemoteHostname 的别名,后者可以是 DstHostnameSrcHostName 的别名,具体取决于 NetworkDirection
IpAddr Alias - 如果事件类型为 NetworkSessionFlowL2NetworkSession,则 IpAddr 是 SrcIpAddr 的别名。
- 如果事件类型为 EndpointNetworkSession,则 IpAddr 是 LocalIpAddr 的别名,后者可以是 SrcIpAddrDstIpAddr 的别名,具体取决于 NetworkDirection

中间设备和网络地址转换 (NAT) 字段

如果记录包含有关用于中继网络会话的中间设备(例如防火墙或代理)的信息,则以下字段非常有用。

中间系统通常使用地址转换,因此原始地址和在外部观察到的地址是不同的。 在这种情况下,主地址字段(如 SrcIPAddrDstIpAddr)表示在外部观察到的地址,而 NAT 地址字段 SrcNatIpAddrDstNatIpAddr 表示转换之前原始设备的内部地址。

字段 类型 说明
DstNatIpAddr 可选 IP 地址 DstNatIpAddr 表示以下任一项:
- 目标设备的原始地址(如果使用了网络地址转换)。
- 中间设备用于与源通信的 IP 地址。

示例:2::1
DstNatPortNumber 可选 整数 如果中间 NAT 设备报告了该值,则该值是由 NAT 设备用来与源通信的端口。

示例:443
SrcNatIpAddr 可选 IP 地址 SrcNatIpAddr 表示以下任一项:
- 源设备的原始地址(如果使用了网络地址转换)。
- 中间设备用于与目标通信的 IP 地址。

示例:4.3.2.1
SrcNatPortNumber 可选 整数 如果中间 NAT 设备报告了该值,则该值是由 NAT 设备用来与目标通信的端口。

示例:345
DvcInboundInterface 可选 字符串 如果中间设备报告了该值,则该值是由 NAT 设备用来连接到源设备的网络接口。

示例:eth0
DvcOutboundInterface 可选 String 如果中间设备报告了该值,则该值是由 NAT 设备用来连接到目标设备的网络接口。

示例:Ethernet adapter Ethernet 4e

检查字段

以下字段用于表示安全设备(例如防火墙、IPS 或 Web 安全网关)执行的检查:

字段 类型 说明
NetworkRuleName 可选 字符串 确定 DvcAction 时所依据的规则的名称或 ID。

示例:AnyAnyDrop
NetworkRuleNumber 可选 整数 确定 DvcAction 时所依据的规则的编号。

示例:23
规则 Alias 字符串 NetworkRuleName 的值或 NetworkRuleNumber 的值。 如果使用 NetworkRuleNumber 的值,则类型应转换为字符串。
ThreatId 可选 String 在网络会话中识别到的威胁或恶意软件的 ID。

示例:Tr.124
ThreatName 可选 String 在网络会话中识别到的威胁或恶意软件的名称。

示例:EICAR Test File
ThreatCategory 可选 字符串 在网络会话中识别到的威胁或恶意软件的类别。

示例:Trojan
ThreatRiskLevel 可选 整数 与会话关联的风险级别。 级别应是介于 0 和 100 之间的数字。

注意:可以在源记录中使用不同的标度提供值,而使用的标度应规范化为此标度。 原始值应存储在 ThreatRiskLevelOriginal 中。
ThreatOriginalRiskLevel 可选 String 报告设备报告的风险级别。
ThreatIpAddr 可选 IP 地址 已识别出威胁的 IP 地址。 字段 ThreatField 包含 ThreatIpAddr 表示的字段的名称。
ThreatField 条件逻辑 Enumerated 已识别出威胁的字段。 该值为 SrcIpAddrDstIpAddr
ThreatConfidence 可选 整数 已识别威胁的可信度,规范化为 0 到 100 之间的值。
ThreatOriginalConfidence 可选 字符串 报告设备报告的已识别威胁的原始可信度。
ThreatIsActive 可选 Boolean 如果已识别的威胁被视为活动威胁,则为 True。
ThreatFirstReportedTime 可选 datetime IP 地址或域首次被识别为威胁的时间。
ThreatLastReportedTime 可选 datetime 上次将 IP 地址或域识别为威胁的时间。

其他字段

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

架构更新

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

  • 向源和目标系统的前导标识符添加了 SrcDst 作为别名。
  • 添加了字段 NetworkConnectionHistorySrcVlanIdDstVlanIdInnerVlanIdOuterVlanId

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

  • 添加了 RemoteLocal 别名。
  • 添加了事件类型 EndpointNetworkSession
  • 当事件类型为 EndpointNetworkSession 时,已分别将 HostnameIpAddr 定义为 RemoteHostnameLocalIpAddr 的别名。
  • 已将 DvcInterface 定义为 DvcInboundInterfaceDvcOutboundInterface 的别名。
  • 已将以下字段的类型从 Integer 更改为 Long:SrcBytesDstBytesNetworkBytesSrcPacketsDstPacketsNetworkPackets
  • 添加了字段 NetworkProtocolVersionSrcSubscriptionIdDstSubscriptionId
  • 弃用了 DstUserDomainSrcUserDomain

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

  • 添加了 ipaddr_has_any_prefix 筛选参数。
  • hostname_has_any 筛选参数现在与源或目标主机名匹配。
  • 添加了字段 ASimMatchingHostnameASimMatchingIpAddr

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

  • 添加了 TcpFlags 字段。
  • 更新了 NetworkIcpmTypeNetworkIcmpCode 以反映两者的数字值。
  • 添加了其他检查字段。
  • 字段“ThreatRiskLevelOriginal”已重命名为 ThreatOriginalRiskLevel 以符合 ASIM 约定。 现有 Microsoft 分析程序会维持 ThreatRiskLevelOriginal,直到 2023 年 5 月 1 日。
  • EventResultDetails 标记为建议,并指定了允许值。

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

  • 添加了字段 DstUserScopeSrcUserScopeSrcDvcScopeIdSrcDvcScopeDstDvcScopeIdDstDvcScopeDvcScopeIdDvcScope

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

  • 增加了 IDS 作为事件类型

后续步骤

有关详细信息,请参阅: