微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pime 和探针 vs 驱逐和重新加载

如何解决Pime 和探针 vs 驱逐和重新加载

我试图找出两种缓存侧信道攻击之间的区别:Prime 和 Probe vs evict 和 Reload。 两种攻击似乎是相同的——攻击者通过用自己的数据填充缓存集来从缓存集中驱逐数据,然后他定期测试是否存在缓存未命中或命中,这使他能够推断已完成的内存访问模式由受害者。 我确实在 Black Hat Asia 2017 上找到了一个讲座,他们解释说 Prime 和 Probe 不需要共享内存,所以我的假设是攻击都是相同的,但术语 Prime 和 Probe 指的是 evict 和 Reload on unshared内存?

解决方法

Evict+Reload 在中间使用共享内存(通常是共享库)。 攻击者首先使用驱逐集从缓存集中驱逐共享内存。如果受害者现在访问共享内存,它将覆盖缓存中攻击者的数据。攻击者现在还访问共享内存并测量它需要多长时间。如果速度快,受害者访问中间的共享内存,如果速度慢,他没有。

现在对于 Prime+Probe,攻击者首先用他的“驱逐集”来填充/填充缓存集。 受害者现在可以访问映射到相同缓存集的内存,从而驱逐攻击者的一些数据。现在攻击者访问他的所有内存并测量时间。如果速度快,受害者不会访问内存,如果速度慢,他会访问(因为我们有缓存未命中)。

所以本质上这两种攻击背后的想法是相似的,但 Prime+Probe 不需要共享内存,因此工作方式略有不同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。