EDR 事件架构参考

目录

文件活动

class_name = "File Activity" | class_uid = 1001

当进程执行文件系统操作——创建、写入、删除或重命名文件时,会生成文件活动事件。

活动 ID 映射

activity_idactivity_nametype_uid描述
6创建100101在文件系统上创建了新文件
8更新100103向现有文件写入数据
9删除100104删除了文件
10重命名100105文件被重命名
20目录创建创建了新文件目录

目标文件 (file.*)

字段类型描述
file.name字符串包含扩展名的文件名(例如,malware.exe)
file.path字符串完整文件系统路径
file.ext字符串不带前导点的文件扩展名
file.type_id长整型文件类型 (1=常规文件, 2=文件夹, 7=符号链接, 8=可执行文件)

结果文件 (file_result.*)

重命名或复制操作后存在——描述操作后文件 之后 的文件。

字段类型描述
file_result.name字符串操作后新的文件名
file_result.path字符串操作后新的完整路径
file_result.ext字符串结果文件的扩展名
file_result.type_id长整型结果文件的文件类型

执行者——启动进程 (actor.process.*)

字段类型描述
actor.process.name字符串执行文件操作的进程名称
actor.process.pid长整型执行进程的 PID
actor.process.uid字符串执行进程实例的唯一 ID
actor.process.cmd_line字符串执行进程的完整命令行
actor.process.created_time日期时间执行进程创建的时间戳
actor.process.file.name字符串执行进程的可执行文件名
actor.process.file.path字符串执行进程的可执行文件路径
actor.process.file.sha256字符串执行进程可执行文件的 SHA-256
actor.process.file.ext字符串执行进程可执行文件的扩展名
actor.process.file.type_id长整型执行进程可执行文件的文件类型 ID
actor.process.file.hashes.algorithm字符串哈希算法
actor.process.file.hashes.value字符串哈希值
actor.process.file.company_name字符串执行进程可执行文件的公司名称
actor.process.file.version字符串执行进程可执行文件版本
actor.process.file.size长整型执行进程可执行文件大小(字节)
actor.process.file.accessed_time日期时间执行进程可执行文件最后访问时间
actor.process.file.modified_time日期时间执行进程可执行文件最后修改时间
actor.process.file.created_time日期时间执行进程可执行文件创建时间
actor.process.user.name字符串运行执行进程的用户名
actor.process.user.type_id长整型账户类型(1=用户,2=管理员,3=系统)

observables.name 值

observables.name描述
文件创建事件创建了文件
文件写入事件文件被写入
文件删除事件删除了文件
文件重命名事件文件被重命名
目录创建事件创建了目录

使用此字段作为快速过滤简写:

observables.name = "File Write Event"

示例查询

任何进程写入 Temp 的可执行文件:

class_name = "File Activity" and activity_id = 8 and file.ext = "exe" and file.path contains "Temp"

PowerShell 写入的文件:

class_name = "File Activity" and activity_id = 8 and actor.process.name = "powershell.exe"

双扩展名文件(例如,invoice.pdf.exe):

class_name = "File Activity" and file.name contains ".pdf.exe"

脚本引擎在用户可写路径中投放的文件:

class_name = "File Activity" and activity_id = 6 and actor.process.name in "powershell.exe","wscript.exe","cscript.exe","mshta.exe" and file.path contains "AppData" 

进程活动

class_name = "Process Activity" | class_uid = 1007

当进程启动、终止,或受到注入或模块加载操作时,会生成进程活动事件。这是唯一一个顶级 process.* 对象(目标进程)与 actor.process.*(启动进程)不同的类。

关键区别: actor.process = 执行动作的进程(例如,winword.exe 启动 cmd.exe)。process = 被操作的进程(例如,刚启动的 cmd.exe)。这只 在进程活动 事件中有效——在其他所有类中,process.* 不存在。

活动 ID 映射

activity_idactivity_nametype_uid描述
1启动100701进程被启动/创建
2终止100702进程被终止

目标进程 (process.*) —— 核心字段

字段类型描述
process.name字符串运行时进程名称(例如,cmd.exe)
process.pid长整型操作系统分配的 PID
process.uid字符串跨平台唯一进程实例 ID
process.cmd_line字符串包括参数的完整命令行
process.created_time日期时间进程创建时间戳
process.user.name字符串运行目标进程的用户名
process.user.type_id长整型账户类型
process.lineage_uidString[]目标进程的完整血统链

目标进程 — 文件元数据 (process.file.*)

字段类型描述
process.file.name字符串可执行文件名
process.file.path字符串完整可执行文件路径
process.file.sha256字符串可执行文件的 SHA-256
process.file.ext字符串文件扩展名
process.file.type_id长整型文件类型 ID
process.file.hashes.algorithm字符串哈希算法
process.file.hashes.value字符串哈希值
process.file.company_name字符串可执行文件的公司名称
process.file.version字符串可执行文件版本
process.file.size长整型可执行文件大小(字节)
process.file.accessed_time日期时间可执行文件的最后访问时间
process.file.modified_time日期时间可执行文件的最后修改时间
process.file.created_time日期时间可执行文件的创建时间

