谷歌Chrome的网站隔离安全功能现在也在Android设备上以有限的方式提供。
谷歌今天表示,如果Android用户的Chrome访问一个输入密码的网站,Chrome将在一个单独的Android过程中将该网站与所有其他选项卡隔离,从而使用户的数据免受类似幽灵的攻击。
此外,自2018年7月以来一直可供桌面用户使用的站点隔离也已扩展到Windows、Mac、Linux和ChromeOS用户,这些用户现在比原来的Meltdown和Spectre漏洞得到了更多的攻击保护。
网站隔离(Site Isolation)是谷歌开始开发的一个Chrome安全功能,作为将每个网站与其他网站隔离的一种方式,因此在一个网站/标签上运行的恶意代码无法从其他网站/标签上窃取数据。
网站隔离是为了作为第二层保护在相同的起源政策(SOP)之上,这是一个浏览器功能,防止网站访问彼此的数据。谷歌开发了站点隔离,因为浏览器错误通常允许站点跳过SOP障碍,并窃取由其他站点创建的浏览器中存储的用户数据。
铬工程师于2017年开始在现场隔离工作,并于2018年5月发布Chrome67,到2018年7月覆盖率达到99%。
当时,谷歌称网站隔离是一个胜利,尽管网站隔离不能充分发挥其潜力。
该功能的推出恰好是为了提供保护,以防止侧通道攻击,如Meltdown和Spectre,这两个漏洞影响CPU,2018年初披露,并可能允许攻击者跳过应用程序之间的障碍,并从Chrome窃取数据。
虽然站点隔离从未被设计用来阻止CPU错误,但它确实阻止了这些类型的问题;因此,谷歌选择推出它的原因,即使它不是最初设想的站点隔离工作方式。
但在幕后,2018年7月后,网站隔离工作继续进行,谷歌工程师将网站隔离建设成他们最初想创建的综合安全功能。今天,谷歌宣布了两个主要的发展计划,以及未来的网站隔离计划。
第一个问题是,一些Android用户现在可以使用站点隔离。
谷歌今天说,它使网站隔离99%的Chrome Android用户群,其中有一个智能手机与2GB或更多的RAM。
在这些设备上,当用户访问输入密码的站点时,Chrome将把该站点旋转到自己的进程中,以保护站点和用户的数据不受其他站点上运行的类似Spectre的恶意代码的影响。
网站隔离是在Chrome中为Android v77添加的,上个月在9月发布。更新到此版本并拥有具有2GB以上RAM的手机的用户已经启用了该功能。
当启用时,谷歌表示,它预计站点隔离功能将导致内存使用增加3-5%。
没有拥有足够内存的设备的Chrome Android用户,或者希望在所有站点(不仅仅是那些输入密码的站点)上使用站点隔离的用户,都可以访问chrome:/flags/#enable-site-per-process,以便在任何时候启用站点隔离。然而,谷歌说,这也会引起更高的RAM开销,用户应该知道。
但是,当SiteIsolation在智能手机上迈出了第一步时,该功能正在桌面上扩展。
根据谷歌的说法,从上个月发布的Chrome77开始,桌面上的站点隔离可以保护用户免受更多的剥削类型,而不是最初对侧通道(Spectre-like)攻击的支持。
谷歌工程师今天说:“我们最初的发射目标是类似光谱的攻击,它可能会泄露给定的渲染器过程中的任何数据。”“站点隔离现在可以处理甚至严重的攻击,如果渲染器进程通过安全错误完全受到损害,例如内存损坏错误或通用交叉脚本逻辑错误。”
内存错误和UXSS漏洞过去一直在使用。攻击者通常在利用这些类型漏洞的网站上放置恶意代码。当用户访问恶意站点时,漏洞代码将触发,并从其他存储在Chrome中的站点中提取数据。
现在,站点隔离被扩展以检测和阻止此类攻击,谷歌说,这将不再可能,因为每个站点的数据(如cookie和密码)将被锁定,并在一个单独的Chrome过程中移动。
可以绕过SOP的内存和UXSS错误将不再有用。如果黑客想窃取浏览器数据,他们将需要能够逃脱Chrome沙箱并跳转到另一个操作系统进程的漏洞。
此外,站点隔离还阻止访问更多的数据类型,而不仅仅是密码和cookie。根据Google的说法,这些是站点隔离现在可以保护的用户数据类别,不受恶意代码的影响:
但是,在实现实际的“站点隔离”之前,在Chrome代码库的所有级别上,站点隔离仍然有很大的扩展空间。最佳方案是每个站点在自己的进程中运行,并且它们只能访问自己的数据。