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