Mozilla周二(5/18)宣布,桌面版的Firefox现已可激活全新的网站隔离架构,在加载网站时,可创建操作系统等级的程序边界,让所访问的每个网站使用独立的程序,以保护用户不再受到诸如Meltdown或Spectre等攻击的危害。
Meltdown与Spectre是由CPU推测执行漏洞所衍生的攻击手法,它们在2018年1月被披露,允许应用程序访问内存内的机密信息,自此,包括操作系统企业、CPU企业与浏览器企业都发布了缓解机制,但这些机制不但只是暂时应对,也会影响设备的性能,这使得Mozilla于同年4月启动了Fission项目,以全新的网站隔离架构来防御相关攻击,而今,该架构已进入最终确定阶段,因而同时开放Nightly、Beta与正式版的Firefox用户试用。
Mozilla软件工程师Anny Gakhokidze说明,现有的Firefox启动后就先执行父程序,它是个特权程序,之后激活固定数量的程序,包括8个网页内容程序、最多2个额外的半特权网络内容程序,以及4个涉及扩展程序、GPU、网络与媒体解码的公用程序,尽管把内容分离到8个网络内容程序已带来坚固的基础,但仍可能出现2个完全不同的网站、使用同一操作系统程序的现象。
同一操作系统程序代表它们将共享程序内存,假设它们其中有一个为恶意网站,黑客就有可能借由共享资源取得另一网站的机密信息。
而在全新的网站隔离架构下,每个网站都是在不同的程序中加载,就算是网站中含有来自其它网站的子框架或广告,也会利用不同的程序加载。
除了安全之外,网站隔离还带来其它的好处,例如当一个网页耗费了大量的计算资源时,不会影响其它的程序;让不同的程序加载不同的网站,还能进一步发挥CPU的多核能力;而且就算子框架或分页宕掉时,也不会波及由其它程序加载的网站。
过去Mozilla仅允许Nightly与Beta版的Firefox用户测试网站隔离机制,本周起正式版用户也可参与测试,Beta版与正式版用户只需于网址列上键入about:config,再于搜索偏好设置中键入fission.autostart,把默认值从false切换成true,再重新激活Firefox,即可激活网站隔离。