長期以來,蘋果一直以隱私保護為主要賣點,大力推薦自家的 Safari 瀏覽器,比如部署了防止跨站點追蹤的舉措和隱私報告。然而近日,該軟件卻曝出了處理 IndexedDB API 時的一個漏洞,或?qū)е潞炇鹋μ澮缓?、泄露與用戶瀏覽習(xí)慣相關(guān)的隱私信息。
(來自:FingerprintJS)
瀏覽器指紋識別服務(wù) FingerprintJS 在一篇博客文章中指出,蘋果在 Safari 15 中的 IndexedDB API 實現(xiàn)方式,存在一個嚴(yán)重的隱私數(shù)據(jù)泄露隱患。
研究人員指出,該漏洞使得任何 Web 追蹤器能夠窺探用戶的互聯(lián)網(wǎng)活動,并最終確定其身份。
據(jù)悉,IndexedDB 是被廣大瀏覽器客戶端所采納的一款存儲 API,多用于保存數(shù)據(jù)庫等數(shù)據(jù)。
通常情況下,同源策略會限制哪些數(shù)據(jù)可被某個特定的網(wǎng)站訪問。
此外一般只允許一個網(wǎng)站只能訪問其生成的數(shù)據(jù)、而不能摸到其它網(wǎng)站的數(shù)據(jù)。
尷尬的是,在 Safari 15 for macOS、iOS 和 iPadOS 版本中,我們驚訝地發(fā)現(xiàn) ——
每當(dāng)網(wǎng)站與其數(shù)據(jù)庫交互時,處于同一瀏覽器會話中的所有其它活動框架、選項卡、以及窗口,都會創(chuàng)建一個使用相同名稱的新空數(shù)據(jù)庫。
由此造成的數(shù)據(jù)泄露是個問題,因其可讓別有用心的站點知悉處在同一會話中的不同選項卡、或窗口中訪問的其它站點。
此外考慮到部分數(shù)據(jù)庫具有唯一、且特定于某個網(wǎng)站的名稱,問題就變得更加糟糕。
對于可共享相同身份驗證憑據(jù)的站點(比如 Gmail 和 YouTube),數(shù)據(jù)庫名稱還可包含經(jīng)過身份驗證的相同 Google 用戶 ID 。
測試發(fā)現(xiàn),具有普遍唯一標(biāo)識符的索引數(shù)據(jù)庫,是由廣告網(wǎng)絡(luò)所創(chuàng)建的。慶幸的是,Safari 的追蹤預(yù)防功能阻止了這些數(shù)據(jù)庫名稱以這種方式泄露。
即使隱私瀏覽窗口也無法避免受到該問題的影響,但瀏覽會話僅限于單個選項卡,因而能夠在一定程度上緩解 IndexedDB API 這一缺陷的影響。
目前用戶對該問題幾乎無能為力,只有在默認情況下阻止 JavaScript 才行(僅在受信任的站點上啟用,但可能對瀏覽體驗造成不利影響)。
macOS 用戶可臨時選用其它瀏覽器(Google Chrome / Mozilla Firefox 等),但 iOS / iPadOS 用戶就沒有那么幸運了,只能等待蘋果和 WebKit 開發(fā)團隊在下一版更新中修復(fù)。
(舉報)