高级安全信息模型 (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
无参数分析程序。
你还可以使用工作区部署的 ImNetworkSession
和 ASimNetworkSession
分析程序,方法是从 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 项。使用值 SrcIpAddr 、DstIpAddr 或 Both 之一设置字段 ASimMatchingIpAddr,以反映匹配的字段。 |
dstportnumber | Int | 仅筛选具有指定目标端口号的网络会话。 |
hostname_has_any | dynamic/string | 仅筛选其目标主机名字段包含所列出的任何值的网络会话。 列表的长度限制为 10,000 项。 使用值 SrcHostname 、DstHostname 或 Both 之一设置字段 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
- 由会话的终结点之一(包括客户端和服务器)报告的网络会话。 对于此类事件,架构支持remote
和local
别名字段。IDS
- 报告为可疑的网络会话。 此类事件将填充一些检查字段,并且可能只填充一个 IP 地址字段(源或目标)。
通常,查询应仅选择这些事件类型的一部分,并且可能需要单独处理用例一些特定的方面。 例如,IDS 事件不能反映整个网络卷,在基于列的分析中不应予以考虑。
网络会话事件使用描述符 Src
和 Dst
来表示参与会话的设备以及相关用户和应用程序的角色。 因此,例如源设备主机名和 IP 地址分别被命名为 SrcHostname
和 SrcIpAddr
。 其他 ASIM 架构通常使用 Target
而不是 Dst
。
对于终结点报告的事件以及事件类型为 EndpointNetworkSession
的事件,描述符 Local
和 Remote
将分别表示终结点本身和网络会话的另一端上的设备。
描述符 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 的值。 如果 DvcAction 为 Deny 、Drop 、Drop ICMP 、Reset 、Reset Source 或 Reset 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 的值。 如果 DvcAction 为 Deny 、Drop 、Drop ICMP 、Reset 、Reset Source 或 Reset Destination ,EventSeverity 应为 Low 。 否则,EventSeverity 应为 Informational 。 |
DvcInterface | DvcInterface 字段应为 DvcInboundInterface 或 DvcOutboundInterface 字段的别名。 | ||
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 协议分配中列出,通常为 TCP 、UDP 或 ICMP 。示例: TCP |
NetworkProtocolVersion | 可选 | Enumerated | NetworkProtocol 的版本。 使用它区分 IP 版本时,使用值 IPv4 和 IPv6 。 |
NetworkDirection | 可选 | Enumerated | 连接或会话的方向: - 对于 EventType NetworkSession 、Flow 或 L2NetworkSession ,NetworkDirection 表示相对于组织或云环境边界的方向。 支持的值包括 Inbound 、Outbound 、Local (对组织)、External (对组织)或 NA (不适用)。- 对于 EventType EndpointNetworkSession ,NetworkDirection 表示相对于终结点的方向。 支持的值包括 Inbound 、Outbound 、Local (对系统)、Listen 或 NA (不适用)。 Listen 值指示设备已开始接受网络连接,但实际上不一定已连接。 |
NetworkDuration | 可选 | 整数 | 完成网络会话或连接所花费的时间,以毫秒为单位。 示例: 1500 |
持续时间 | Alias | NetworkDuration 的别名。 | |
NetworkIcmpType | 可选 | 字符串 | 对于 ICMP 消息,是指与数值关联的 ICMP 类型名称,如 RFC 2780(适用于 IPv4 网络连接)或 RFC 4443(适用于 IPv6 网络连接)中所述。 示例:适用于 NetworkIcmpCode 3 和 Destination 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 请求的服务器的唯一标识符。 此字段又可称为 DstDvcId、DstHostname 或 DstIpAddr 字段。 示例: 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 | 可选 | 字符串 | 在其中定义了 DstUserId 和 DstUsername 的范围,例如 Microsoft Entra 租户。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope。 |
DstUserScopeId | 可选 | 字符串 | 在其中定义了 DstUserId 和 DstUsername 的范围 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,由报告设备报告。如果 DstAppType 为 Process ,则 DstAppId 和 DstProcessId 应具有相同值。示例: 124 |
DstAppType | 可选 | AppType | 目标应用程序的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 AppType。 如果使用了 DstAppName 或 DstAppId,则此字段是必填的。 |
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 | 目标设备的唯一标识符。 此字段又可称为 SrcDvcId、SrcHostname 或 SrcIpAddr 字段。 示例: 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 | 可选 | 字符串 | 在其中定义了 SrcUserId 和 SrcUsername 的范围,例如 Microsoft Entra 租户。 有关详细信息和允许值的列表,请参阅架构概述文章中的 UserScope。 |
SrcUserScopeId | 可选 | 字符串 | 在其中定义了 SrcUserId 和 SrcUsername 的范围 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(由报告设备报告)。 如果 SrcAppType 为 Process ,则 SrcAppId 和 SrcProcessId 应具有相同值。示例: 124 |
SrcAppType | 可选 | AppType | 源应用程序的类型。 有关允许值的列表和更多信息,请参阅架构概述文章中的 AppType。 如果使用了 SrcAppName 或 SrcAppId,则此字段是必填的。 |
SrcProcessName | 可选 | 字符串 | 发起网络会话的进程的文件名。 此名称通常被视为进程名称。 示例: C:\Windows\explorer.exe |
SrcProcessId | 可选 | 字符串 | 发起网络会话的进程的进程 ID (PID)。 示例: 48610176 注意:类型定义为“字符串”以支持不同的系统,但在 Windows 和 Linux 上,此值必须是数字。 如果使用的是 Windows 或 Linux 计算机并使用了其他类型,请务必转换值。 例如,如果使用了十六进制值,请将其转换为十进制值。 |
SrcProcessGuid | 可选 | 字符串 | 发起网络会话的进程的所生成唯一标识符 (GUID)。 示例: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
本地和远程别名
对于上面列出的所有源和目标字段,可以根据具有相同名称和描述符 Local
和 Remote
的字段以可选方式为其提供别名。 这对于终结点报告的事件以及事件类型为 EndpointNetworkSession
的事件通常很有用。
对于此类事件,描述符 Local
和 Remote
将分别表示终结点本身和网络会话的另一端上的设备。 对于入站连接,本地系统是目标,Local
字段是 Dst
字段的别名,“Remote”字段是 Src
字段的别名。 相反,对于出站连接,本地系统是源,Local
字段是 Src
字段的别名,Remote
字段是 Dst
字段的别名。
例如,对于入站事件,字段 LocalIpAddr
是 DstIpAddr
的别名,字段 RemoteIpAddr
是 SrcIpAddr
的别名。
主机名和 IP 地址别名
字段 | 类 | 类型 | 说明 |
---|---|---|---|
Hostname | Alias | - 如果事件类型为 NetworkSession 、Flow 或 L2NetworkSession ,则 Hostname 是 DstHostname 的别名。- 如果事件类型为 EndpointNetworkSession ,则 Hostname 是 RemoteHostname 的别名,后者可以是 DstHostname 或 SrcHostName 的别名,具体取决于 NetworkDirection |
|
IpAddr | Alias | - 如果事件类型为 NetworkSession 、Flow 或 L2NetworkSession ,则 IpAddr 是 SrcIpAddr 的别名。- 如果事件类型为 EndpointNetworkSession ,则 IpAddr 是 LocalIpAddr 的别名,后者可以是 SrcIpAddr 或 DstIpAddr 的别名,具体取决于 NetworkDirection。 |
中间设备和网络地址转换 (NAT) 字段
如果记录包含有关用于中继网络会话的中间设备(例如防火墙或代理)的信息,则以下字段非常有用。
中间系统通常使用地址转换,因此原始地址和在外部观察到的地址是不同的。 在这种情况下,主地址字段(如 SrcIPAddr 和 DstIpAddr)表示在外部观察到的地址,而 NAT 地址字段 SrcNatIpAddr 和 DstNatIpAddr 表示转换之前原始设备的内部地址。
检查字段
以下字段用于表示安全设备(例如防火墙、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 | 已识别出威胁的字段。 该值为 SrcIpAddr 或 DstIpAddr 。 |
ThreatConfidence | 可选 | 整数 | 已识别威胁的可信度,规范化为 0 到 100 之间的值。 |
ThreatOriginalConfidence | 可选 | 字符串 | 报告设备报告的已识别威胁的原始可信度。 |
ThreatIsActive | 可选 | Boolean | 如果已识别的威胁被视为活动威胁,则为 True。 |
ThreatFirstReportedTime | 可选 | datetime | IP 地址或域首次被识别为威胁的时间。 |
ThreatLastReportedTime | 可选 | datetime | 上次将 IP 地址或域识别为威胁的时间。 |
其他字段
如果事件由网络会话的某个终结点报告,则它可以包含有关发起或终止了该会话的进程的信息。 在这种情况下,使用 ASIM 进程事件架构来规范化此信息。
架构更新
下面是架构版本 0.2.1 中的更改:
- 向源和目标系统的前导标识符添加了
Src
和Dst
作为别名。 - 添加了字段
NetworkConnectionHistory
、SrcVlanId
、DstVlanId
、InnerVlanId
和OuterVlanId
。
下面是架构版本 0.2.2 中的更改:
- 添加了
Remote
和Local
别名。 - 添加了事件类型
EndpointNetworkSession
。 - 当事件类型为
EndpointNetworkSession
时,已分别将Hostname
和IpAddr
定义为RemoteHostname
和LocalIpAddr
的别名。 - 已将
DvcInterface
定义为DvcInboundInterface
或DvcOutboundInterface
的别名。 - 已将以下字段的类型从 Integer 更改为 Long:
SrcBytes
、DstBytes
、NetworkBytes
、SrcPackets
、DstPackets
和NetworkPackets
。 - 添加了字段
NetworkProtocolVersion
、SrcSubscriptionId
和DstSubscriptionId
。 - 弃用了
DstUserDomain
和SrcUserDomain
。
下面是架构版本 0.2.3 中的更改:
- 添加了
ipaddr_has_any_prefix
筛选参数。 hostname_has_any
筛选参数现在与源或目标主机名匹配。- 添加了字段
ASimMatchingHostname
和ASimMatchingIpAddr
。
下面是架构版本 0.2.4 中的更改:
- 添加了
TcpFlags
字段。 - 更新了
NetworkIcpmType
和NetworkIcmpCode
以反映两者的数字值。 - 添加了其他检查字段。
- 字段“ThreatRiskLevelOriginal”已重命名为
ThreatOriginalRiskLevel
以符合 ASIM 约定。 现有 Microsoft 分析程序会维持ThreatRiskLevelOriginal
,直到 2023 年 5 月 1 日。 - 将
EventResultDetails
标记为建议,并指定了允许值。
下面是架构版本 0.2.5 中的更改:
- 添加了字段
DstUserScope
SrcUserScope
、SrcDvcScopeId
、SrcDvcScope
、DstDvcScopeId
、DstDvcScope
、DvcScopeId
和DvcScope
。
下面是 0.2.6 版架构中的更改:
- 增加了 IDS 作为事件类型
后续步骤
有关详细信息,请参阅: