我看到 Chrome 和 Mozilla 已在其 JavaScript 引擎中添加了针对 Spectre 漏洞(CVE-2017-5753 和 CVE-2017-5715)的缓解措施。但是,我找不到任何有关在 JVM 上运行的 JavaScript 引擎的信息,例如 Rhino 和 Nashorn。
是否有任何理由认为这些 javascript 引擎无法执行利用该漏洞的代码?
谢谢
我看到 Chrome 和 Mozilla 已在其 JavaScript 引擎中添加了针对 Spectre 漏洞(CVE-2017-5753 和 CVE-2017-5715)的缓解措施。但是,我找不到任何有关在 JVM 上运行的 JavaScript 引擎的信息,例如 Rhino 和 Nashorn。
是否有任何理由认为这些 javascript 引擎无法执行利用该漏洞的代码?
谢谢
OpenJDK 中当前的 JavaScript 引擎是解释型的,这使得这些类型的攻击变得困难。推测性执行是有限的,并且检测缓存变化的时间很紧。在最好的情况下,这似乎不是高带宽攻击。
但是,预计会感到惊讶。推测执行可以一步完成,而无需返回到 JavaScript。由于 JavaScript 对 Java 库的统治相对自由,也许其中有一些东西可以将计时作为副作用。
另一方面,如果我是为了乐趣或利润而开发漏洞(我不是),我会选择一个更容易且更有价值的目标。
利用 Spectre(和 Meltdown)需要能够以相当高的精度(在现代 CPU 上,在几十纳秒范围内)对事物进行计时。不进行 JIT 编译的 Javascript 引擎无法提供执行此操作所需的精度。