“Barzakh”(برزخ)——两个领域之间的屏障;分隔生者世界与灵魂世界的无形边界。在此,它代表攻击与防御之间、脆弱性与检测之间的屏障。
最全面的开源 UEFI 固件安全研究平台
从 Ring 0 到 Ring -4 的攻击模拟 | 132 个检测引擎 | 闭环对手验证
⚠️ 学术研究项目 — 仅限防御性安全
本平台旨在研究固件威胁并构建针对它们的防御。它包含带有硬件级终止开关的实时攻击模拟。访问本仓库即表示您同意仅将其用于合法的安全研究和教育目的。
Barzakh 是一个全栈固件安全研究平台,对跨越每个特权环的真实世界 bootkit TTP 进行建模——从 UEFI DXE 驱动(Ring 0)向下贯穿 SMM、Intel ME、AMD PSP、平台 DMA 控制器(Ring -3),直至 CPU 微架构威胁(Ring -4)。它将每种攻击技术与相应的检测引擎配对,构建出一个闭环系统,使每次攻击既可复现又可检测。
核心能力:
barzakh-server 提供 Web 仪表板和 JSON API(端口 8420),支持计划扫描和风险评分趋势barzakh-agent 监视固件目标、记录历史并将发现转发至 SIEM(Elastic ECS、ArcSight CEF、QRadar LEEF)或 webhook| 威胁 | 技术 | Barzakh 覆盖 |
|---|---|---|
| BlackLotus (CVE-2023-24932) | 通过存在漏洞的 shim 绕过安全启动 | blacklotus 检测器 + blacklotus_mok 载荷 |
| LogoFAIL (CVE-2023-40238) | UEFI 固件中的图像解析器溢出 | logofail 检测器 + logofail_image 载荷 |
| PixieFail (CVE-2023-45229+) | EDK2 中的网络栈缓冲区溢出 | pixiefail 检测器 + pixiefail_dhcp 载荷 |
| CosmicStrand | SPI 闪存 DXE 持久化 | FV 完整性 + SPI 区域 + 持久化检测器 |
| LoJax | 首个野外发现的 SPI 植入 | ME/SPI 检测器 + 闪存描述符分析 |
| MoonBounce | SPI 闪存中被修改的核心 DXE | 启动服务钩子 + 固件卷差异比对 |
| MosaicRegressor | UEFI 持久化框架 | 多阶段:FV 篡改 + PE 注入 + 跳板 |
| Hacking Team (RCS) | 带 Option ROM 的 UEFI rootkit | Option ROM 检测器 + PCI 扩展分析 |
| FinSpy | UEFI 引导加载程序修改 | ExitBootServices 拦截 + 内存扫描 |
| Bootkitty (2024) | 首个 Linux UEFI bootkit,GRUB 签名绕过 | linux_bootchain 检测器 + bootkitty_grub_patch 载荷 |
| CVE-2024-7344 | 已签名的重载器加载未签名的 PE 载荷 | reloader 检测器 + secureboot_reloader 载荷 |
| CVE-2023-1017/1018 | TPM 2.0 参考实现缓冲区溢出 | tpm_command 检测器 + tpm_ref_overflow 载荷 |
21 个 EDK II 模块,覆盖 3 种架构(x86_64、AArch64、RISC-V),模拟所有已知的固件持久化技术:
| 模块 | Ring | 技术 |
|---|---|---|
DxeInject | 0 | DXE 阶段驱动注入 — LoadImage/StartImage + SetVariable 钩子、FV 持久化、带 FVB2/Boot Guard 后端的 SPI 闪存模拟器、终止开关 |
ExitBootHook | 0 | ExitBootServices 拦截 + MSR 钩子 |
SpiChipsetEmulator | -1 | 芯片组级 SPI 接口模拟 |
SmmPersistence | -1 | SMM 处理程序安装与 SMRAM 持久化 |
CapsuleHijack | -1 | UEFI 胶囊更新机制滥用 |
AcpiTableInject | -2 | 用于内核内存访问的 ACPI 表注入 |
VirtualAddressMapHook | -2 | EFI 运行时服务钩子 |
PciOptionRom | -2 | PCI Option ROM 植入 |
MeSpiManipulation | -3 | Intel ME SPI 闪存区域操纵 |
HeciIntercept | -3 | 主机-ME 通信通道拦截 |
MeDmaAttack | -3 | ME 发起的对主机内存的 DMA |
AmtSolChannel | -3 | AMT Serial-over-LAN 隐蔽通道 |
FtpmCommandForge | -3 | 通过 PSP 邮箱伪造 AMD fTPM 命令 |
| 模块 | 技术 |
|---|---|
Aarch64DxeInject | 带 EL 感知载荷的 ARM64 DXE 注入 |
ExceptionVectorHook | VBAR_EL1 异常表重定位 |
El3SecureMonitor | EL3 安全监控器调用拦截 |
TzascManipulation | TrustZone 地址空间控制器绕过 |
DeviceTreeInject | 用于持久化的设备树 Blob 修改 |
IbootTrustChain | Apple iBoot 信任链颠覆 |
SepMailboxIntercept | Apple SEP(安全隔区)邮箱拦截 |
| 模块 | 技术 |
|---|---|
RiscVDxeInject | RISC-V 平台上的 M 模式固件注入 |
所有攻击模块均附带 SIMULATION_MODE = TRUE — 它们仅对行为建模,不执行真实硬件操作。有关受控的真实硬件测试路径,请参阅 docs/LAB_TESTING.md。
132 个专用检测器,按攻击面组织,并支持通过 TOML 规则、IOC 源、YARA 子集规则和 ML 模型进行运行时扩展检测: