在苹果公司官方网站上,Safari插件一直以强悍的个人隐私为保护机能作为噱头。其中,智能化防追踪和个人隐私条码等机能满足采用者市场需求。但在日前,插件人脸识别服务供应商FingerprintJS正式发布了一则网志,经他们进行调查发现,Safari 15在实现IndexedDB API时存在两个安全可靠漏洞,该API容许任何人中文网站追踪采用者的下载历史记录,甚至外泄采用者Google账号的部分身分重要信息。

在揭露出该安全可靠漏洞以后,我们先来介绍呵呵IndexedDB API是什么。

何谓IndexedDB API?

IndexedDB(检索资料库)是两个用在插件插件储存的API(插件程式设计USB),可以留存大批采用者统计数据,目前被两极化采用在所有主要的插件上。由于IndexedDB是两个合情理其它API,许多开发人员优先选择采用包装袋器将绝大部分控制技术问题概念化,并提供两个更更易采用、对开发人员更亲善的API。

像绝大多数当代互联网插件控制技术一样,IndexedDB遵从相混经济政策。这是一种基本的安全可靠监督机制,它管制了从两个根源读取的文件格式或JAVA与其他根源的天然资源可视化。作者由计划(协定)、Teredo(域)和用作出访它的URL路由器表述。被检索的资料库与某一的源密切相关,其本质上,只有聚合统计数据的中文网站就可以出访它。比如,如果在两个条码页中关上邮件账号,接着在另两个条码页中关上蓄意页面,相混经济政策会制止蓄意页面查阅和干涉邮件。

冰山博客(冰文博客20)-第1张

安全可靠漏洞

Safari 15中的IndexedDB安全可靠漏洞

FingerprintJS发现,在基于苹果公司开源插件引擎WebKit的新版插件,包括macOS上的Safari 15,以及iOS 15和iPadOS 15上的所有Safari插件,IndexedDB API都违反了相混策略。每次中文网站与Safari中的资料库可视化时,在同一插件会话中的所有其他活动框架、条码和窗口中都会创建两个同名的新(空)资料库。窗口和条码通常共享同两个会话,除非采用者切换到不同的配置文件,比如采用Chrome插件,或者关上两个私有窗口。

这意味着其他中文网站可以看到在其他中文网站上创建的其他资料库的名称,其中可能包含具体到采用者身分的详细重要信息。FingerprintJS还注意到,由于苹果公司要求所以iPhone和iPad上的插件都采用WebKit,所以该安全可靠漏洞还会危及第三方插件,如 iOS 15和 iPadOS 15上的Chrome插件。采用Google账号的中文网站,比如YouTube、Google日历和Google Keep,都会聚合名称中包含Google采用者唯一ID的资料库。Google采用者ID容许 Google出访比如个人资料、照片等公开重要信息,Safari安全可靠漏洞可能会将这些重要信息暴露给其他中文网站。

冰山博客(冰文博客20)-第2张

重要信息外泄

采用者身分与下载历史记录裸奔

资料库ID跨源泄漏是一种明显的个人隐私侵犯,它可以让任意的中文网站介绍采用者在不同的条码或窗口中出访了哪些中文网站。因为资料库名称通常是唯一的,并且某一于中文网站。此外,FingerprintJS观察到,在某些情况下,中文网站在资料库名称中采用唯一的采用者某一标识。这意味着经过身分验证的采用者可以被唯一且精确地识别。通俗点讲就是,像YouTube、Google日历和Google Keep,这些中文网站创建的资料库都包含经过身分验证的谷歌采用者ID,如果采用者登录到了多个账号,谷歌就会为所有这些账号创建资料库。

谷歌采用者ID是谷歌聚合的内部标识符,它能唯一标识两个谷歌账户,还可以与谷歌API一起获取账户所有者的公共个人重要信息。这些API暴露的重要信息受多种因素控制,一般来说,至少采用者的个人资料照片通常是可用的。这不仅意味着不受信任或蓄意的中文网站可以介绍采用者的身分,还容许其将同一采用者采用的多个独立账号链接在一起。

