统一数据模型使用指南

本文档详细介绍了统一数据模型 (UDM) 架构中的字段,以及基于事件类型的必填字段与选填字段。对于规则引擎评估,前缀以 udm. 开头,而基于配置的标准化程序 (CBN) 前缀则以 event.idm.read_only_udm. 开头。

填充事件元数据

UDM 事件的事件元数据部分会存储每个事件的一般信息。

Metadata.event_type

  • 用途:指定事件的类型;如果事件具有多个可能的类型,则此值必须指定最具体的类型。
  • 必填:是
  • 编码:必须是预定义的 UDM event_type 枚举类型之一。
  • 可能的值:下面列出了 UDM 中 event_type 的所有可能值。

电子邮件事件:

  • EMAIL_TRANSACTION
  • EMAIL_UNCATEGORIZED

在端点上执行的文件事件:

  • FILE_UNCATEGORIZED
  • FILE_CREATION
  • FILE_DELETION
  • FILE_MODIFICATION
  • FILE_READ(例如,读取密码文件)
  • FILE_COPY(例如,将文件复制到 U 盘)
  • FILE_OPEN(例如,打开文件可能表示存在安全事故)

不属于任何其他类别的事件,包括未分类的 Windows 事件。

  • GENERIC_EVENT

互斥(互斥对象)事件:

  • MUTEX_UNCATEGORIZED
  • MUTEX_CREATION

网络遥测,包括原始协议载荷(如 DHCP 和 DNS)以及 HTTP、SMTP 和 FTP 等协议的协议摘要,以及来自 Netflow 和防火墙的流和连接事件。

  • NETWORK_UNCATEGORIZED
  • NETWORK_FLOW(例如来自 Netflow 的汇总流统计信息)
  • NETWORK_CONNECTION(例如来自防火墙的网络连接详细信息)
  • NETWORK_FTP
  • NETWORK_DHCP
  • NETWORK_DNS
  • NETWORK_HTTP
  • NETWORK_SMTP

与进程相关的任何事件,如进程启动、某个进程创建恶意内容、某个进程注入另一个进程、更改注册表项、在磁盘上创建恶意文件等。

  • PROCESS_INJECTION
  • PROCESS_LAUNCH
  • PROCESS_MODULE_LOAD
  • PROCESS_OPEN
  • PROCESS_PRIVILEGE_ESCALATION
  • PROCESS_TERMINATION
  • PROCESS_UNCATEGORIZED

处理 Microsoft Windows 特定注册表事件时,请使用 REGISTRY 事件,而不是 SETTING 事件:

  • REGISTRY_UNCATEGORIZED
  • REGISTRY_CREATION
  • REGISTRY_MODIFICATION
  • REGISTRY_DELETION

面向扫描的事件。包括端点安全产品(EDR、AV、DLP)执行的按需扫描和行为检测。仅在将 SecurityResult 附加到其他事件类型(如 PROCESS_LAUNCH)时使用。

  • SCAN_UNCATEGORIZED
  • SCAN_FILE
  • SCAN_HOST
  • SCAN_PROCESS
  • SCAN_VULN_HOST
  • SCAN_VULN_NETWORK

计划任务事件(Windows 任务调度程序、Cron 等):

  • SCHEDULED_TASK_UNCATEGORIZED
  • SCHEDULED_TASK_CREATION
  • SCHEDULED_TASK_DELETION
  • SCHEDULED_TASK_ENABLE
  • SCHEDULED_TASK_DISABLE
  • SCHEDULED_TASK_MODIFICATION

服务事件:

  • SERVICE_UNSPECIFIED
  • SERVICE_CREATION
  • SERVICE_DELETION
  • SERVICE_START
  • SERVICE_STOP

设置事件,包括端点上的系统设置发生更改的情况。如需了解如何设置事件要求,请参阅此处

  • SETTING_UNCATEGORIZED
  • SETTING_CREATION
  • SETTING_MODIFICATION
  • SETTING_DELETION

来自安全产品的状态消息,用于表明代理处于有效状态,以及发送版本、指纹或其他类型的数据。

  • STATUS_UNCATEGORIZED
  • STATUS_HEARTBEAT(表示产品处于活动状态)
  • STATUS_STARTUP
  • STATUS_SHUTDOWN
  • STATUS_UPDATE(软件或指纹更新)

系统审核日志事件:

  • SYSTEM_AUDIT_LOG_UNCATEGORIZED
  • SYSTEM_AUDIT_LOG_WIPE

用户身份验证活动事件:

  • USER_UNCATEGORIZED
  • USER_BADGE_IN(例如,用户实际登录网站时)
  • USER_CHANGE_PASSWORD
  • USER_CHANGE_PERMISSIONS
  • USER_COMMUNICATION
  • USER_CREATION
  • USER_DELETION
  • USER_LOGIN
  • USER_LOGOUT
  • USER_RESOURCE_ACCESS
  • USER_RESOURCE_CREATION
  • USER_RESOURCE_DELETION
  • USER_RESOURCE_UPDATE_CONTENT
  • USER_RESOURCE_UPDATE_PERMISSIONS

Metadata.collected_timestamp

  • 用途:在事件由供应商的本地收集基础架构收集时对 GMT 时间戳进行编码。
  • 编码:RFC 3339,具体取决于 JSON 或 Proto3 时间戳格式。
  • 示例
    • RFC 3339:“2019-09-10T20:32:31-08:00”
    • Proto3 格式:“2012-04-23T18:25:43.511Z”

Metadata.event_timestamp

  • 用途:在生成事件时对 GMT 时间戳进行编码。
  • 必填:是
  • 编码:RFC 3339,具体取决于 JSON 或 Proto3 时间戳格式。
  • 示例
    • RFC 3339:2019-09-10T20:32:31-08:00
    • Proto3 格式:2012-04-23T18:25:43.511Z

Metadata.description

  • 用途:用户能够看懂的事件说明。
  • 编码:字母数字字符串、允许标点符号,不得超过 1024 个字节
  • 示例:文件 c:\bar\foo.exe 被阻止访问敏感文档 c:\document\earnings.docx。

Metadata.product_event_type

  • 用途:简短、描述性、直观易懂且特定于产品的事件名称或类型。
  • 编码:字母数字字符串、标点符号,最多 64 个字节。
  • 示例
    • 注册表创建事件
    • ProcessRollUp
    • 检测到权限提升
    • 已阻止恶意软件

Metadata.product_log_id

  • 用途:对特定于供应商的事件标识符进行编码,以唯一标识事件 (GUID)。用户可以使用此标识符在供应商的专有控制台中搜索相关事件。
  • 编码:区分大小写、字母数字字符串、标点符号、最多 256 个字节。
  • 示例:ABcd1234-98766

Metadata.product_name

  • 用途:指定商品的名称。
  • 编码:区分大小写、字母数字字符串、标点符号、最多 256 个字节。
  • 示例
    • Falcon
    • Symantec Endpoint Protection

Metadata.product_version

  • 用途:指定商品的版本。
  • 编码:允许使用的字母数字字符串、英文句点和短划线,最多 32 个字节
  • 示例
    • 1.2.3b
    • 10.3:rev1

