售前咨询
技术支持
渠道合作

Chrome浏览器安全新功能:网站隔离

Google Chrome启用网站隔离可减少Spectre攻击。

在2017 年 12 月发布的 Chrome 63引入一个新功能:网站隔离。网站隔离可加强网络安全,防止恶意网站干扰合法网站的功能。通常,Chrome通常把一个标签默认为一个进程,但是如果网页之间存在共享内容,就会共享同一个进程。而网站隔离可消除共享进程,确保不同网站在不同的进程上。以此防止发生类似Spectre和Meltdown的攻击。
由于开启网络隔离功能,需要占据10%的内存,因此Chrome当初并没有默认启用,用户只能通过手动设置启用该功能。但是在Chrome67中,网站隔离功能被默认启用。

Spectre和Meltdown漏洞

Spectre和Meltdown是同一漏洞的不同变体的两个名称。允许恶意程序窃取在受影响机器上处理的敏感数据。

Meltdown漏洞影响几乎所有的Intel CPU和部分ARM CPU,破坏了位于用户和操作系统之间的基本隔离,此攻击允许程序访问内存,因此其他程序以及操作系统的敏感信息会被窃取
而Spectre则影响所有的Intel CPU和AMD CPU,以及主流的ARM CPU。破坏了不同应用程序之间的隔离。

这两款漏洞几乎影响到过去20年制造的每一种计算设备,从个人电脑、服务器、云计算机服务器到移动端的智能手机,都受到这两组硬件漏洞的影响。

Spectre和Meltdown漏洞对浏览器的影响

Google和其他主流浏览器厂商面临的问题是,Spectre和Meltdown可以启用“不值得信任的代码”来潜在地读取其进程地址、空间中的任何内存。

Google的Charlie Rei曾在博客提到:
“这对于Web浏览器十分重要,因为浏览器通常在同一进程中运行多个网站的潜在恶意JavaScript代码。从理论来说,网站可能会使用此类攻击来窃取其他网站的信息,违反同源政策。所有主流浏览器都已经为Spectre 部署了一些缓解措施,包括减少计时器粒度和更改其JavaScript编译器以使攻击不太可能成功。但是,我们认为最有效的缓解措施是通过网站隔离来解决,即使发生Spectre攻击,可避免在同一进程中窃取到有用数据。”

而Spectre攻击可窃取其他网站的信息。而同源策略在Web应用程序安全性的一个重要机制:在Web浏览器默认中,当两个Web页面具有相同的来源时,允许第一个Web页面中包含的脚本访问第二个Web页面中的数据。其中Mozilla将来源定义为:

“如果协议,端口(如果指定了一个端口)和主机对两个页面都相同,则两个页面具有相同的来源。”

同源策略是浏览器最核心也最基本的安全功能。微软的Eric Lawrence曾说过:

“如果来自一个来源的内容能够读取另一个来源加载的内容,则一个站点可以轻松攻击另一个站点。例如,来自attacker.com的IFRAME可以从yourbank.com读取另一个IFRAME的内容。站点一旦遭遇网络攻击,其后果不可设想。

Spectre和Meltdown漏洞对浏览器(包括Chrome在内)的影响十分严峻。
站点隔离可防止Spectre和Meltdown漏洞
站点隔离是Chrome浏览器的一项新功能,同时Chromium工程师对浏览器的架构发生改变。因此站点隔离功能可隔离了每个选项卡,并将每个渲染器进程限制为来自单个站点(单个原点)的文档。

“启用站点隔离后,每个渲染器进程最多包含一个站点的文档。这意味着跨站点文档的所有导航都会导致选项卡切换进程。也意味着使用“ 进程外iframe ” 将所有跨站点iframe放入与其父框架不同的进程中。在多个进程之间拆分单个页面,是Chrome工作方式和Chrome安全团队多年来一直追求重大变化。基于Spectre攻击,进程外iframe终于被嵌入Chrome扩展安全模型。“

但即使网站隔离功能正常工作,仍然存在信息泄露的可能性。如果攻击者的页面请求它们作为子资源,它仍然可以访问并泄漏来自跨站点URL的信息。

例如,浏览器通常允许站点的图像和脚本页面嵌入。页面请求具有敏感数据的HTML或JSON URL,这就会导致页面出错并且不显示,但数据仍可在Spectre攻击,访问它的渲染器进程中结束。

因此,站点隔离还包括一个称为跨源读取阻塞(CORB)的功能,作为Fetch规范的一部分。此功能将阻止来自渲染器的跨站点HTML,XML和JSON响应。Google建议网络开发人员检查是否使用正确的MIME类型和nosniff响应标头来提供资源。

上一篇:

下一篇:

相关文章