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






















