终端防御规避技术-11.早期启动反恶意软件驱动ELAM

传感器都有一个共同前提:系统已经起来,EDR 服务已经加载。但从内核初始化到安全软件驱动加载完成,中间有一段谁都没在看的空窗。bootkit 就是冲这段空窗来的。ELAM 是微软给反恶意软件厂商留的一条"比所有第三方驱动都早"的插槽,它解决的是启动顺序问题,不是检测能力问题。

一、驱动如何参与启动过程

一次完整的 Windows 启动大致是这条链:

固件(UEFI/BIOS)
   |
   v
bootmgr
   |
   v
winload.exe  ── 加载 ntoskrnl.exe 和 boot-start 驱动
   |
   v
ntoskrnl.exe 初始化 ── 加载 system-start 驱动,初始化内核子系统
   |
   v
会话管理器(smss.exe)
   |
   v
服务控制管理器(services.exe)── 加载 automatic 驱动、启动服务
   |
   v
用户登录

驱动服务的 Start 值决定它在这个链条里的位置:

| Start | 类型 | 加载时机 |
|

参与讨论