Metadata.url_back_to_product

  • 用途:链接到相关网站(您可以查看有关此特定事件或一般事件类别的更多信息)的网址。
  • 编码:采用包含可选参数(例如端口信息)的有效 RFC 3986 网址。网址前面必须带有协议前缀(例如 https:// 或 http://)。
  • 示例:https://newco.altostrat.com:8080/event_info?event_id=12345

Metadata.vendor_name

  • 用途:指定产品供应商的名称。
  • 编码:区分大小写、字母数字字符串、标点符号、最多 256 个字节
  • 示例
    • CrowdStrike
    • Symantec

填充名词元数据

在本部分中,Noun一词是用来表示实体的主要术语;NounNounNounNounNounNoun。这些实体具有通用特性,但在事件中表示不同的对象。如需详细了解实体以及每个事件表示的事件,请参阅将日志数据的格式设置为 UDM

Noun.asset_id

  • 用途:供应商专用的唯一设备标识符(例如,在新设备上安装端点安全软件时生成的用于跟踪设备的唯一 GUID)。
  • 编码VendorName.ProductName:ID,其中 VendorName.ProductName:ID 为不区分大小写* *的供应商名称,如“Carbon Black”,VendorName.ProductName:ID 是为不区分大小写的产品名称,例如“Response”或“Endpoint Protection”,ID 为供应商特定的客户标识符,该标识符在客户的环境中是全局唯一的(例如,标识唯一设备的 GUID 或唯一值)。VendorNameProductName 包含字母数字字符且长度不超过 32 个字符。ID 在长度上最多可达 128 个字符,并且可以包含字母数字字符、短划线和英文句点。
  • 示例:CrowdStrike.Falcon:0bce4259-4ada-48f3-a904-9a526b01311f

Noun.email

  • 用途:电子邮件地址
  • 编码:标准电子邮件地址格式。
  • 示例:johns@test.altostrat.com

Noun.file

Noun.hostname

  • 用途:客户端主机名或域名字段。如果存在网址,请勿添加
  • 编码:有效的 RFC 1123 主机名。
  • 示例
    • userwin10
    • www.altostrat.com

Noun.platform

  • 用途:平台操作系统。
  • 编码:枚举
  • 可能的值
    • LINUX
    • MAC
    • WINDOWS
    • UNKNOWN_PLATFORM

Noun.platform_patch_level

  • 用途:平台操作系统补丁程序级别。
  • 编码:含标点符号的字母数字字符串,最多 64 个字符。
  • 示例:Build 17134.48

Noun.platform_version

  • 用途:平台操作系统版本。
  • 编码:含标点符号的字母数字字符串,最多 64 个字符。
  • 示例:Microsoft Windows 10 版本 1803

Noun.process

Noun.ip

  • 用途
    • 与网络连接相关联的单个 IP 地址。
    • 在事件发生时与参与者设备关联的一个或多个 IP 地址(例如,如果 EDR 产品知道与设备关联的所有 IP 地址,它可以在 IP 字段中对所有这些地址进行编码)。
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。
  • 可重复性
    • 如果一个事件描述了一个特定的网络连接(例如,srcip:srcport > dstip:dstport),则供应商必须只提供一个 IP 地址。
    • 如果事件描述的是参与者设备上发生的一般活动而不是特定网络连接,则供应商可能会提供事件发生时设备的所有关联 IP 地址。
  • 示例
    • 192.168.1.2
    • 2001:db8:1:3::1

Noun.port

  • 用途:在事件中描述特定网络连接时的源或目标端口号。
  • 编码:有效的 TCP/IP 端口号,介于 1 到 65535 之间。
  • 示例

    • 80
    • 443

Noun.mac

  • 用途:与设备关联的一个或多个 MAC 地址。
  • 编码:ASCII 的有效 MAC 地址 (EUI-48)。
  • 可重复性:供应商可能会在事件发生时提供设备的所有关联 MAC 地址。
  • 示例
    • fedc:ba98:7654:3210:fedc:ba98:7654:3210
    • 1080:0:0:0:8:800:200c:417a
    • 00:a0:0:0:c9:14:c8:29

Noun.administrative_domain

  • 用途:设备所属的网域(例如 Windows 网域)。
  • 编码:有效的域名字符串(最多 128 个字符)。
  • 示例:corp.altostrat.com

Noun.registry

Noun.url

  • 用途:标准网址
  • 编码:网址 (RFC 3986)。必须具有有效的协议前缀(例如 https:// 或 ftp://)。必须包含完整的域名和路径。可能包含网址的参数。
  • 示例:https://foo.altostrat.com/bletch?a=b;c=d

Noun.user

填充身份验证元数据

Authentication.AuthType

  • 用途:与身份验证事件相关联的系统类型 (Chronicle UDM)。
  • 编码:枚举类型。
  • 可能的值
    • AUTHTYPE_UNSPECIFIED
    • MACHINE - 机器身份验证
    • PHYSICAL - 物理身份验证(例如,工牌读取器)
    • 单点登录
    • TACACS - 用于联网系统身份验证的 TACACS 系列协议(例如 TACACS 或 TACACS+)
    • VPN

Authentication.Authentication_Status

  • 用途:描述用户或特定凭据的身份验证状态。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_AUTHENTICATION_STATUS — 默认身份验证状态
    • ACTIVE - 身份验证方法处于活跃状态
    • SUSPENDED - 身份验证方法处于已暂停或已停用状态
    • DELETED - 身份验证方法已删除
    • NO_ACTIVE_CREDENTIALS - 身份验证方法没有活跃凭据。

Authentication.auth_details

  • 用途:供应商定义的身份验证详细信息。
  • 编码:字符串。

Authentication.Mechanism

  • 用途:用于身份验证的机制。
  • 编码:枚举类型。
  • 可能的值
    • MECHANISM_UNSPECIFIED - 默认身份验证机制。
    • BADGE_READER
    • BATCH - 批量身份验证。
    • CACHED_INTERACTIVE - 使用缓存凭据进行交互式身份验证。
    • HARDWARE_KEY
    • LOCAL
    • MECHANISM_OTHER - 此处未定义的其他机制。
    • NETWORK - 网络身份验证。
    • NETWORK_CLEAR_TEXT - 网络明文身份验证。
    • NEW_CREDENTIALS - 使用新凭据进行身份验证。
    • OTP
    • REMOTE - 远程身份验证
    • REMOTE_INTERACTIVE - RDP、终端服务、虚拟网络计算 (VNC) 等。
    • SERVICE - 服务身份验证。
    • UNLOCK - 直接人机交互解锁身份验证。
    • USERNAME_PASSWORD

填充 DHCP 元数据

动态主机控制协议 (DHCP) 元数据字段可捕获 DHCP 网络管理协议日志信息。

Dhcp.client_hostname

  • 用途:客户端的主机名。如需了解详情,请参阅 RFC 2132:DHCP 选项和 BOOTP 供应商扩展程序
  • 编码:字符串。

Dhcp.client_identifier

  • 用途:客户端标识符。如需了解详情,请参阅 RFC 2132:DHCP 选项和 BOOTP 供应商扩展程序
  • 编码:字节。

Dhcp.file

  • 用途:启动映像的文件名。
  • 编码:字符串。

Dhcp.flags

  • 用途:DHCP 标志字段的值。
  • 编码:32 位未签名整数。

Dhcp.hlen

  • 用途:硬件地址长度。
  • 编码:32 位未签名整数。

Dhcp.hops

  • 用途:DHCP 跃点数。
  • 编码:32 位未签名整数。

Dhcp.htype

  • 用途:硬件地址类型。
  • 编码:32 位未签名整数。

Dhcp.lease_time_seconds

  • 用途:客户端请求的 IP 地址租用时间(以秒为单位)。如需了解详情,请参阅 RFC 2132:DHCP 选项和 BOOTP 供应商扩展程序
  • 编码:32 位未签名整数。

Dhcp.opcode

  • 用途:BOOTP 操作代码(请参阅 RFC 951 的第 3 部分)。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_OPCODE
    • BOOTREQUEST
    • BOOTREPLY

Dhcp.requested_address

  • 用途:客户端标识符。如需了解详情,请参阅 RFC 2132:DHCP 选项和 BOOTP 供应商扩展程序
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。

Dhcp.seconds

  • 用途:自客户端开始地址获取/续期过程以来经过的秒数。
  • 编码:32 位未签名整数。

Dhcp.sname

  • 用途:客户端请求启动的服务器的名称。
  • 编码:字符串。

Dhcp.transaction_id

  • 用途:客户端事务 ID。
  • 编码:32 位未签名整数。

Dhcp.type

  • 用途:DHCP 消息类型。如需了解详情,请参阅 RFC 1533。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_MESSAGE_TYPE
    • DISCOVER
    • OFFER
    • REQUEST
    • DECLINE
    • ACK
    • NAK
    • RELEASE
    • INFORM
    • WIN_DELECTED
    • WIN_EXPIRED

Dhcp.chaddr

  • 用途:客户端硬件的 IP 地址。
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。

Dhcp.ciaddr

  • 用途:客户端的 IP 地址。
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。

Dhcp.giaddr

  • 用途:中继代理的 IP 地址。
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。

Dhcp.siaddr

  • 用途:下一个引导服务器的 IP 地址。
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。

Dhcp.yiaddr

  • 用途:您的 IP 地址。
  • 编码:采用 ASCII 编码的有效 IPv4 或 IPv6 地址 (RFC 5942)。

填充 DHCP 选项元数据

DHCP 选项元数据字段可捕获 DHCP 选项日志信息。

Option.code

  • 用途:存储 DHCP 选项代码。如需了解详情,请参阅 RFC 1533:DHCP 选项和 BOOTP 供应商扩展程序
  • 编码:无符号 32 位整数。

Option.data

  • 用途:存储 DHCP 选项数据。如需了解详情,请参阅 RFC 1533:DHCP 选项和 BOOTP 供应商扩展程序
  • 编码:字节。

填充 DNS 元数据

DNS 元数据字段可捕获与 DNS 请求和响应数据包相关的信息。它们与 DNS 请求和响应数据报中的数据是一对一的对应关系。

Dns.authoritative

  • 用途:对于权威 DNS 服务器,则设为 true。
  • 编码:布尔值。

Dns.id

  • 用途:存储 DNS 查询标识符。
  • 编码:32 位整数。

Dns.response

  • 用途:如果事件是 DNS 响应,则设为 true。
  • 编码:布尔值。

Dns.opcode

  • 用途:存储用于指定 DNS 查询类型(标准、反向、服务器状态等)的 DNS OpCode。
  • 编码:32 位整数。

Dns.recursion_available

  • 用途:如果递归 DNS 查找可用,则设为 true。
  • 编码:布尔值。

Dns.recursion_desired

  • 用途:如果请求递归 DNS 查找,则设为 true。
  • 编码:布尔值。

Dns.response_code

  • 用途:存储由 RFC 1035,域名 - 实施和规范定义的 DNS 响应代码。
  • 编码:32 位整数。

Dns.truncated

  • 用途:如果这是截断的 DNS 响应,则设为 true。
  • 编码:布尔值。

Dns.questions

Dns.answers

Dns.authority

Dns.additional

填充 DNS 问题元数据

DNS 问题元数据字段可捕获网域协议消息的问题部分中的信息。

Question.name

  • 用途:存储域名。
  • 编码:字符串。

Question.class

  • 用途:存储用于指定查询类的代码。
  • 编码:32 位整数。

Question.type

  • 用途:存储用于指定查询类型的代码。
  • 编码:32 位整数。

填充 DNS 资源记录元数据

DNS 资源记录元数据字段可捕获网域协议消息的资源记录中包含的信息。

ResourceRecord.binary_data

  • 用途:存储 DNS 响应中可能包含的任何非 UTF8 字符串的原始字节。仅当 DNS 服务器返回的响应数据包含非 UTF8 数据时,才应使用此字段。否则,请将 DNS 响应放置在以下数据字段中。此类信息必须存储在此处,而不是存储在 ResourceRecord.data 中。
  • 编码:字节。

ResourceRecord.class

  • 用途:存储用于指定资源记录类的代码。
  • 编码:32 位整数。

ResourceRecord.data

  • 用途:存储所有以 UTF-8 格式编码的 DNS 问题的载荷或响应。例如,数据字段可以返回域名所引用的机器的 IP 地址。如果资源记录用于不同的类型或类,则可能包含另一个域名(当一个域名被重定向到另一个域名时)。数据必须按原样存储在 DNS 响应中。
  • 编码:字符串。

ResourceRecord.name

  • 用途:存储资源记录的所有者的名称。
  • 编码:字符串。

ResourceRecord.ttl

  • 用途:存储可在再次查询信息源之前缓存资源记录的时间间隔。
  • 编码:32 位整数。

ResourceRecord.type

  • 用途:存储用于指定资源记录类型的代码。
  • 编码:32 位整数。

填充电子邮件元数据

大多数电子邮件元数据字段可捕获邮件标头中包含的电子邮件地址,并符合 RFC 5322 中定义的标准电子邮件地址格式 (local-mailbox@domain)。例如 frank@email.example.com。

Email.from

  • 用途:存储 from 电子邮件地址。
  • 编码:字符串。

Email.reply_to

  • 用途:存储 reply_to 电子邮件地址。
  • 编码:字符串。

Email.to

  • 用途:存储 to 电子邮件地址。
  • 编码:字符串。

Email.cc

  • 用途:存储 cc 电子邮件地址。
  • 编码:字符串。

Email.bcc

  • 用途:存储 bcc 电子邮件地址。
  • 编码:字符串。

Email.mail_id

  • 用途:存储邮件(或信息)ID。
  • 编码:字符串。
  • 示例:192544.132632@email.example.com

Email.subject

  • 用途:存储电子邮件主题行。
  • 编码:字符串。
  • 示例:“请阅读这封邮件。”

填充扩展程序元数据

具有尚未被 Chronicle UDM 分类的一流元数据的事件类型。Extensions.auth

  • 用途:身份验证元数据的扩展程序。
  • 编码:字符串。
  • 示例
    • 沙盒元数据(文件显示的所有行为,例如 FireEye)。
    • 网络访问权限控制 (NAC) 数据。
    • 用户的 LDAP 详细信息(例如角色、单位等)。

Extensions.auth.auth_details

  • 用途:指定身份验证类型或机制的供应商特定详细信息。身份验证提供方通常定义 via_mfa、via_ad 等类型,以提供有关身份验证类型的有用信息。为了确保可用性和跨数据集规则兼容性,这些类型仍然可以在 auth.typeauth.mechanism 中进行泛化。
  • 编码:字符串。
  • 示例:via_mfa、via_ad。

Extensions.vulns

  • 用途:漏洞元数据的扩展程序。
  • 编码:字符串。
  • 示例
    • 主机漏洞扫描数据。

填充文件元数据

File.file_metadata

  • 用途:与文件关联的元数据。
  • 编码:字符串。
  • 示例
    • 作者
    • 修订版本号
    • 版本号
    • 上次保存日期

File.full_path

  • 用途:标识文件在系统中的位置的完整路径。
  • 编码:字符串。
  • 示例:\Program Files\Custom Utilities\Test.exe

File.md5

  • 用途:文件的 MD5 哈希值。
  • 编码:字符串,小写十六进制。
  • 示例:35bf623e7db9bf0d68d0dda764fd9e8c

File.mime_type

  • 用途:文件的多用途互联网邮件扩展 (MIME) 类型。
  • 编码:字符串。
  • 示例
    • PE
    • PDF
    • powershell 脚本

File.sha1

  • 用途:文件的 SHA-1 哈希值。
  • 编码:字符串,小写十六进制。
  • 示例:eb3520d53b45815912f2391b713011453ed8abcf

File.sha256

  • 用途:文件的 SHA-256 哈希值。
  • 编码:字符串,小写十六进制。
  • 示例
    • d7173c568b8985e61b4050f81b3fd8e75bc922d2a0843d7079c81ca4b6e36417

File.size

  • 用途:文件的大小。
  • 编码:64 位无符号整数。
  • 示例:342135。

填充 FTP 元数据

Ftp.command

  • 用途:存储 FTP 命令。
  • 编码:字符串。
  • 示例
    • binary
    • delete
    • get
    • put

填充群组元数据

组织组的相关信息。

Group.creation_time

  • 用途:创建群组的时间。
  • 编码:RFC 3339,具体取决于 JSON 或 Proto3 时间戳格式。

Group.email_addresses

  • 用途:群组联系信息。
  • 编码:电子邮件。

Group.group_display_name

  • 用途:群组显示名。
  • 编码:字符串。
  • 示例
    • 金融
    • HR
    • 营销

Group.product_object_id

  • 用途:产品的全局唯一用户对象标识符,例如 LDAP 对象标识符。
  • 编码:字符串。

Group.windows_sid

  • 用途:Microsoft Windows 安全标识符 (SID) 群组特性字段。
  • 编码:字符串。

填充 HTTP 元数据

Http.method

  • 用途:存储 HTTP 请求方法。
  • 编码:字符串。
  • 示例
    • GET
    • HEAD
    • POST

Http.referral_url

  • 用途:存储 HTTP 引荐来源网址。
  • 编码:有效的 RFC 3986 网址。
  • 示例:https://www.altostrat.com

Http.response_code

  • 用途:存储 HTTP 响应状态代码,用于指示是否已成功完成特定 HTTP 请求。
  • 编码:32 位整数。
  • 示例
    • 400
    • 404

Http.useragent

  • 用途:存储用户代理请求标头,其中包含请求软件用户代理的应用类型、操作系统、软件供应商或软件版本。
  • 编码:字符串。
  • 示例
    • Mozilla/5.0(X11;Linux x86_64)
    • AppleWebKit/534.26(KHTML,如 Gecko)
    • Chrome/41.0.2217.0
    • Safari/527.33

填充地点元数据

Location.city

  • 用途:存储城市名称。
  • 编码:字符串。
  • 示例
    • 桑尼维尔
    • 芝加哥
    • 马拉加省

Location.country_or_region

  • 用途:存储世界国家或地区的名称。
  • 编码:字符串。
  • 示例
    • 美国
    • 英国
    • 西班牙

Location.name

  • 用途:存储企业特定的名称,如大楼或校园。
  • 编码:字符串。
  • 示例
    • 校园 7B
    • 大楼 A2

Location.state

  • 用途:存储州、省或地区的名称。
  • 编码:字符串。
  • 示例
    • 加利福尼亚
    • 伊利诺伊
    • 安大略

填充网络元数据

Network.application_protocol

  • 用途:表示网络应用协议。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_APPLICATION_PROTOCOL
    • QUIC
    • HTTP
    • HTTPS
    • DNS
    • DHCP

Network.direction

  • 用途:表示网络流量的方向。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_DIRECTION
    • INBOUND
    • OUTBOUND
    • BROADCAST

Network.email

  • 用途:指定发件人/收件人的电子邮件地址。
  • 编码:字符串。
  • 示例:jcheng@company.example.com

Network.ip_protocol

  • 用途:表示 IP 协议。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_IP_PROTOCOL
    • EIGRP - 增强型内部网关路由协议
    • ESP - 封装安全载荷
    • ETHERIP - IP 以太网封装
    • GRE - 通用路由封装
    • ICMP - 互联网控制消息协议
    • IGMP - 互联网群组管理协议
    • IP6IN4 - IPv6 封装
    • PIM - 协议独立多播
    • TCP - 传输控制协议
    • UDP - 用户数据报协议
    • VRRP - 虚拟路由器冗余协议

Network.received_bytes

  • 用途:指定收到的字节数。
  • 编码:64 位无符号整数。
  • 示例:12,453,654,768

Network.sent_bytes

  • 用途:指定发送的字节数。
  • 编码:64 位无符号整数。
  • 示例:7,654,876

Network.session_duration

  • 用途:存储网络会话时长,通常在会话的丢弃事件中返回。如需设置持续时间,您可以设置 network.session_duration.seconds = 1(类型 int64)或 network.session_duration.nanos = 1(类型 int32)。
  • 编码:
    • 32 位整数 - 表示秒数 (network.session_duration.seconds)。
    • 64 位整数 - 表示纳秒 (network.session_duration.nanos)。

Network.session_id

  • 用途:存储网络会话标识符。
  • 编码:字符串。
  • 示例:SID:ANON:www.w3.org:j6oAOxCWZh/CD723LGeXlf-01:34

填充进程元数据

Process.command_line

  • 用途:存储进程的命令行字符串。
  • 编码:字符串。
  • 示例:c:\windows\system32\net.exe group

Process.product_specific_process_id

  • 用途:存储产品特定的进程 ID。
  • 编码:字符串。
  • 示例MySQL:78778CS:90512

Process.parent_process.product_specific_process_id

  • 用途:存储父级进程的产品特定进程 ID。
  • 编码:字符串。
  • 示例MySQL:78778CS:90512

Process.file

  • 用途:存储进程正在使用的文件的文件名。
  • 编码:字符串。
  • 示例:report.xls

Process.parent_process

  • 用途:存储父级进程的详细信息。
  • 编码:名词(进程)

Process.pid

  • 用途:存储进程 ID。
  • 编码:字符串。
  • 示例
    • 308
    • 2002

填充注册表元数据

Registry.registry_key

  • 用途:存储与应用或系统组件关联的注册表项。
  • 编码:字符串。
  • 示例:HKEY_LOCAL_MACHINE/SYSTEM/DriverDatabase

Registry.registry_value_name

  • 用途:存储与应用或系统组件关联的注册表值的名称。
  • 编码:字符串。
  • 示例:TEMP

Registry.registry_value_data

  • 用途:存储与注册表值关联的数据。
  • 编码:字符串。
  • 示例:%USERPROFILE%\Local Settings\Temp

填充安全结果元数据

“安全结果”元数据包含有关安全系统发现的安全风险和威胁的详细信息,以及为减轻这些风险和威胁而采取的措施。

SecurityResult.about

  • 用途:提供安全结果的说明。
  • 编码:名词。

SecurityResult.action

  • 用途:指定安全操作。
  • 编码:枚举类型。
  • 可能的值:Chronicle UDM 定义了以下安全操作:
    • ALLOW
    • ALLOW_WITH_MODIFICATION - 文件或电子邮件已被消毒或重写,但仍转发。
    • BLOCK
    • QUARANTINE - 存储以供日后分析(并不意味着屏蔽)。
    • UNKNOWN_ACTION

SecurityResult.action_details

  • 用途:供应商提供的因安全突发事件而执行的操作的详细信息。安全操作通常最好转换为更通用的 Security_Result.action 字段。不过,您可能需要编写由供应商提供的确切操作说明的规则。
  • 编码:字符串。
  • 示例:删除、阻止、解密、加密。

SecurityResult.category

  • 用途:指定安全类别。
  • 编码:枚举。
  • 可能的值:Chronicle UDM 定义了以下安全类别:
    • ACL_VIOLATION - 尝试访问的未经授权访问,包括尝试访问文件、网络服务、进程、网络对象等。
    • AUTH_VIOLATION - 身份验证失败,例如密码无效或双重身份验证错误。
    • DATA_AT_REST - DLP:在扫描中静态找到的传感器数据。
    • DATA_DESTRUCTION - 尝试销毁/删除数据。
    • DATA_EXFILTRATION - DLP:传感器数据传输,复制到 U 盘。
    • EXPLOIT - 基于网络和主机的尝试溢出、错误协议编码、ROP、SQL 注入等方面的问题。
    • MAIL_PHISHING - 网上诱骗电子邮件、聊天消息等。
    • MAIL_SPAM - 垃圾邮件、邮件等。
    • MAIL_SPOOFING - 欺骗性来源电子邮件地址等。
    • NETWORK_CATEGORIZED_CONTENT
    • NETWORK_COMMAND_AND_CONTROL - 如果命令和控制渠道是已知的。
    • NETWORK_DENIAL_OF_SERVICE
    • NETWORK_MALICIOUS - 命令和控制、网络漏洞、可疑活动、可能的反向隧道等。
    • NETWORK_SUSPICIOUS - 与安全无关的内容,例如网址与赌博等相关。
    • NETWORK_RECON - 由 Web 应用探测的 IDS 检测到的端口扫描。
    • POLICY_VIOLATION - 违反安全政策,包括防火墙、代理和 HIPS 规则违规或 NAC 阻止操作。
    • SOFTWARE_MALICIOUS - 恶意软件、间谍软件、rootkit 等。
    • SOFTWARE_PUA - 可能不需要的应用,例如广告软件等。
    • SOFTWARE_SUSPICIOUS
    • UNKNOWN_CATEGORY

SecurityResult.confidence

  • 用途:指定对产品所估算安全性事件的置信度。
  • 编码:枚举。
  • 可能的值:Chronicle UDM 定义了以下产品置信度类别:
    • UNKNOWN_CONFIDENCE
    • LOW_CONFIDENCE
    • MEDIUM_CONFIDENCE
    • HIGH_CONFIDENCE

SecurityResult.confidence_details

  • 用途:关于产品事件安全性事件的可信度的额外详情。
  • 编码:字符串。

SecurityResult.priority

  • 用途:指定产品供应商估算的安全性事件的优先级。
  • 编码:枚举。
  • 可能的值:Chronicle UDM 定义了以下产品优先级类别:
    • UNKNOWN_PRIORITY
    • LOW_PRIORITY
    • MEDIUM_PRIORITY
    • HIGH_PRIORITY

SecurityResult.priority_details

  • 用途:有关安全结果优先级的供应商特定信息。
  • 编码:字符串。

SecurityResult.rule_id

  • 用途:安全规则的标识符。
  • 编码:字符串。
  • 示例
    • 08123
    • 5d2b44d0-5ef6-40f5-a704-47d61d3babbe

SecurityResult.rule_name

  • 用途:安全规则的名称。
  • 编码:字符串。
  • 示例:BlockInboundToOracle。

SecurityResult.severity

  • 用途:产品供应商使用 Chronicle UDM 定义的值估算的安全性事件的严重程度。
  • 编码:枚举。
  • 可能的值:Chronicle UDM 定义了以下严重性产品:
    • UNKNOWN_SEVERITY - 非恶意
    • INFORMATIONAL - 非恶意
    • ERROR - 非恶意
    • LOW - 恶意
    • MEDIUM - 恶意
    • HIGH - 恶意

SecurityResult.severity_details

  • 用途:产品供应商估计的安全性事件的严重程度。
  • 编码:字符串。

SecurityResult.threat_name

  • 用途:安全威胁的名称。
  • 编码:字符串。
  • 示例
    • W32/File-A
    • Slammer

SecurityResult.url_back_to_product

  • 用途:将您定向到此安全性事件的来源产品控制台的网址。
  • 编码:字符串。

填充用户元数据

User.email_addresses

  • 用途:存储相应用户的电子邮件地址。
  • 编码:重复字符串。
  • 示例:johnlocke@company.example.com

User.employee_id

  • 用途:存储用户的人力资源员工 ID。
  • 编码:字符串。
  • 示例:11223344。

User.first_name

  • 用途:存储用户的姓名。
  • 编码:字符串。
  • 示例:“小明”

User.middle_name

  • 用途:存储用户的中间名。
  • 编码:字符串。
  • 示例:Anthony。

User.last_name

  • 用途:存储用户的姓氏。
  • 编码:字符串。
  • 示例:Locke。

User.group_identifiers

  • 用途:存储与用户关联的群组 ID(GUID、LDAP OID 或类似资源)。
  • 编码:重复字符串。
  • 示例:admin-users。

User.phone_numbers

  • 用途:存储用户的电话号码。
  • 编码:重复字符串。
  • 示例:800-555-0101

User.title

  • 用途:存储用户的职位。
  • 编码:字符串。
  • 示例:客户关系经理。

User.user_display_name

  • 用途:存储用户的显示名。
  • 编码:字符串。
  • 示例:John Locke。

User.userid

  • 用途:存储用户 ID。
  • 编码:字符串。
  • 示例:jlocke。

User.windows_sid

  • 用途:存储与用户关联的 Microsoft Windows 安全标识符 (SID)。
  • 编码:字符串。
  • 示例:S-1-5-21-1180649209-123456789-3582944384-1064

填充漏洞元数据

Vulnerability.about

  • 用途:如果漏洞与特定名词(例如可执行文件)相关,请在此处添加。
  • 编码:名词。请参阅填充名词元数据
  • 示例:可执行文件。

Vulnerability.cvss_base_score

  • 用途:通用漏洞评分系统 (CVSS) 的基本得分。
  • 编码:浮点。
  • 范围:0.0 到 10.0
  • 示例:8.5

Vulnerability.cvss_vector

  • 用途:漏洞的 CVSS 属性的矢量。CVSS 评分由以下指标组成:

    • 攻击途径 (AV)
    • 访问复杂性 (AC)
    • 身份验证 (Au)
    • 机密性影响 (C)
    • 完整性影响 (I)
    • 可用性影响 (A)

    如需了解详情,请参阅 https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator

  • 编码:字符串。

  • 示例:AV:L/AC:H/Au:N/C:N/I:P/A:C

Vulnerability.cvss_version

  • 用途:漏洞得分或向量的 CVSS 版本。
  • 编码:字符串。
  • 示例:3.1

Vulnerability.description

  • 用途:漏洞说明。
  • 编码:字符串。

Vulnerability.first_found

  • 用途:维护漏洞扫描历史记录的产品应首先使用首次检测到此资产的漏洞的时间填充。
  • 编码:字符串。

Vulnerability.last_found

  • 用途:拥有漏洞扫描记录的产品应在上次检测到此资产漏洞时填充到 last_found。
  • 编码:字符串。

Vulnerability.name

  • 用途:漏洞的名称。
  • 编码:字符串。
  • 示例:检测到不支持的操作系统版本。

Vulnerability.scan_end_time

  • 用途:如果在资产扫描期间发现漏洞,请在此字段中填充扫描结束时间。如果结束时间不可用或不适用,请将此字段留空。
  • 编码:字符串。

Vulnerability.scan_start_time

  • 用途:如果在资产扫描期间发现漏洞,请在此字段填充扫描时间。如果开始时间不可用或不适用,请将此字段留空。
  • 编码:字符串。

Vulnerability.severity

  • 用途:漏洞的严重性。
  • 编码:枚举类型。
  • 可能的值
    • UNKNOWN_SEVERITY
    • LOW
    • MEDIUM
    • HIGH

Vulnerability.severity_details

  • 用途:特定于供应商的严重级别详细信息。
  • 编码:字符串。

填充提醒元数据

idm.is_significant

  • 用途:指定是否在企业数据洞察中显示提醒。
  • 编码:布尔值

idm.is_alert

  • 用途:标识事件是否为提醒。
  • 编码:布尔值

基于事件类型的必填字段和选填字段

本部分介绍了根据 UDM 事件类型填充必填字段和可选字段。如需了解这些字段的说明,请参阅统一数据模型字段列表

EMAIL_TRANSACTION

必填字段:

  • metadata:包括必填字段。
  • principal:填充有关电子邮件消息源自的机器的信息。例如,发件人的 IP 地址。

可选字段:

  • about:电子邮件正文中嵌入的网址、IP、网域和任何文件附件。
  • securityResult.about:嵌入电子邮件正文中的错误网址、IP 和文件。
  • network.email:电子邮件发件人/收件人信息。
  • principal:如果有关于谁发送电子邮件的客户端机器数据,请在委托人中填充服务器详细信息(例如,客户端进程、端口号、用户名等)。
  • target:如果有目标电子邮件服务器数据,则在目标中填充服务器详细信息(例如,IP 地址)。
  • intermediary:如果有邮件服务器数据或邮件代理数据,则在中介中填充服务器详细信息。

备注:

  • 切勿填充 principal.emailtarget.email
  • 仅填充 security_result.aboutnetwork.email 中的电子邮件字段。
  • 顶级安全结果通常包含名词(对于垃圾邮件是可选的)。

FILE_CREATION、FILE_DELETION、FILE_MODIFICATION、FILE_READ 和 FILE_OPEN

必填字段:

  • metadata:包括必填字段。
  • principal
    • 至少一个机器标识符。
    • (可选)使用访问该文件的进程相关信息填充 principal.process。
  • target
    • 如果该文件是远程文件(例如 SMB 共享),则目标必须包含至少一个目标机器的机器标识符,否则所有机器标识符必须为空。
    • 使用文件相关信息填充 target.file。

可选:

  • security_result:描述检测到的恶意活动。
  • principal.user:在进程有可用的用户信息时填充。

FILE_COPY

必填字段:

  • metadata:按照说明添加必填字段。
  • principal
    • 至少一个机器标识符。
    • (可选)使用有关执行文件复制操作的进程的信息填充 principal.process
  • src
    • 使用源文件相关信息填充 src.file
    • 如果文件是远程文件(例如 SMB 共享),则 src 必须至少包含一个用于存储源文件的源机器的机器标识符。
  • target
    • 使用有关目标文件的信息填充 target.file
    • 如果文件是远程文件(例如 SMB 共享),则 target 字段必须包含保存目标文件的目标机器的至少一个机器标识符。

可选字段:

  • security_result:描述检测到的恶意活动。
  • principal.user:在进程有可用的用户信息时填充。

MUTEX_CREATION

必填字段:

  • metadata:包括必填字段。
  • principal
    • 至少一个机器标识符。
    • 使用有关创建互斥锁的进程的信息填充 principal.process。
  • target
    • 填充 target.resource
    • 使用 MUTEX 填充 target.resource.type
    • 使用创建的互斥名称填充 target.resource.name

可选:

  • security_result:描述检测到的恶意活动。
  • principal.user:在进程有可用的用户信息时填充。
MUTEX_CREATION 的 UDM 示例

以下示例说明了如何为 Chronicle UDM 设置 MUTEX_CREATION 类型的事件格式:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: MUTEX_CREATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "test.altostrat.com"
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}
target {
  resource {
    type: "MUTEX"
    name: "test-mutex"
  }
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:设备和进程详细信息。
  • target:有关互斥的信息。

NETWORK_CONNECTION

必填字段:

  • metadata:event_timestamp
  • principal:包含有关启动网络连接的机器的详细信息(例如来源)。
  • target:添加目标机器的详细信息(如果与主账号机器不同)。
  • network:捕获网络连接的详细信息(端口、协议等)。

可选字段:

  • principal.processtarget.process:包括与网络连接的主账号和目标相关联的进程信息(如果可用)。
  • principal.usertarget.user:包括与网络连接的主账号和目标相关联的用户信息(如果可用)。

NETWORK_HTTP

NETWORK_HTTP 事件类型表示从主账号到目标网络服务器的 HTTP 网络连接。

必填字段:

  • metadata:包括必填字段。
  • principal:代表发起 Web 请求的客户端,包含至少一个机器标识符(例如,主机名、IP、MAC、专有资产标识符)或一个用户标识符(例如,用户名)。如果描述了特定的网络连接并且客户端端口号可用,则只能指定一个 IP 地址以及与该网络连接关联的端口号(尽管可以提供其他机器标识符以更好地描述参与者设备)。如果没有可用的源端口,则可以指定描述主账号设备的任何和所有 IP 和 MAC 地址、资产标识符和主机名值。
  • target:表示网络服务器,包含设备信息以及端口号(可选)。如果目标端口号可用,除了与该网络连接关联的端口号外,请仅指定一个 IP 地址(尽管可以为目标提供多个其他机器标识符)。对于 target.url,使用访问的网址填充。
  • networknetwork.http:包括 HTTP 网络连接的详细信息。您必须填充以下字段:
    • network.ip_protocol
    • network.application_protocol
    • network.http.method

可选字段:

  • about:表示在 HTTP 事务中找到的其他实体(例如,已上传或已下载文件)。
  • intermediary:表示代理服务器(如果与主账号或目标不同)。
  • metadata:填充其他元数据字段。
  • network:填充其他网络字段。
  • network.email:如果 HTTP 网络连接源自电子邮件中出现的网址,请使用详细信息填充 network.email。
  • observer:代表被动嗅探器(如果存在)。
  • security_result:将一项或多项内容添加到 security_result 字段,以表示检测到的恶意活动。
NETWORK_HTTP 的 UDM 示例

以下示例说明了如何将 NETWORK_HTTP 类型的 Sophos 防病毒事件转换为 Chronicle UDM 格式。

以下是原始的 Sophos 防病毒软件:

date=2013-08-07 time=13:27:41 timezone="GMT" device_name="CC500ia" device_id= C070123456-ABCDE log_id=030906208001 log_type="Anti-Virus" log_component="HTTP" log_subtype="Virus" status="" priority=Critical fw_rule_id=0 user_name="john.smith" iap=7 av_policy_name="" virus="TR/ElderadoB.A.78" url="altostrat.fr/img/logo.gif" domainname="altostrat.fr" src_ip=10.10.2.10 src_port=60671 src_country_code= dst_ip=203.0.113.31 dst_port=80 dst_country_code=FRA

以下是使用 Chronicle UDM 语法在 Proto3 中格式化相同信息的方法:

metadata {
  event_timestamp: "2013-08-07T13:27:41+00:00"
  event_type: NETWORK_HTTP
  product_name: "Sophos Antivirus"
  product_log_id: "030906208001"
}

principal {
  hostname: "CC500ia"
  asset_id: "Sophos.AV:C070123456-ABCDE"
  ip: "10.10.2.10"
  port: 60671
  user {  userid: "john.smith" }
}

target {
  hostname: "altostrat.fr"
  ip: "203.0.113.31"
  port: 80
  url: "altostrat.fr/img/logo.gif"
}

network {
  ip_protocol: TCP
 }

security_result {
  about {
    url: "altostrat.fr/img/logo.gif"
    category: SOFTWARE_MALICIOUS
    category_details: "Virus"
    threat_name: "TR/ElderadoB.A.78"
    severity: HIGH                   # Chronicle-normalized severity
    severity_details: "Critical"    # Vendor-specific severity string
  }
}

additional { "dst_country_code" : "FRA", "iap" : "7" "fw_rule_id" : "0" }

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:检测到事件的安全设备。
  • target:接收恶意软件的设备。
  • network:有关恶意主机的网络信息。
  • security_result:有关恶意软件的安全详细信息。
  • 此外:目前 UU 范围之外的供应商信息。

PROCESS_INJECTION、PROCESS_LAUNCH、PROCESS_OPEN、PROCESS_TERMINATION、PROCESS_UNCATEGORIZED

必填字段:

  • metadata:包括必填字段。
  • principal
    • 至少一个机器标识符。
    • 对于进程注入和进程终止事件,如果可用,principal.process 必须包含有关启动操作的进程的信息;比方说,对于进程启动事件,principal.process 必须包含有关父进程的详细信息(如果可用)。
  • target
    • target.process:包括注入、打开、启动或终止的进程的相关信息。
    • 如果目标进程是远程进程,则目标必须包含至少一个机器的机器标识符(例如,IP 地址、MAC、主机名或第三方资产标识符)。

可选字段:

  • security_result:描述检测到的恶意活动。
  • principal.usertarget.user:填充启动进程 (principal) 和目标进程(如果用户信息可用)。
PROCESS_LAUNCH 的 UDM 示例

以下示例说明了如何使用 Chronicle UDM 语法设置 PROCESS_LAUNCH 事件的格式:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: PROCESS_LAUNCH
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "altostrat.com"
}
target {
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:设备详细信息。
  • target:进程详细信息。

PROCESS_MODULE_LOAD

必填字段:

  • metadata:包括必填字段。
  • principal
    • 至少一个机器标识符。
    • principal.process:加载模块的进程。
  • target
    • target.process:包含有关流程的信息。
    • target.process.file:加载的模块(例如,DLL 或共享对象)。

可选字段:

  • security_result:描述检测到的恶意活动。
  • principal.user:在进程有可用的用户信息时填充。
PROCESS_MODULE_LOAD 的 UDM 示例

以下示例展示了如何使用 Chronicle UDM 语法设置 PROCESS_MODULE_LOAD 事件的格式:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: PROCESS_MODULE_LOAD
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "example.com"
  process {
    pid: "0x123"
  }
}
target {
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:有关设备和加载模块的过程的详细信息。
  • target:进程和模块详细信息。

PROCESS_PRIVILEGE_ESCALATION

必填字段:

  • metadata:包括必填字段。
  • principal
    • 至少一个机器标识符。
    • principal.process:加载模块的进程。
    • principal.user:加载模块的用户。

可选字段:

  • security_result:描述检测到的恶意活动。
PROCESS_PRIVILEGE_ESCALATION 的 UDM 示例

以下示例展示了如何使用 Chronicle UDM 语法设置 PROCESS_PRIVILEGE_ESCALATION 事件的格式:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: PROCESS_PRIVILEGE_ESCALATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "example.com"
  process {
    pid: "0x123"
  }
  user {
    userid: "test"
    windows_sid: "ABCDEFGH-123456789-1111111-1000"
  }
}
target {
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:有关设备、用户和加载模块的过程的详细信息。
  • target:进程和模块详细信息。

REGISTRY_CREATION、REGISTRY_MODIFICATION、REGISTRY_DELETION

必填字段:

  • metadata:包括必填字段。
  • principal
    • 至少一个机器标识符。
    • 如果用户模式进程执行注册表修改,则 principal.process 必须包含修改注册表的进程相关信息。
    • 如果内核进程执行注册表修改,则 principal 不得包含进程信息。
  • target
    • target.registry:如果目标注册表远程,则目标必须至少包含一个目标机器标识符(例如,IP 地址、MAC、主机名或第三方资产标识符)。
    • target.registry.registry_key:所有注册表事件都必须包含受影响的注册表项。

可选:

  • security_result::描述检测到的恶意活动。例如,注册表项错误。
  • principal.user::在进程有可用的用户信息时填充。
REGISTRY_MODIFICATION 的 UDM 示例

以下示例说明了如何使用 Chronicle UDM 语法在 Proto3 中格式化 REGISTRY_MODIFICATION 事件:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: REGISTRY_MODIFICATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "test-win"
  user {
    userid: "test"
    windows_sid: "ABCDEFGH-123456789-1111111-1000"
  }
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}
target {
  registry {
    registry_key: "\\REGISTRY\\USER\\TEST_USER\\Control Panel\\PowerCfg\\PowerPolicy"
    registry_value_name: "Description"
    registry_value_data: "For extending battery life."
  }
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:设备、用户和进程的详细信息。
  • target:受修改影响的注册表条目。

SCAN_FILE、SCAN_HOST、SCAN_PROCESS、SCAN_VULN_HOST、SCAN_VULN_NETWORK

必填字段:

  • extensions:对于 SCAN_VULN_HOST 和 SCAN_VULN_NETWORK,请使用 extensions.vuln 字段定义漏洞。
  • metadata:event_timestamp
  • observer:捕获扫描仪本身的相关信息。如果扫描仪是远程扫描仪,则机器详细信息必须由 observer 字段捕获。对于本地扫描仪,请留空。
  • target:捕获有关正在扫描的对象的机器的信息。如果正在扫描文件,target.file 必须捕获扫描的文件的相关信息。如果正在扫描进程,target.process 必须捕获有关扫描进程的信息。

可选字段:

  • target:有关目标对象的用户详细信息(例如文件创建者或进程所有者),应在 target.user 中捕获。
  • security_result:描述检测到的恶意活动。
SCAN_HOST 的 UDM 示例

以下示例说明了如何为 Chronicle UDM 设置 SCAN_HOST 类型的事件格式:

metadata: {
  event_timestamp: {
    seconds: 1571386978
  }
  event_type: SCAN_HOST
  vendor_name: "vendor"
  product_name: "product"
  product_version: "1.0"
}
target: {
  hostname: "testHost"
  asset_id: "asset"
  ip: "192.168.200.200"
}
observer: {
  hostname: "testObserver"
  ip: "192.168.100.100"
}
security_result: {
  severity: LOW
  confidence: HIGH_CONFIDENCE
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • target:接收恶意软件的设备。
  • observer:观察和报告相关事件的设备。
  • security_result:有关恶意软件的安全详细信息。

SCHEDULED_TASK_CREATION、SCHEDULED_TASK_DELETION、SCHEDULED_TASK_DISABLE、SCHEDULED_TASK_ENABLE、SCHEDULED_TASK_MODIFICATION、SCHEDULED_TASK_UNCATEGORIZED

必填字段:

  • principal:对于所有 SCHEDULED_TASK 事件,主账号必须包含机器标识符和用户标识符。
  • target:目标必须包含有效的资源和定义为“任务”的资源类型。

可选字段:

  • security_result:描述检测到的恶意活动。
SCHEDULED_TASK_CREATION 的 UDM 示例

下面的示例说明了如何针对 Chronicle UDM 设置 SCHEDULED_TASK_CREATION 类型的事件:

metadata: {
  event_timestamp: {
    seconds: 1577577998
  }
  event_type: SCHEDULED_TASK_CREATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal: {
  hostname: "fake-host.altostrat.com"
  user: {
    userid: "TestUser"
    windows_sid: "AB123CDE"
  }
  process {
    pid: "1234"
  }
}
target: {
  resource: {
    type: "TASK"
    name: "\\Adobe Acrobat Update Task"
  }
}
intermediary: {
  hostname: "fake-intermediary.altostrat.com"
}
security_result: {
  rule_name: "EventID: 6789"
  summary: "A scheduled task was created."
  severity: INFORMATIONAL
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:安排了可疑任务的设备。
  • target:成为可疑任务的目标的软件。
  • intermediary:涉及可疑任务的中介。
  • security_result:有关可疑任务的安全详细信息。

SETTING_UNCATEGORIZED、SETTING_CREATION、SETTING_MODIFICATION、SETTING_DELETION

必填字段:

  • principal:必须存在、非空,并且包含机器标识符。
  • target:必须存在且非空,并且包含其类型指定为 SETTING 的资源
事件类型 SETTING_MODIFICATION 的 UDM 示例

以下示例说明了如何针对 Chronicle UDM 设置类型为 SETTING_MODIFICATION 的事件格式:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: SETTING_MODIFICATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "test.win.com"
}
target {
  resource {
    type: "SETTING"
    name: "test-setting"
  }
}

如本例所示,我们将该事件划分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:发生设置修改的设备的相关信息。
  • target:资源详细信息。

SERVICE_UNSPECIFIED、SERVICE_CREATION、SERVICE_DELETION、SERVICE_START、SERVICE_STOP

必填字段:

  • target:添加用户标识符并指定进程或应用。
  • principal:至少包含一个机器标识符(IP 或 MAC ADDRESS、主机名或资产标识符)。
SERVICE_UNSPECIFIED 的 UDM 示例

以下示例说明了如何针对 Chronicle UDM 设置类型为 SERVICE_UNSPECIFIED 的事件格式:

metadata: {
 event_timestamp: {
   seconds: 1595656745
   nanos: 832000000
    }
 event_type: SERVICE_UNSPECIFIED
   vendor_name: "Preempt"
   product_name: "PREEMPT_AUTH"
   product_event_type: "SERVICE_ACCESS"
   description: "Remote Procedures (RPC)"
   }
 principal: {
   hostname: "XXX-YYY-ZZZ"
   ip: "10.10.10.10"
   }
 target: {
   hostname: "TestHost"
   user: {
      userid: "ORG\\User"
      user_display_name: "user name"
   }
 application: "application.name"
   resource: {
      type: "Service Type"
      name: "RPC"
   }
 }

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:设备和位置详细信息。
  • target:主机名和用户标识符。
  • application:应用名称和资源类型。

STATUS_HEARTBEAT、STATUS_STARTUP、STATUS_SHUTDOWN、STATUS_UPDATE

必填字段:

  • metadata:包括必填字段。
  • principal:至少一个机器标识符(IP 或 MAC 地址、主机名或资源标识符)。
STATUS_HEARTBEAT 的 UDM 示例

以下示例说明了如何为 Chronicle UDM 设置 STATUS_HEARTBEAT 类型的事件格式:

metadata: {
  event_timestamp: {
    seconds: 1588180305
  }
  event_type: STATUS_HEARTBEAT
  vendor_name: "DMP"
  product_name: "ENTRE"
}
principal: {
  hostname: "testHost"
  location: {
    name: "Building 1"
  }
}
intermediary: {
  ip: "8.8.8.8"
}
security_result: {
  summary: "Event - Locked"
  description: "description"
  severity: LOW
  severity_details: "INFO"
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:设备和位置详细信息。
  • intermediary:设备 IP 地址。
  • security_result:安全结果详细信息。

SYSTEM_AUDIT_LOG_UNCATEGORIZED、SYSTEM_AUDIT_LOG_WIPE

必填字段:

  • principal:包含对日志执行操作的用户的用户标识符,以及存储日志的机器标识符(如果是擦除的数据)。
SYSTEM_AUDIT_LOG_WIPE 的 UDM 示例

以下示例展示了如何为 Chronicle UDM 设置一个类型为 SYSTEM_AUDIT_LOG_WIPE 的事件:

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: SYSTEM_AUDIT_LOG_WIPE
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "altostrat.com"
  user {
    userid: "test"
    windows_sid: "ABCDEFGH-123456789-1111111-1000"
  }
}

如本例所示,该事件分为以下 UDM 类别:

  • metadata:事件的相关背景信息。
  • principal:设备和用户的详细信息。

USER_CHANGE_PASSWORD,USER_CHANGE_PERMISSIONS

必填字段:

  • metadata:包括必填字段。
  • principal:如果从远程位置修改用户帐号,请向主帐号填充用户进行修改时所用机器的相关信息。
  • target:使用已修改用户的相关信息填充 target.user。
  • intermediary:对于单点登录,中介必须包含 SSO 服务器的至少一个机器标识符(如果有)。

USER_COMMUNICATION

必填字段:

  • principal:使用用户发起的(发件人)通信(例如 Google Chat 或 Slack 中的聊天消息)填充 principal.user 字段、Zoom 或 Google Meet 中的视频会议或 VoIP 连接。

可选字段:

  • target:(推荐)使用云通信资源的目标用户(接收器)信息填充 target.user 字段。使用目标云端通信应用的信息填充 target.application 字段。

USER_CREATION、USER_DELETION

必填字段:

  • metadata:event_timestamp
  • principal:包含有关创建或删除用户请求的机器的信息。对于创建或删除的本地用户,principal 必须至少包含源机器的机器标识符。
  • target:创建用户的位置。此外,还必须包含用户信息(例如 target.user)。

可选字段:

  • principal:启动了创建或删除用户的机器的用户和进程详细信息。
  • target:目标机器的相关信息(如果不同于主账号机器)。

USER_LOGIN、USER_LOGOUT

必填字段:

  • metadata:包括必填字段。
  • principal:对于远程用户活动(例如远程登录),请向主帐号填充发起用户活动的机器的相关信息。对于本地用户活动(例如本地登录),请勿设置主帐号。
  • target:使用已登录或已退出登录的用户的相关信息填充 target.user。如果未设置主账号(例如本地登录),则目标还必须包含至少一个用于标识目标机器的机器标识符。对于机器到机器的用户活动(例如远程登录、SSO、Cloud Service、VPN),目标必须包含有关目标应用、目标机器或目标 VPN 服务器的信息。
  • intermediary:对于单点登录,中介必须包含 SSO 服务器的至少一个机器标识符(如果有)。
  • networknetwork.http:如果通过 HTTP 登录,您必须将所有可用的详细信息放入 network.ip_protocol、network.application_protocol 和 network.http 中。
  • authentication 扩展程序:必须确定与事件相关的身份验证系统类型(例如机器、SSO 或 VPN)以及采用的机制(用户名和密码、OTP 等)。
  • security_result:添加 security_result 字段,以在登录失败时表示登录状态。如果身份验证失败,请使用 AUTH_VIOLATION 值指定 security_result.category。

USER_RESOURCE_ACCESS

必填字段:

  • principal:使用有关尝试访问云资源(例如,Salesforce 案例、Office365 日历、Google 文档或 ServiceNow 服务工单)的详细信息填充 principal.user 字段。
  • target:使用目标云资源的相关信息填充 target.resource 字段。

可选字段:

  • target.application::(推荐)使用目标云应用的相关信息填充 target.application: 字段。

USER_RESOURCE_CREATION、USER_RESOURCE_DELETION

必填字段:

  • principal:使用与在云资源(例如,Salesforce 案例、Office365 日历、Google 文档或 ServiceNow 服务工单)中创建的用户关联的详细信息填充 principal.user 字段。
  • target:使用目标云资源的相关信息填充 target.resource 字段。

可选字段:

  • target.application::(推荐)使用目标云应用的相关信息填充 target.application: 字段。

USER_RESOURCE_UPDATE_CONTENT

必填字段:

  • principal:使用与在云资源(例如,Salesforce 案例、Office365 日历、Google 文档或 ServiceNow 服务工单)中更新内容的用户相关联的详细信息填充 principal.user 字段。
  • target:使用目标云资源的相关信息填充 target.resource 字段。

可选字段:

  • target.application::(推荐)使用目标云应用的相关信息填充 target.application: 字段。

USER_RESOURCE_UPDATE_PERMISSIONS

必填字段:

  • principal:使用与在云资源(例如,Salesforce 案例、Office365 日历、Google 文档或 ServiceNow 服务工单)中更新权限的用户相关联的详细信息填充 principal.user 字段。
  • target:使用目标云资源的相关信息填充 target.resource 字段。

可选字段:

  • target.application::(推荐)使用目标云应用的相关信息填充 target.application: 字段。

USER_UNCATEGORIZED

必填字段:

  • metadata:event_timestamp
  • principal:包含有关创建或删除用户请求的机器的信息。对于创建或删除的本地用户,principal 必须至少包含源机器的机器标识符。
  • target:创建用户的位置。此外,还必须包含用户信息(例如 target.user)。

可选字段:

  • principal:启动了创建或删除用户的机器的用户和进程详细信息。
  • target:目标机器的相关信息(如果不同于主账号机器)。