ETW-TI
ETW-TI 通常指 Windows 的
Microsoft-Windows-Threat-IntelligenceETW 事件提供程序。它把部分安全相关的内存和线程操作作为事件交给具备相应资格的消费者,帮助 EDR 还原内存执行与进程注入链。它本身不是内存扫描器、恶意代码判定器,也不是自动阻断功能。
这里的 “Threat Intelligence” 是提供程序名称,不等于云端 IOC 情报库。
它在 ETW 中的位置
ETW(Event Tracing for Windows)把事件生产、会话控制和事件消费分开:
Windows 内核中的相关操作
↓
Microsoft-Windows-Threat-Intelligence 提供事件
↓
ETW 会话按配置传递事件
↓
具备访问条件的安全产品消费并关联分析
ETW-TI 是一个事件源。EDR 还需要结合文件、模块、进程树、网络、内存检查等其他证据,才能判断事件是否属于攻击。用户态 API Hook 被绕过时,内核侧事件仍可能出现;是否真的采到,则取决于系统版本、事件覆盖、会话配置和传感器运行状态。
可能提供哪些线索
从Windows 10 17134 的提取清单可见,提供程序曾包含本进程与跨进程的虚拟内存分配、权限变更、映射、读写,以及 APC 排队、线程上下文修改等事件类别。JPCERT/CC 2024 年的 ETW 研究展示了较新系统上的不同关键词,因此旧版清单不应当作所有 Windows 版本的固定事件表。
| 事件类别 | 对研判的价值 | 不能单凭它证明什么 |
|---|---|---|
| 本进程分配、保护属性变化、映射 | 发现进程自己准备可执行区域的过程 | 载荷一定恶意,或该区域已经执行 |
| 跨进程分配、读写、保护属性变化、映射 | 关联发起进程与目标进程的内存操作 | 注入已经成功,或目标线程已运行载荷 |
| APC 排队、线程上下文修改 | 补充执行流可能被改变的线索 | 回调已经执行,或控制流最终到达预期地址 |
事件通常携带进程或线程标识、目标、地址、区域大小、保护属性等操作元数据;不能将它理解成自动保存了完整内存字节。CreateRemoteThread 也不宜直接列为 ETW-TI 的固定事件,远程线程需要结合其他线程遥测观察。
本进程与跨进程
ETW-TI 对这两种情况都可能提供线索,但研判问题不同:
本进程:同一 PID 内出现分配、权限变化、映射
→ 继续找可执行区域与实际执行证据
跨进程:发起 PID 对目标 PID 执行内存操作
→ 继续找目标进程的执行流与后续行为
例如,同进程解码并运行载荷时,可能完全没有 WriteProcessMemory 或远程线程事件;跨进程写入则不等于反射加载。内存链的具体判断见《内存执行》和《注入》。
谁能使用这些事件
ETW-TI 与普通可随手查看的 Windows 事件日志不同。公开的ETW-TI 实测研究指出,常规实时订阅面向具有反恶意软件保护级别的进程;普通管理员权限并不自动获得相同的消费能力。微软的受保护反恶意软件服务文档说明了安全产品服务使用受保护进程机制及其 ELAM、签名要求。
即使安全产品具备消费条件,也要看它是否启用了相关会话、关键字和处理逻辑。系统存在这个提供程序,不代表某个 EDR 已采集全部类别、保留全部字段或把原始事件上报到控制台。
检测价值与边界
ETW-TI 适合补充对内存操作的观察,尤其是正常文件加载或用户态 Hook 遥测不足时。只绕过用户态 Hook,并不能直接推断内核侧 ETW-TI 事件也消失;反过来,没有看到 ETW-TI 事件也不能证明操作没有发生。
研判时至少再核对三类证据:
- 内存状态:区域是私有页还是映像页、权限如何变化、是否与已知文件对应。
- 实际执行:线程起始地址、当前执行地址、调用栈或后续行为是否指向该区域。
- 采集健康:会话、关键字、产品服务、缓冲区和上报链路是否正常。
这也是误报控制所必需的。JIT、浏览器、调试器和安全软件都可能产生内存分配与权限变化。微软的 ETW 文档还说明,缓冲区、消费速度等条件可能造成事件丢失。ETW-TI 提供行为线索,但不保证全量记录,也不能替代内存扫描和上下文关联。
小结
ETW-TI 的价值是让安全产品有机会从内核侧看到本进程和跨进程的部分内存行为。它能增强EDR对内存载荷的观察,但事件是否出现、字段有多完整以及最终能否检测攻击,都取决于具体系统和产品的采集与分析能力。