Firefox 88加大對window.name跨站隱私濫用的斗爭力度
Mozilla 剛剛在一篇官方博客中宣布,他們很高興地為 Firefox 88 引入了一項新的保護措施,以進一步防止 Web 上的隱私泄露。據(jù)悉,自 1990 年代末期以來,Web 瀏覽器已廣泛使用 window.name 屬性來存儲網(wǎng)頁數(shù)據(jù)。但在更新到 Firefox 88 之后,追蹤器將無法再通過濫用 window.name 屬性來跨網(wǎng)站追蹤用戶(比如識別用戶或窺探其瀏覽歷史記錄)。
為了封堵這方面的漏洞,F(xiàn)irefox 現(xiàn)針對創(chuàng)建 window.name 屬性的網(wǎng)站而施加了特定的限制。
此前,網(wǎng)頁窗口的 window.name 屬性允許以超鏈接或表單為目標,讓用戶訪問的任何網(wǎng)站都能夠調(diào)用 window.name 屬性,以作為存放任何數(shù)據(jù)的一口大鍋。
但從歷史上來看,window.name 中存儲的數(shù)據(jù),已不受瀏覽器強制執(zhí)行的同源策略的禁止,導致網(wǎng)站之間仍可借此進行某種形式的數(shù)據(jù)共享。
舉個例子,假設位于 https://example.com/ 的頁面將 window.name 屬性設置為“my-identity@email.com”。
那就算用戶點擊鏈接并導航到了 https://malicious.com/ 惡意站點 ,該信息也會得到保留。
相當于在用戶不知情或未同意的情況下,惡意站點上的頁面仍能夠讀取相關信息。
此前多年,追蹤公司一直在濫用這方面的泄露細細,并將之有效地轉變?yōu)榭缇W(wǎng)站的數(shù)據(jù)傳輸渠道。更糟糕的是,惡意站點也能夠一窺 window.name 屬性中的內(nèi)容,導致用戶在無意間泄露了隱私數(shù)據(jù)。
慶幸的是,在升級到 Firefox 88 之后,瀏覽器將嘗試識別 window.name 的潛在有害使用,并在此種情況下竭力清除、以避免它被濫用。舉個例子,若點擊的鏈接未打開彈出窗口,則 Firefox 就只會清除 window.name 。
此外為了避免不必要的體驗破壞,若用戶導航回到了之前的站點,F(xiàn)irefox 會自動將 window.name 屬性恢復為該站點的先前值。
在這套雙重規(guī)則的制約下,F(xiàn)irefox 88 得以有效地將數(shù)據(jù)限制在原站點范圍內(nèi)(有些類似于 Firefox 的 Cookie 全面防護功能),對防止網(wǎng)站濫用 window.name 來收集用戶的個人數(shù)據(jù)至關重要。