patapik/uefi-persistence-whitepaper
GitHub: patapik/uefi-persistence-whitepaper
一份面向防御者的 UEFI 固件持久化分析白皮书,涵盖已知 bootkit 与固件植入物的技术原理、检测规则及分层缓解策略。
Stars: 0 | Forks: 0
# 固件持久化技术
**高级 UEFI 与嵌入式持久化分析**
**作者:** Maciej Gojny — GG Advanced IT Security ([ggsec.de](https://ggsec.de))
**版本:** 1.2
**日期:** 2026年7月
**密级:** TLP:WHITE — 公开发布
## 📄 概述
本白皮书针对现代网络行动中旨在攻击 UEFI 固件、嵌入式系统、存储控制器和引导环境的固件级持久化技术,提供了技术概述。
与传统的 OS 持久化不同,固件级机制可以存活于:
- 操作系统重装
- 磁盘格式化与更换
- 传统的 EDR/AV 威胁清除
本文档面向防御性安全从业者、固件审计员和企业安全架构师编写。出于安全考虑,特意省略了攻击性的实施细节。
## 🆕 1.2 版本的新内容
| 章节 | 变更 |
|---------|--------|
| **§4.1** | 新增 — **bootkit 与固件植入物对比**:并行对比驻留在 ESP 和驻留在 SPI 的持久化机制,包括决定清除成本的“在磁盘更换后存活”能力区分 |
| **§3.5** | 扩展 — 将 OEM 持久化模块作为一类独立威胁,并提供结构化检测指南 |
| **§9** | 新增 — **2026 年 Secure Boot 信任锚过渡** 及免撤销冻结的故障模式 |
| **§5.2** | 更新 — 工具表现在首推 `ggfw`,即 GGSEC 的固件分析工具包 |
| **§5.5** | 新增 — SPI 获取注意事项:在描述符访问被拒绝时,主机侧转储可能会返回空白的 ME 区域 |
| **§8** | 时间线扩展至 2025 年(Gigabyte App Center、PKfail、HybridPetya) |
| **§11** | 新增 — 方法论与局限性 |
| 通篇 | 已根据原始厂商和研究人员来源核实 CVE 引用 |
## 🎯 关键主题
| 类别 | 涵盖技术 |
|----------|--------------------|
| **持久化** | WPBT 滥用、NVRAM/UEFI 变量、SPI flash 修改、存储控制器固件 (HPA/DCO) |
| **Bootkit** | BlackLotus (**CVE-2022-21894 "Baton Drop"**)、ESPecter、Bootkitty |
| **固件植入物** | LoJax (APT28)、MosaicRegressor、MoonBounce (APT41, `CORE_DXE`)、CosmicStrand |
| **OEM 持久化模块** | Absolute Computrace/LoJack、Lenovo Service Engine、GIGABYTE App Center、厂商密码恢复路径 (ASUS、HP) |
| **供应链** | PKfail (CVE-2024-8105)、泄露的 AMI 测试 Platform Key |
| **信任锚** | 2026 年 6 月 Secure Boot 证书过期;KEK/DB/DBX 生命周期 |
| **检测** | `ggfw`、CHIPSEC、UEFITool、Binwalk、Ghidra、fwupd/LVFS;Sigma 规则;Splunk 查询 |
| **缓解措施** | Secure Boot、TPM 2.0、Boot Guard / AMD PSP、WDAC、HVCI、SPI 写保护、P1–P3 路线图 |
## ⚠️ 常见混淆概念
以下是公开报道中反复出现并在文中明确澄清的两个误区:
- **BlackLotus 利用的是 CVE-2022-21894 ("Baton Drop")**,这是 Windows Boot Manager 中的一个 Secure Boot 绕过漏洞。CVE-2023-24932 是一个相关但独立的绕过漏洞,其修复需要手动选择启用。两者都很重要;但它们不是同一个问题。
- **BlackLotus 持久化在 EFI System Partition 上,而不是在 SPI flash 中。** 它是一种 bootkit,而不是固件植入物。擦除 ESP 并重装 OS 就足够了 — 不需要物理重新刷写。请将物理重新刷写保留给已确认驻留在 SPI 的植入物(如 LoJax 或 MoonBounce)。
## 📁 仓库内容
| 路径 | 描述 |
|------|-------------|
| `GGSEC_Firmware_Persistence_v12.pdf` | 完整白皮书(14 页) |
| `sigma_rule_uefi_esp.yml` | Sigma 规则 — 未签名的 `.efi` 文件被写入 ESP |
| `splunk_secureboot_tampering.txt` | Splunk 查询 — Secure Boot / BitLocker 篡改事件 |
| `diagrams/` | 启动流程图 (SEC → PEI → DXE → BDS → TSL → RT) |
| `src/` | HTML 源码和构建脚本 — PDF 是生成的,而非手动编辑 |
## 🚀 快速开始
1. 阅读白皮书,或直接跳转到 §10 查看优先行动计划
2. 实施 **P1** 控制:Secure Boot + TPM 2.0 + BitLocker、WDAC 策略、最新的 DBX
3. **盘点您整个机队中的 KEK 证书年份** — 2011 年还是 2023 年 — 为 2026 年 6 月的过期做好准备
4. 通过 Sysmon 部署 Sigma 规则以监控 ESP
5. 在具有代表性的设备样本上运行离线 SPI 分析
## 🔧 构建 PDF
PDF 由 HTML 生成。编辑源码,重新构建,然后同时提交两者。
```
pip install weasyprint
cd src/
python3 build_pdf.py
```
构建过程完全离线 — 字体已打包在 `src/fonts/` 中。无需网络访问。
## 📚 参考资料
ESET Research · Kaspersky GReAT · Microsoft MSRC · NSA · Binarly REsearch · Eclypsium · MITRE ATT&CK · NIST SP 800-193 · UEFI Forum
完整引用列表见白皮书第 §12 章。
## 🔗 相关内容
- **UEFI 攻击面研究** — 配套论文,涵盖 bootkit 架构、Secure Boot 绕过技术、SMM (Ring -2)、DXE 驱动分析以及实用的固件工件
## 📝 许可证
CC BY-NC 4.0 — GGSEC Research
## 👤 作者
**Maciej Gojny** — GGSEC Research
GitHub: [@patapik](https://github.com/patapik) · 网址: [ggsec.de](https://ggsec.de)
标签:DAST, meg, UEFI固件, 信息安全, 多模态安全, 威胁情报, 开发者工具, 恶意软件分析, 漏洞靶场, 逆向工具, 防御检测