谷歌修復已存在23年的瀏覽器歷史竊取漏洞Chrome即將釋出更新封堵該漏洞

#軟體資訊 谷歌修復瀏覽器歷史上已經存在 23 年的隱私漏洞:利用點選過的連結變色來讀取使用者網頁瀏覽記錄。過去十年前 Chromium 曾兩次拒絕該漏洞的報告,因為無法修復。現在 Chrome 工程師設計新的隔離機制不允許指令碼再跨域利用 CSS 樣式來匹配瀏覽器全域性歷史記錄。檢視全文:https://ourl.co/108686
雖然 Chrome 還沒有 23 年曆史但瀏覽器軟體的歷史更長,谷歌日前修復的漏洞理論上說涵蓋所有瀏覽器,網路廣告可以藉助這個漏洞窺探使用者的瀏覽記錄,從而追蹤並向用戶推送定向廣告。
這個漏洞說起來也比較讓人難崩,通常情況下網頁上的超連結使用藍色標記標記,使用者看到藍色標記的文字或連結時就可以知道這部分是可以點選。如果使用者點選該連結則通常情況下連結顏色會變成紫紅色 (並非所有網站都會如此),使用者回到當前頁面並看到連結變成紫紅色時就可以知道這個連結已經點選過。
這種設計可以透過 CSS 樣式表進行控制,使用 CSS 定義:visited 值就可以實現顏色轉變,此時瀏覽器如果檢查到對應連結已經在歷史記錄裡存在那就換成:visited 定義的新顏色例如紫色。
網路廣告和能夠執行指令碼的第三方可以使用該技術在網頁上插入特定連結,然後再檢查使用者瀏覽時該連結的顏色是否變成定義的紫色,如果顏色確實變成紫色則代表這個連結使用者訪問過,這意味著使用者可能對這個連結呈現的內容有興趣,可以將興趣偏好納入到引數裡向用戶提供個性化廣告。

谷歌軟體工程師在部落格中表示:
這種攻擊可以揭露使用者訪問過哪些連結並洩露有關其網頁瀏覽活動的詳細資訊,這個安全問題已經困擾整個網路 20 多年,瀏覽器部署了各種權宜之計來緩解這些歷史監測攻擊,雖然這些措施能夠緩解攻擊但並沒有徹底消除。
比較有趣的是針對該問題其實早就有面向 Chromium 瀏覽器引擎的反饋,但谷歌也兩次將該問題標記為無法修復因此在過去幾年並未解決問題,直到現在谷歌決定徹底解決這個問題而不是當鴕鳥。
修復該更新的補丁已經在 Chrome Beta v136 版中,Chrome 136 正式版預計會在 4 月 23 日釋出,到時候 Chrome 也會稱為首個徹底解決該安全漏洞的瀏覽器。
至於修復方案:
以前沒法修復是因為瀏覽器確實需要超連結變色這個功能,而該功能的執行機制也確實是瀏覽器需要讀取歷史記錄進行對比。為了解決這個問題,Chrome 工程師使用分割槽機制對訪問過的歷史連結進行分割槽,而不是維護一個歷史記錄的全域性列表。
簡而言之分割槽是指將連結與點選位置的其他資訊一起儲存,在 Chrome 中這些資訊包含連結 URL、頂級域名 (即使用者訪問的網站的所屬主域名)、iframe 框架來源,啟用分割槽後:visited 歷史記錄不再是允許任何網站都能查詢的歷史記錄全域性列表,相反,:visited 能夠讀取的歷史記錄將根據使用者最初訪問這個連結的上下文進行隔離,由於域名不同,跟蹤器無法再透過這個機制讀取非這個域名上呈現的 URL。

相關文章