Firefox測試新版站點隔離功能 可將每個網站置於單獨的進程中

Mozilla 當前正在 Firefox 每夜構建版(Nightly Build)和 Beta 通道測試一項全新的安全體系架構,特點是能夠將每個站點都置於單獨的操作系統進程中。由官方描述可知,當前在 Firefox 啟動時,瀏覽器將啟動一個具有特權的父進程、八個 Web 內容進程、最多兩個附加的半特權 Web 內容進程,以及四個用於 Web 擴展、GPU 操作、聯網和媒體解碼的實用程序進程。

mozilla-site-isolation.jpg

Firefox 站點隔離功能示意(來自:Mozilla 官網)

不過在設置了一定數量的進程之後,後續很可能將惡意站點放入另一個站點已在使用的同一進程中,並賦予其訪問共享進程內存的權限。

在利用 Spectre 漏洞攻擊的情況下,惡意站點很可能藉此取得同一進程中其它站點的數據。

此外現有方案意味着任何廣告、或嵌入頁面和子幀的內容,都將與父頁面置於相同的進程中,而不會區分它們是否來自同一站點。

慶幸的是,在實施了“站點隔離”政策之後,不屬於同一站點的每個嵌入式元素都將具有各自的進程,然後客戶端操作系統將為瀏覽器提供內存防護和安全性保證。

Mozilla 高級平台工程師 Anny Gakhokidze 在博客中寫道:在更危險的情況下,惡意站點可能將合法站點嵌入子幀,並試圖誘騙受害者輸入敏感信息。

在成功執行類似 Spectre 攻擊的情況下,頂級站點可能會從其嵌入的子幀訪問其不應訪問的敏感信息(反之亦然)。

而新版 Firefox 瀏覽器引入的站點隔離安全架構,將有效地提升惡意站點執行此類攻擊的難度。

此外 Firefox 會將同一網站的 http 和 https 版本都視作不同的站點,意味着兩者也將置於單獨的進程中。

ZDNet 指出,該功能將充分利用由社區維護的有效頂級域名列表,其中包括了 github.io 和 blogger.com 等在內站點。

這些網站擁有許多子域名節點,所以 Firefox 也會將各個子版塊都視作單獨的站點來實施隔離。

Anny Gakhokidze 補充道,新架構也在其它方面改善了 Firefox 的體驗:

比如一個站點消耗的計算資源(或垃圾收集)不該導致其它頁面的響應能力降級、或者在頁面崩潰的時候波及其它進程中的網頁。

更棒的是,通過使用更多進程來加載網站,將使得我們能夠把工作分配到許多 CPU 核心,從而更高效地利用底層硬件。

據悉,Firefox 早在 2019 年初就首次帶來了名為“Project Fission”的站點隔離功能,而競爭對手谷歌為 Chrome 實施的站點隔離方案也有一段時間了。

感興趣的朋友,可嘗試在 Firefox Nightly 中導航至 about:preferences#experimental,然後啟用 Fission 複選框並重啟瀏覽器。

至於 Firefox 正式版 / Beta 通道的用戶,亦可導航至 about:config 頁面,然後將 fission.autostart 設定為啟用,並重啟瀏覽器。

最後,Linux 平台的 Firefox 用戶請注意,Project Fission Wiki 頁面上的許多已知問題表明,你們可能遭遇內存使用量過多、以及 X11 連接器耗盡資源等 Bug 。

(0)
上一篇 2021-05-20 16:09
下一篇 2021-05-20 16:09

相关推荐