4大浏览器皆存在方案洪水漏洞,可让第三方跨浏览器关注用户

网络诈骗侦测解决方案开发商Fingerprintjs披露了浏览器最新的方案洪水(Scheme Flooding)漏洞,研究人员发现4大主要浏览器都受该漏洞影响,可让有心人跨浏览器关注用户,即便用户使用匿名浏览也没有用,方案洪水漏洞允许第三方跨不同浏览器进行关注,侵犯用户的隐私。

在Fingerprintjs研究反欺诈技术的过程,意外发现这个方案洪水漏洞,该漏洞让网站能够可靠地跨不同桌面浏览器识别用户,即便用户使用无痕模式或是VPN,网站仍可利用该漏洞,对用户分配一个永久且唯一的识别符号。Tor浏览器、Safari、Chrome和Firefox桌面版本无一幸免,研究人员解释,之所以称为方案洪水漏洞,是因为其使用自定义URL方案(URL Scheme)作为攻击媒介。

方案洪水漏洞让网站侦测设备所安装的应用程序,来对用户产生唯一的识别码,Fingerprintjs实例了漏洞概念性验证,检查用户常用的32个流行应用程串行表,确认用户是否安装其中应用程序,来产生32位元跨浏览器设备识别码,整个识别过程需要数秒钟,可以在桌面Windows、Mac和Linux操作系统上执行。

网站为了要检查是否安装应用程序,会使用浏览器内置的URL方案处理程序,像是在浏览器网址列中输入skype://,就可查看功能运行状况,当用户安装了Skype,浏览器便会打开确认对话框,询问用户是否要启动应用程序。这个功能称为深度连接,在移动设备中被广泛使用,而桌面浏览器也拥有此功能,设备中所安装的应用程序都可以注册自己的方案(Scheme),并允许其他应用程序调用打开。

方案洪水漏洞让网站在未经用户同意的情况下,进行针对性广告和用户配置文件,网站只要使用脚本,检测列表中的每个应用程序,并利用安装应用程序的组合,就能对用户产生永久跨浏览器识别码,接着便能使用机器学习算法等技术,来猜测用户的职业、兴趣和年龄。

根据设备上安装的应用程序,可以显示用户的个人信息,像是当用户安装Python IDE或PostgreSQL服务器,则代表用户可能是后端开发人员,这个漏洞也能被用于更加危险的识其他人目的,像是网站可以针对所安装的应用程序,来找出网络上的政府和军事官员,并且关联其匿名历史记录。

该漏洞在各浏览器的实例方法不同,但是基本概念大同小异,都是要求浏览器在弹出窗口中显示确认对话框,并利用JavaScript程序代码来侦测弹出窗口,确认要侦测的应用程序是否存在。

Fingerprintjs针对4大浏览器进行研究,研究人员提到,在这4大浏览器中,只有Chrome开发者知道方案洪水漏洞的存在,并且已经在Chromium错误定位器上讨论并计划修复。虽然Chrome本身就有方案洪水漏洞保护机制,但是却可以被绕开,因此这个方案洪水漏洞仍对Chrome有效。

Firefox在处理已知的自定义URL方案时,会打开about:blank页面,并且当前网站可以访问来源,攻击者通过自定义URL方案打开弹出窗口,并且以JavaScript程序代码检查文件是否可用,网站就能够侦测设备,是否有安装特定应用程序,因此网站可借由方案洪水漏洞,在Firefox上识别用户。

Safari方面,研究人员表示,尽管隐私是Safari浏览器的开发重点,但是事实却证明,Safari没有任何方案洪水保护机制,是其中最容易被攻击的浏览器。

而被公认更为安全的Tor浏览器,由于其隐私政策,因此确认对话框功能被默认禁用,讽刺地,这项政策反而暴露更加严重的漏洞,使得网站在使用JavaScript程序代码检查应用程序时,Tor浏览器完全没有显示任何内容,相较其他浏览器会不断有弹出窗口出现,Tor浏览器用户难以意识自己正受到方案洪水漏洞攻击。即便因为Tor浏览器的政策,使得每个应用程序需要花费10秒钟来检测,但是因为漏洞开采程序,可以在后台执行,只要用户打开窗口4分钟,就足以暴露身份。

方案洪水漏洞让网站可跨浏览器关注用户,研究人员提到,这个漏洞已经存在5年以上,真正的影响还不清楚,并且也尚未找到积极利用该漏洞的网站。在这个漏洞修复之前,想要不让私密浏览对话和主要设备关联,使用其他设备是唯一的办法。