漏洞
Spectre
别称: 推测执行攻击
定义
一类利用 CPU 推测执行,通过基于缓存的侧信道跨越安全边界泄露数据的微架构攻击。
Spectre 在 2018 年 1 月公开(CVE-2017-5753 变体 1、CVE-2017-5715 变体 2 及多种后续变体),利用现代乱序 CPU 在分支或间接跳转预测错误时仍会推测性地执行后续指令。这些瞬态指令会触及缓存,留下攻击者可通过精确计时观测的副作用,即使推测结果最终并未在体系结构上提交。Spectre 波及 Intel、AMD、ARM 等厂商,打破进程与虚拟机隔离,且很难完整修复。缓解措施包括编译器屏障(retpoline、LFENCE、speculative load hardening)、微码更新(IBRS、IBPB、STIBP、eIBRS)、进程隔离、浏览器中的站点隔离,以及新一代 CPU 的架构重新设计。
示例
- Spectre v1(Bounds Check Bypass):从用户进程泄露内核内存。
- Spectre v2(Branch Target Injection):在云环境中跨越虚拟机边界。