Safari 15 的一个漏洞:它可能泄露了什么?
你可能认为在浏览器中打开不同的标签页,它们之间是相互隔绝的。但根据安全研究人员的发现,苹果Safari 15浏览器中存在一个漏洞,可能会打破这种隔离。这个漏洞源于一项名为IndexedDB的网页数据存储技术,它意外地让网站能窥探到其他网站留下的“痕迹”,甚至可能关联到你的谷歌账户信息。目前,普通用户对此几乎无能为力。
漏洞的核心:失效的同源策略
我的理解是,这个问题的关键在于一个被称为“同源策略”的网络安全基础规则被打破了。简单来说,同源策略规定:A网站产生的数据,原则上只能由A网站自己访问,B网站是无权查看的。这就像每个网站都有一个独立的、带锁的储物柜。
然而,安全公司FingerprintJS发现,Safari 15在实现IndexedDB(一种让网站在你电脑上存储数据的编程接口)时出现了错误。当一个网站在Safari中创建了一个IndexedDB数据库时,这个数据库的名字会“泄漏”给同一浏览器会话中打开的所有其他网站。这就好比A网站的储物柜虽然打不开,但它的门牌号(数据库名称)却被所有路过的B、C网站看到了。
可能泄露的信息:浏览痕迹与用户ID
那么,这些被看到的“门牌号”能透露出什么信息呢?这取决于网站给数据库起了什么名字。根据调查,许多主流网站,包括YouTube、谷歌日历等,会在数据库名称中嵌入用户的唯一谷歌用户ID。
这意味着,如果一个恶意网站利用此漏洞,它不仅能探测到你最近访问过哪些受影响的网站(通过识别特定的数据库名称),还可能获取到你的谷歌用户ID。虽然这个ID本身不是密码,但它“允许谷歌访问您的公开信息,例如您的个人资料照片”。攻击者可以利用这个ID,结合其他信息,更精准地构建用户画像,甚至进行跨站追踪。
漏洞的影响范围与现状
这个漏洞的影响面不小。它存在于Safari 15及更高版本中,波及macOS、iPhone和iPad设备。更令人担忧的是,隐私浏览模式也无法幸免。由于苹果在iOS上要求所有浏览器都必须使用其WebKit内核,这意味着即使用户换用Chrome或Edge等第三方浏览器,只要是在iPhone或iPad上,其底层引擎同样存在此漏洞。
FingerprintJS在2021年11月底就向苹果报告了此问题,并提供了一个概念验证演示网站来展示漏洞效果。但截至原文发布时(2022年1月),苹果尚未发布修复此漏洞的浏览器更新,也未对媒体的询问作出回应。
用户能做什么?
很遗憾,对于这个存在于浏览器底层的问题,普通用户目前几乎没有有效的主动防御手段。FingerprintJS也直言“你无能为力来解决这个问题”。在等待苹果官方发布安全更新的同时,用户能做的更多是提高警惕:意识到在Safari(特别是iOS设备上的任何浏览器)中,不同标签页之间的数据隔离可能并不完全可靠。
总的来说,这个Safari漏洞提醒我们,即使是来自大公司、被认为安全的软件,也可能存在隐蔽的设计缺陷,威胁到我们的隐私安全。它打破了浏览器不同标签页之间的基本隔离承诺,使得本应被保护的用户标识符和浏览活动存在泄露风险。最终,解决问题的钥匙掌握在苹果手中,用户只能期待尽快收到安全更新。