7

昨天(2018-01-03)来自 Google Project Zero 的研究人员 Jann Horn 发表了一篇名为《旁路读取未授权内存的攻击技术》的博文。文中列举了一系列针对现代 CPU 使用的执行优化的新攻击技术。

随后 Firefox 和 Chrome 也纷纷发布文章表示将在新版本中禁用 SharedArrayBuffer 功能。

这个漏洞也影响到了 WebAssembly。

Chrome 浏览器为每个标签页启动一个单独进程,但是并没有默认开启“网站隔离”功能。可以通过在地址栏输入 chrome://flags/#enable-site-per-process 手动开启。开启网站隔离功能后,Chrome 会为您的浏览器提供更多的安全保护措施。

网站隔离功能的已知问题:

  • 内存:网站隔离功能将使 Chrome 的内存使用量增加约 10–20%.。
  • 打印:跨网站 iframe 会显示为空白。要打印整个网页,请将网页保存到您的计算机上。然后,打开保存的文件并进行打印。
  • DevTools:开启网站隔离功能后,Chrome 开发者工具将不完全支持跨网站 iframe。

在启用网站隔离功能的情况下,由于 Chrome 在单独的进程中为每个打开的网站呈现内容,所以暴露于旁路攻击的数据会减少。

Chrome 的 JavaScript 引擎 V8 将包括从 Chrome 64 开始的缓解措施,该措施将于 2018 年1 月 23 日左右发布。未来的 Chrome 版本将包括额外的缓解措施和强化措施,这将进一步降低此类攻击的影响。缓解措施可能会导致性能损失。

而 Firefox 和 Chrome 都禁用了 SharedArrayBuffer API 并修改了 performance.now() 的行为。Firefox 将 performance.now() 的精度降低到了 20µs,而 Chrome 目前还没有给出具体的数据。

这些都是临时措施,以后会在不影响性能的前提下防御这种攻击。


justjavac
47.8k 声望15.9k 粉丝

会写点 js 代码