该谈谈可信执行环境了:一份 TEE 攻击清单
来源:alinush.github.io — 2026-10-11
📋 概述
Alin Tomescu 把近年针对 TEE 的攻击串成一份劝退清单,目标是让人重新考虑要不要把应用部署进可信执行环境。他先指出信任硬件厂商本身就是问题:Intel、AMD 主要比性能、功能、开发者友好度,安全性难以在市场上被公正评判,而现代 CPU 的复杂度和侧信道让安全声明本身就很勉强。清单分四类:一、飞地代码自身的 bug,例如 Signal 的联系人发现飞地存在内存安全问题,可被宿主误导并泄露自身内存;二、远程认证伪造,从 2018 年 Foreshadow 首次窃取 SGX 认证密钥,到 2024 年 BadRAM、2025 年 WireTap.fail 与 TEE.fail、2026 年 DDRrop,一路都是内存总线介入攻击;三、Intel TDX 的认证伪造,作者强调「你的验证者接受任何一台状态良好的 Intel CPU 的 quote,而攻击者的 CPU 就是其中之一」,除非把验证者钉死在自己的 PCK 证书上——那是把脚枪交到自己手里;四、活性故障,如 2018 年因 Spectre/Meltdown 吊销 SGX 凭证导致飞地瘫痪。结论很直白:别把有价值的密钥放进 TEE。
🔑 核心要点
- 飞地平台安全不等于飞地安全:Signal 的联系人发现飞地存在内存安全问题,宿主可误导它泄露自身内存
- 认证伪造是一条连续的时间线:2018 Foreshadow、2020 SGAxe、2022 ÆPIC Leak、2024 BadRAM、2025 WireTap.fail 与 TEE.fail、2026 DDRrop
- 物理攻击不是别人的威胁模型:只需约 10 美元重写内存条 SPD 芯片,就能让正品 AMD 芯片为一台被植入后门的虚拟机出具真实签名的报告
- 「一次攻破即全体攻破」:你的远程认证验证者会接受地球上任何一台正常 Intel CPU 的 quote,而攻击者的 CPU 正好也在其中
- 唯一出路是把验证者钉死在自己的 PCK 证书上,作者称之为「有效但需要你亲手把玩一把脚枪」,还得自己维护一套 PKI
- 活性也被排除在威胁模型之外:宿主可以直接拒绝调度飞地,2018 年吊销 SGX 凭证就让大量飞地瘫痪,SGX.fail 则记录了 TCB 修复的漫长滞后
💡 金句
别把有价值的秘密放进你的 TEE,否则它们很可能会变成公开的,尤其是当物理攻击也在你的威胁模型里时。
👍 0
👎 0
← 返回 Lobsters 首页