You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UEFI驱动能否拦截同权限恶意UEFI NTFS驱动的文件删除操作

核心问题解答

1. 同权限级别的驱动能否阻止另一个驱动执行任意指令?

结论是理论可行,实际落地取决于执行优先级和拦截点可用性。
不管是ring 0的Windows内核驱动,还是ring -1的UEFI DXE驱动、ring -2的SMM(系统管理模式)代码,同一权限环下没有硬件级别的强制权限隔离,只要你的代码能更早执行、拿到关键函数/接口的控制权,就可以拦截、篡改同权限其他代码的操作。

2. 单个驱动能否阻止另一个驱动删除磁盘文件?

分两层场景说明:

  • Windows内核层(ring 0):完全可行,且有官方成熟方案
    用微软提供的文件微过滤驱动(Minifilter)框架即可实现,你只要将自己的过滤驱动挂载到高于其他驱动的海拔,就能捕获所有文件删除相关的IRP请求(对应IRP_MJ_SET_INFORMATION的FileDispositionInformation操作类),直接返回拒绝即可阻止删除,完全不需要做非官方的内核hook,稳定性有保障。你提到的用户态DeleteFileA这类API的最终操作都会走到这个流程,完全可以被拦截。
  • UEFI/固件层:可行,但需要适配UEFI规范
    所有UEFI DXE阶段的驱动都是同权限运行的,你只要保证自己的防护驱动加载顺序早于恶意NTFS驱动、存储栈驱动,就可以通过hook UEFI块IO协议(Block I/O Protocol)的写操作,或者hook NTFS驱动的文件操作接口实现拦截。

3. 恶意UEFI NTFS驱动删除文件的可拦截特征

恶意UEFI驱动执行NTFS文件删除的操作流程是标准化的,有明确的可检测特征:

  • 首先会读取NTFS卷引导扇区,定位MFT(主文件表)的物理位置
  • 遍历MFT找到目标文件的对应记录项
  • 修改MFT记录中的文件状态标记为删除,同时更新NTFS簇位图标记对应存储空间为可用
  • 调用UEFI块IO协议的写接口,将修改后的MFT记录、簇位图写回磁盘
    你只要在块IO层拦截所有写入MFT区域、簇位图区域的请求,检查操作是否为修改文件删除标记,就能实现检测和拦截。

4. 逆向UEFI固件是否有价值

完全不需要全量逆向UEFI驱动,不管是微软自带的UEFI NTFS驱动还是EDK2开源实现的NTFS驱动,都遵循UEFI规范,对外导出的协议接口是公开标准化的,你只需要针对公开的协议接口做hook即可,不需要逆向具体实现逻辑,不会做无用功。

5. 硬件SATA分路器方案是否过度设计

普通场景下属于过度设计:

  • 只有当你的防护目标是对抗全固件栈被攻陷的场景(比如攻击者会恶意删除你的UEFI防护驱动),硬件层面的拦截才有必要
  • 绝大多数企业场景下,内核层minifilter+UEFI层防护驱动的组合已经足以覆盖99%的文件删除防护需求,实现成本和维护成本远低于硬件方案。

6. SMM级别rootkit的拦截补充

SMM(ring -2)级别的拦截门槛更高:SMM代码运行在独立的SMRAM内存区域,默认对操作系统不可见,只有同处于SMM的代码能互相访问。要拦截SMM级别的文件删除操作,你需要自己实现SMM级的拦截代码,hook SMI中断的分发流程,或者监控SATA控制器的IO寄存器操作,这部分没有统一的标准实现,需要针对不同厂商的BIOS做适配。


内容的提问来源于stack exchange,提问作者J.Todd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 03:39:01