目标父进程 (process.parent_process.*)

字段类型描述
process.parent_process.name字符串父进程名称
process.parent_process.pid长整型父进程 PID
process.parent_process.uid字符串父进程唯一 ID
process.parent_process.cmd_line字符串父进程命令行
process.parent_process.file.name字符串父进程可执行文件名
process.parent_process.file.path字符串父进程可执行文件路径
process.parent_process.file.sha256字符串父进程可执行文件的 SHA-256
process.parent_process.file.hashes.algorithm字符串哈希算法
process.parent_process.file.hashes.value字符串哈希值
process.parent_process.file.company_name字符串父进程可执行文件的公司名称
process.parent_process.file.version字符串父进程可执行文件版本
process.parent_process.file.size长整型父进程可执行文件大小(字节)
process.parent_process.file.accessed_time日期时间父进程可执行文件的最后访问时间
process.parent_process.file.modified_time日期时间父进程可执行文件的最后修改时间
process.parent_process.file.created_time日期时间父进程可执行文件的创建时间
process.parent_process.user.name字符串运行父进程的用户名
process.parent_process.user.type_id长整型父进程用户账号类型

执行者——启动进程 (actor.process.*)

文件活动 > 行为进程中描述的结构相同。适用于所有事件类别。

示例查询

PowerShell 以 SYSTEM 身份启动:

class_name = "Process Activity" and activity_id = 1 and process.name = "powershell.exe" and process.user.type_id = 3

Word 生成的 cmd.exe(宏执行):

class_name = "Process Activity" and activity_id = 1 and process.name = "cmd.exe" and actor.process.name = "winword.exe"

lsass.exe 作为父进程(通过进程注入访问凭证):

class_name = "Process Activity" and activity_id = 1 and process.parent_process.name = "lsass.exe"

从临时目录启动的进程:

class_name = "Process Activity" and activity_id = 1 and process.file.path contains "Temp"

脚本引擎生成网络工具(双跳):

class_name = "Process Activity" and activity_id = 1 and process.name in "curl.exe","wget.exe","certutil.exe","bitsadmin.exe" and actor.process.name in "powershell.exe","wscript.exe","cscript.exe","mshta.exe"

认证

class_name = "Authentication" | class_uid = 3002

身份验证事件捕获终端上的登录活动 — 包括交互式和网络登录。此类事件对于检测暴力破解攻击、凭证滥用、横向移动以及通过账户上下文进行权限提升至关重要。

活动 ID 映射

activity_idactivity_nametype_uid描述
501登录300201用户尝试登录

登录状态

字段类型已知值描述
status字符串成功,失败人类可读的结果
status_id长整型0=未知,1=成功,2=失败,99=其他结果 ID
status_detail字符串登录成功供应商特定状态详情

行为用户 — 发起登录的人 (actor.user.*)

字段类型描述
actor.user.name字符串尝试或执行登录的用户名
actor.user.domain字符串用户的域(例如,WORKGROUP)

目标用户 — 被认证的用户 (user.*)

字段类型描述
user.name字符串认证用户的名称
user.type字符串账号类型标签(例如,用户,系统)
user.type_id长整型账号类型 ID(1=用户,2=管理员,3=系统)
user.domain字符串认证用户的域(例如,NT AUTHORITY)

登录类型

字段类型描述
logon_type字符串登录类型标签(例如,服务,交互式)
logon_type_id长整型登录类型 ID(参见以下参考)

登录类型 ID 参考

logon_type_id登录类型
0未知
1系统
2交互式
3网络
4批处理
5服务
7解锁
8网络明文
9新凭证
10远程交互
11缓存交互
12缓存远程交互
13缓存解锁
99其他

认证协议

字段类型描述
auth_protocol字符串认证协议标签(例如,协商,Kerberos)
auth_protocol_id长整型认证协议 ID(参见以下参考)

认证协议 ID 参考

auth_protocol_id协议
0未知
1NTLM
2Kerberos
3摘要
12LDAP

会话 & 来源

字段类型描述
session.uid字符串唯一会话标识符(例如,0x3E7)
is_remote布尔值身份验证是否为远程
src_endpoint.ip字符串登录请求的源 IP

示例查询

特定用户的失败登录:

class_name = "Authentication" and status_id = 2 and actor.user.name = "administrator"

所有失败登录(暴力破解狩猎):

class_name = "Authentication" and status_id = 2

来自意外源 IP 的成功登录:

class_name = "Authentication" and status_id = 1 and src_endpoint.ip != "10.0.0.0"

系统账号登录:

class_name = "Authentication" and status_id = 1 and user.type_id = 3

远程登录会话:

class_name = "Authentication" and is_remote = true

服务类型登录:

class_name = "Authentication" 且 logon_type_id = 5

使用 Kerberos 认证的登录:

class_name = "Authentication" 且 auth_protocol_id = 2

信任方