# Fabricked攻击：利用Infinity Fabric打破AMD SEV-SNP安全屏障

XCA（Cross-Component Attack）研究团队披露一项针对 AMD EPYC 处理器的纯软件攻击——通过篡改 Infinity Fabric 配置，完全突破 SEV-SNP 机密虚拟机的安全保护。

## 攻击概要

- **攻击名：** Fabricked
- **CVE：** CVE-2025-54510
- **影响：** Zen 5 EPYC（确认）、Zen 3 / Zen 4（推测）
- **成功率：** **100% 确定**
- **性质：** 纯软件攻击，无需物理接触，无需客户机代码
- **漏洞报告：** 2025年8月3日报送 AMD → 2026年4月14日解除 Embargo

## 技术原理

### AMD SEV-SNP 是什么？
机密虚拟机（CVM）的硬件安全扩展，提供内存加密和完整性保护，确保宿主机（hypervisor）也无法读取客户机内存。

### Infinity Fabric 是什么？
AMD 小芯片架构中的高速互连总线，负责数据传输和内存路由。其部分配置委托给 **UEFI（BIOS）**，而在 SEV-SNP 威胁模型中，UEFI 被视为**不可信**。

### 攻击流程
1. **恶意 hypervisor** 修改 UEFI 以跳过锁定 Infinity Fabric 的 API 调用
2. SEV-SNP 激活后，攻击者重新配置 Infinity Fabric 以**重定向 DRAM 内存事务**
3. SEV-SNP 初始化时，PSP（平台安全处理器）将 RMP（反向页表）写入 DRAM
4. 通过错误配置的 Infinity Fabric，**这些写入被丢弃**，RMP 维持在默认不安全状态
5. 后续 CVM 在无保护的 RMP 下启动 → hypervisor 可**任意读写** CVM 内存

### 根本原因
1. Hypervisor 可通过不可信的 UEFI 篡改 Infinity Fabric 路由规则
2. 被篡改的规则优先级高于正确规则，静默重定向 PSP 写入

## 影响范围

- **不影响** 非机密虚拟机（不依赖安全保证）
- **不影响** SEV / SEV-ES（无完整性保证）
- **不影响** Intel TDX 或 Arm CCA
- Intel 也有类似内部问题（INTEL-SA-00960），但攻击方式不同

## 与 BreakFAST 的区别

| 攻击 | 目标组件 | 机制 |
|------|----------|------|
| **Fabricked** | IOMS | 丢弃 PSP 写入（RMP 未初始化） |
| **BreakFAST** | I/O 交叉开关 | 将 PSP 流量重定向到控制 Fabric |

---

## 参考链接

- [Fabricked 论文](https://xca-attacks.github.io/fabricked/)
- [AMD 安全公告（CVE-2025-54510）](https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3034.html)
- USENIX Security '26 论文
