Chrome和其他浏览器是如何一起保护你免受幽灵的攻击?
   来源:自黑科技     2019年01月29日 23:38

在谷歌I/O开发者大会期间,来自Chrome安全团队的克里斯·帕尔默谈到了谷歌和其他浏览器开发人员如何努力保护网络用户免受基于spectrem的攻击。在1月份报告的两个处理器漏洞中,“幽灵”理论上可以允许黑客通过一个被入侵的网站访问敏感数据,这需要不同的浏览器如何呈现你喜欢的网站。

正如之前报道的《幽灵党》首次披露时,处理器速度的一部分是基于预测当前任务的最终结果的最快路径。它使用大量的“if/then”方法来测试结果,将这些数据加载到本地的芯片内存中(也就是缓存)。在《幽灵党》中存在的问题是,尽管没有采取这些途径,数据仍然存在于缓存中,并且可以在特权级别、流程和web页面起源中看到。

基于这些剩余数据,攻击者可以将代码插入到运行在循环中的JavaScript中,并最终获得对“不受限制”的敏感信息的访问。有可用的解决方案,但它们严重阻碍了处理器的性能。有一些替代方案,但它们需要浏览器开发者之间的合作,而这通常是不可能的。

为了网络的安全而一起工作。

另一种方法需要改变web浏览器呈现网页的方式,而这正是竞争浏览器开发人员共同努力解决问题的地方。例如,网页通常由不同来源的不同部分组成,并呈现为单一页面。但也可能存在一个“敌对的”来源,其中包含一个元素,利用所谓的“小工具”来利用“幽灵”的脆弱性。这些小工具可以读取由“安全”来源生成的数据。

谷歌在Chrome上的第一个补丁是关闭SharedArrayBuffer的功能,因此黑客无法跟踪数据从处理器缓存到系统内存时的使用时间。帕尔默说,这种方法是最容易利用的方法。

他说:“其他浏览器也做了类似的事情,我们都合作过,想知道我们是如何做到这一点的,这不会伤害网络,让我们都在同一个页面上。”“这是一个很开心的故事,来自于很多不同浏览器厂商的安全团队之间的合作。”这对我们所有人来说都是一段很好的经历,我想我们会在每个人的帮助下推出一个更好的网络。

另一个“解决方案”是在微尺度上关闭处理器的猜测,并改变编译代码的方式,以防止投机工具的出现。这并没有提供100%的保护,但却让谷歌的团队“有喘息的空间”来制定长期的修复方案。

上面显示的站点隔离是另一个对付幽灵的有用工具。它本质上是将“好”与“坏”的起源分离开来,通过自己的渲染过程来分配每个起源。因此,起源是相互隔离的,并防止任何突然变成邪恶的起源。那个邪恶的起源只能读取它自己的数据。

他说,不幸的是,站点隔离和相应的跨源读取阻塞组件将需要10%的系统内存使用。

浏览器 起源 幽灵