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