gpt4 book ai didi

security - Spectre 例子

转载 作者:行者123 更新时间:2023-12-03 06:23:16 27 4
gpt4 key购买 nike

在 Spectre 中paper ,有一个利用越界数组访问的示例(第 1.2 节)。代码是

if (x < array1_size)
y = array2[ array1[x] * 256 ];

这个过程是用一些有效的x来训练正确的路径。值(value)观。然后是无效值x给定,同时假设 arra1_size未缓存。由于分支预测器认为条件为真,因此它将推测性地获取 array2 的偏移量。

现在,问题来了。在推测执行中,它必须获取 array1[x]其中 x 是恶意的并且超出范围。所以,array1[x]实际上是无效的!那攻击又是什么?!未获取有效数据!

谁能帮我解释一下吗?这里有什么误解吗?

最佳答案

So, array1[x] is actually invalid! Then what is the attack?! no valid data is fetched!

这就是攻击的要点。索引(即x)可能很大,因此我们能够访问我们不应该访问的数据。

例如,如果我们的代码位于 JavaScript 沙箱或 Java 虚拟机中,我们将能够访问沙箱/虚拟机之外的数据。

更重要的是,推测执行可能会访问内核页面,即我们无权访问的页面。这就是崩溃。

这是我的基于 Spectre 的 Meltdown 概念证明,只有 99 行,您可能会发现更容易理解:

https://github.com/berestovskyy/spectre-meltdown

关于security - Spectre 例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48130274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com