(2)预测性存储转发
(3)预测性存储绕过
(4)攻击过程
图1 利用PSFP(1, 2a, 3a, 4a, 5, 6)和SSBP(1, 2b, 3b, 4b, 5, 6)的瞬态执行实现Spectre-V4攻击
因此,我们希望通过这一研究,回答以下问题:
在分析状态机和状态转移方式时,我们观察测试代码的执行时间,对不同的时间类型进行区分,并使用性能监控单元(Performance Monitor Unit, PMU)中的一些事件分析了不同执行时间的原因。在分析架构设计、表项数量和索引方式时,我们使用代码滑动方法,通过频繁地修改指令页的内容,来收集发生预测器表项碰撞地址,并对这些地址的数学特征进行分析。
图2 PSFP和SSBP的组织结构概览
图3 预测器的状态机设计
(2)安全性分析
(1)Spectre-STL
Spectre-STL,也被称为Spectre V4,已在AMD CPU上被发现。然而,由于预测器在上下文切换期间会被清空,因此利用范围仅限于单个进程。除了作为进程内攻击外,目前的研究还表明,Spectre-STL只能在原地被利用。虽然AMD声称可以进行非原地的利用,但由于相关的PSFP不是公开可用的,因此尚未有研究发现一种方法,在攻击者的地址空间内,并在攻击者的完全控制下,使用不同的存储加载对来实现Spectre-STL。我们提出了一种非原地的方法来利用PSFP,并在AMD Zen 3 CPU上进行了实现,这扩大了攻击面。我们通过在一个用户进程中泄露10000个随机生成的字节来测试非原地SpectreSTL的准确性和带宽,实现的准确率为99.95%,攻击平均每秒泄露416字节(B/s)。
图4 Spectre-CTL关键代码片段
图5 Spectre-CTL攻击概览
(3) 进程指纹攻击
(2)其它潜在缓解措施
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90252.html