Categories
科技報導

Google Chrome更改了其緩存機制,以防止以前的廣告客戶濫用它



Google更改了Chrome瀏覽器核心組件的工作方式,以便為用戶增加額外的隱私保護。該Chrome瀏覽器組件稱為HTTP緩存或共享緩存。 它通過保存網頁上加載的資源(例如圖片,CSS文件和JavaScript文件)的副本來工作。

這個想法是,當用戶再次訪問同一網站或訪問使用相同文件的其他網站時,Chrome將從其內部緩存中加載這些文件,而不是浪費時間重新下載每個文件。

自Internet誕生以來,此組件不僅存在於Chrome瀏覽器中,而且還存在於所有Web瀏覽器中,以節省帶寬。 在所有瀏覽器中,緩存系統通常都以相同的方式工作。 保存在緩存中的每個圖像,CSS或JS文件都會收到一個存儲密鑰,通常是資源的URL。

例如,圖像存儲密鑰是圖像URL本身:https://x.example/doge.png。 當瀏覽器加載新頁面時,它將在其內部緩存數據庫中搜索鍵(URL)。 並檢查是否需要下載圖片或從緩存中加載圖片。

不幸的是,多年來,在線廣告和分析公司已經意識到也可以濫用此功能來跟踪用戶。 檢查用戶是否訪問過特定網站。 商業競爭者可以通過檢查緩存是否是特定網站或特定網站組的資源來檢測用戶的瀏覽歷史。 緩存還可以用於存儲類似cookie的標識符,作為跨站點跟踪機制。

但是隨著本週早些時候Chrome 86的發布,Google對這種機制進行了重要的更改。

這個功能叫做 “緩存分區”,其工作原理是根據兩個附加因素來更改在HTTP緩存中節省資源的方式。 從現在開始,資源的存儲密鑰將包含三項,而不是一項。

Google Chrome更改了其緩存機制,以防止以前的廣告客戶濫用它 1

頂級網站域名(http://a.example)

資源的當前框架(http://c.example)

資源的網址(https://x.example/doge.png)

通過在緩存預加載檢查過程中添加其他密鑰,Chrome可以有效地阻止過去對其緩存機制的所有攻擊,因為大多數網站組件只能訪問自己的資源,而無法檢查尚未創建的資源。

但是,在某些情況下,緩存可能會重疊,但是攻擊面比以前小得多。

自2019年9月發布Chrome 77以來,谷歌一直在測試緩存分區,並表示新系統不會對用戶或開發人員產生任何影響。 唯一會發生變化的是網站所有者,他們最有可能看到網絡流量增加4%。

目前,緩存分區僅在Chrome瀏覽器中處於活動狀態,但是也可以使用其他基於Chromium開源代碼的瀏覽器,所有這些瀏覽器很可能在未來幾個月內進行部署。 這些包括Edge,Brave,Opera,Vivaldi等。

Mozilla還宣布了一項類似的計劃,以實現Chrome的緩存分區機制,但是尚無最後期限可以登錄Firefox。

蘋果是另一家主要的瀏覽器製造商,自2019年初以來一直在使用有限的緩存分區系統。但是,Safari的緩存分區系統僅使用兩個檢查(#1和#3),而不是Chrome瀏覽器更徹底的三個檢查。