需要注意的是,这些泄漏不需要任何人某一的采用者操作。两个在后台运行并持续查询IndexedDB API的条码或窗口,可以实时介绍采用者出访了哪些其他中文网站。另外,中文网站还可以在两个iframe或弹出窗口中关上任何人其他中文网站,以便对该某一中文网站触发两个基于IndexedDB的泄漏。

Twitter等30个中文网站受到影响

FingerprintJS查阅了Alexa前1000个出访量最大的中文网站主页,以介绍有多少中文网站采用IndexedDB,并且可以通过它们资料库的可视化进行唯一标识。

结果显示,超过30个中文网站直接在其主页上与IndexedDB可视化,无需任何人额外的采用者可视化或认证,包括Instagram、Netflix、Twitter、Xbox等。FingerprintJS怀疑这个数字在现实场景中要高得多,因为中文网站可以在子页面上、在某一的采用者操作之后或在页面的认证部分与资料库进行互动。

FingerprintJS还看到了一种模式,在这种模式下,广告互联网可以创建名为通用唯一标识符(UUIDs)的IndexedDB。庆幸的是,这些天然资源的读取在某些情况下似乎被Safari的防止追踪功阻挡了,这有效地防止了资料库名称的泄漏。如果通过其他方式制止这些天然资源,比如采用adblocker扩展或制止所有的JavaScript执行,这些泄漏也将被制止。

Safari个人隐私模式能防止外泄吗?

首先,相混策略是所有窗口模式的有效安全可靠监督机制。无论访客是否采用个人隐私模式,拥有相同作者的中文网站都不应该出访其他作者的天然资源,除非通过跨源天然资源共享(CORS)的明确容许。

在这种情况下,Safari 15中的个人隐私模式也会受到泄漏的影响。需要注意的是,私人Safari窗口中的下载会话被管制在两个条码上,这减少了通过外泄获得重要信息的程度。但是,如果采用者在同一条码页中出访多个不同的中文网站,这些中文网站与之可视化的所有资料库都会外泄给所有后续出访的中文网站。不过,在其他基于苹果公司WebKit的插件中,比如Brave或iOS上的Google Chrome,私人条码以与非私人模式相同的方式共享同一插件的会话。

FingerprintJS在11月28日向苹果公司WebKit Bug Tracker报告了泄漏,但苹果公司并未对此做出回应。

官方仍未做出回应

不幸的是,如果不采取强制措施,Safari、iPadOS和iOS采用者几乎无法为保护自己。其中一种方法是在默认情况下制止所有JavaScript,并且只容许在受信任的站点上采用。不过这会使当代互联网下载变得不方便,而且也不是两个适合所有人的好方法。此外,像跨站点JAVA之类的安全可靠漏洞也使人们有可能被可信站点当做攻击目标,尽管这个风险很小。对于Mac上的Safari采用者来说,另一种优先选择是暂时切换到其他插件。然而,这在iOS和iPadOS上却行不通,因为其上所有插件都受到影响,所以这些采用者只能等待苹果公司WebKit开发团队在最新版本中修复这个安全可靠漏洞。

所以FingerintJS在此强调,唯一真正有效的为保护措施是一旦苹果公司解决了这个问题,就立刻更新插件或操作系统。同时,FingerprintJS希望这篇文章能提高人们对这个bug的认识。但是截止目前,苹果公司官方还未就此事做出回应。

参考链接:

1.Exploiting IndexedDB API information leaks in Safari 15

2.Safari 15 bug can leak your recent browsing activity and personal identifiers - The Verge

————————————————

原文链接:采用者身分和下载历史记录一览无遗,Safari最新版本被曝高危安全可靠漏洞_沙丘406的网志-CSDN网志、