重探 Meltdown 3a 攻击:现状与威胁
1. 引言
微架构侧信道攻击已存在数十年,利用 CPU 实现的副作用来推断正在处理的数据的元信息。常见的侧信道攻击包括缓存攻击(如 Flush+Reload、Prime+Probe),可用于泄露加密密钥或侵犯用户隐私;还有基于 CPU 性能计数器的攻击,但现代 CPU 对性能计数器的访问进行了限制,这类攻击被认为已得到缓解。
2017 年,出现了以 Meltdown 和 Spectre 为代表的瞬态执行攻击。此后,多种瞬态执行攻击被发现。其中,Meltdown 3a(后称为 Meltdown - CPL - REG)常被认为不太关键,但它允许无特权的攻击者泄露特权系统寄存器的内容。CPU 厂商通过微代码更新来缓解其影响,但本文发现 Meltdown - CPL - REG 的攻击面比最初认为的更复杂,即使在攻击被发现 5 年后仍可被利用。
2. 背景知识
2.1 性能计数器
现代 CPU 提供性能计数器,帮助开发者分析和基准测试程序。性能计数器记录不同的微架构事件,如微操作的发出数量或 L1D 缓存中被逐出的缓存行数量。可使用 x86 指令 rdpmc 读取性能计数器的当前计数值,操作系统可配置执行 rdpmc 所需的特权级别。过去,无特权访问性能计数器被用于发起侧信道攻击和破解 KASLR,因此现代操作系统通常禁止对性能监控接口的访问。
2.2 侧信道
侧信道指从系统泄露的元信息,可用于推断系统正在处理的实际不可访问的数据。在 CPU 微架构中,元信息以多种形式出现,如功耗、访问时间和竞争。利用可观察到的元信息进行的攻击称为侧信道攻击,已被
超级会员免费看
订阅专栏 解锁全文
562

被折叠的 条评论
为什么被折叠?



