Firefox 87.0 升級瞭哪些安全策略

Mozilla在2021年3月23日正式發佈瞭Firefox 87.0,其中涉及到對安全策略的更新、Bug修復、快捷鍵以及開發者工具功能。今天我們一起探究一下具體更新瞭哪些安全策略。

總體來說,本次涉及安全策略的更新主要有兩點:

  1. 引入新的SmartBlock功能來增強隱私模式下的安全和性能
  2. 對HTTP Referrer頭信息進行剪裁來保護用戶隱私

首先我們來看第一點SmartBlock

SmartBlock是Firefox隱私模式下的智能跟蹤阻止機制,除瞭確保Firefox強大的隱私保護,而且提供瞭出色的性能。

Firefox很早就推出瞭隱私窗口的功能,來為那些不想被網站追蹤的用戶提供更多的隱私保護,但是先前的保護機制是基於Content Blocking的,簡單的說就是在隱私窗口中,Firefox會阻止加載某些第三方的腳本、圖像和其他一些可能跟蹤用戶信息的內容,以此來達到保護用戶隱私。但是這種機制有一些弊端,就是可能降低某些頁面的性能,甚至造成頁面無法正確顯示。因為一些頁面在缺少某些腳本或其他內容時無法被正確的渲染。

所以Firefox在本次更新中引入瞭一種新的安全機制就是SmartBlock。SmartBlock同樣會阻止加載那些具有跟蹤功能的資源,但會智能的修復對網頁造成的破壞。其原理就是為那些被阻止的資源提供本地代理,簡單說就是用Firefox提供的資源替換掉那些具有跟蹤功能的資源,而網頁自身不會感受到,用一個詞來說就是“瞞天過海”。使用這種方法可以在提供隱私保護的同時而不讓頁面出錯,當然其底層的機制不會像我說的這麼簡單,具體涉及到的替換機制應該很復雜,不能隨隨便便替換,要不怎會打上Smart標簽。

下圖是Firefox提供的兩種模式下頁面加載速度的對比(左為ContentBlocking,右為SmartBlock):

另一項改進是采用新的Referer剪裁機制

瀏覽器在請求資源時會在HTTP頭信息中加上Referer信息來表明這次請求是從哪個頁面上發起的,以前這個信息是頁面的完整URL,這樣其實已經造成瞭我們的信息泄露。比如我們正在使用某個搜索引擎搜索內容,我們的搜索內容通常會出現在搜索結果的URL中,而此時搜索結果頁面中又包含第三方的廣告之類的信息,在請求第三方的腳本時瀏覽器會自動把當前搜索結果的URL作為Referer發送給第三方,那麼第三方就可以窺探到我們在搜索什麼內容。

當然在Firefox 87.0更新之前並非一點保護措施都沒有,2016年之後引入Referrer-Policy頭信息允許網站自己控制Referer頭信息如何發送,其值有如下幾種:

Referrer-Policy: no-referrer
Referrer-Policy: no-referrer-when-downgrade
Referrer-Policy: origin
Referrer-Policy: origin-when-cross-origin
Referrer-Policy: same-origin
Referrer-Policy: strict-origin
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: unsafe-url

赞(0)