JavaScript代码可欺骗浏览器标签页以窥探浏览内容
计算机科学家展示边信道攻击技术,该技术可绕过最新隐私防护措施,跟踪浏览器用户访问网址。科学家的研究结论是:单个Web浏览器标签页中的恶意JavaScript代码可监视其他已打开标签页,获取用户正在访问的网站信息。
该信息可用于根据你的兴趣爱好推送针对性广告,或者找出你感兴趣的东西收集起来以备后用。
来自以色列、澳大利亚和美国三所知名大学的几位研究人员开发了一种基于处理器缓存的网站指纹攻击,利用JavaScript代码收集数据以识别访问过的网站。
关于该技术的论文最近预发布在ArXiv上,题为《基于缓存占用通道的健壮网站指纹获取》。
该攻击通过找出用户访问过的网站来获取人们的秘密,可供攻击者获悉用户的性向、宗教信仰、政治观点、健康状况等。
该攻击不像远程任意代码执行或远程暴露内核内存之类的攻击那么严重,但不排除被人改进为可获取加密密钥或已安装脆弱软件之类计算秘密的攻击方式。
无论如何,该攻击可能会给坚信Tor可以保住网站浏览秘密的用户造成严重后果。
边信道攻击(或者“瞬态执行攻击”)观察计算系统的一部分以收集可被用于推断特权信息的一些指标。今年披露的幽灵、熔断和预兆漏洞都有痛感边信道攻击技术加以利用的可能性。
本次披露的攻击方法比幽灵更底层,在幽灵无法执行的地方运作(比如,跨进程边界),针对幽灵的CPU补丁对此无效。但另一方面,幽灵攻击恢复出来的信息精度更高。
缓解这些攻击的方法之一是限制对高精度计时器的访问(访问高精度计时器可获取边信道数据)。幽灵和熔断漏洞首次披露时,Mozilla就表示将禁用或降低其Firefox浏览器中时间源的精度。
但该最新浏览器指纹技术不需要高精度计时器,而是瞄准了处理器缓存占用。
缓存占用衡量整个缓存在一定时间内被访问的百分比。浏览器的内存占用是非常大的,因为它要从网络接收大量数据,还要往屏幕上绘制各种输出。这就意味着浏览器在加载页面时会用到大量缓存。
另外,该方法不依赖缓存布局,也就让缓存布局随机化技术毫无用武之地。而且,当浏览器从其响应缓存而不是从网络上取来数据时,或者使用了网络流量整形时,针对基于网络的指纹的防御措施也影响不到该攻击。
自动发现
该指纹攻击利用JavaScript测量网站被加载时处理器的缓存访问延迟,再通过深度学习技术与攻击者之前收集的基线做对比,自动识别其间相似性以识别是在访问哪个网站。换句话说,通过浏览器访问CPU缓存获取并渲染Web页面内容的方式,是有可能确定用户正在浏览的网站的。某个标签页中的恶意JavaScript代码可以监视缓存访问以识别模式,标定其他标签页当前浏览网站。
“经典”机器学习技术需要人类专家找出数据的哪种“特性”对攻击有用。关于执行其他类型的攻击时能用的最佳特性,目前已经有了很多研究成果。深度学习领域,计算机本身就是专家,会自行查找这些特性,用户可以直接从数据到结果。或许研究人员可以找出比当前深度学习算法找到的更好的特性,改进此类攻击。
研究人员考虑了两个应用场景:100个缓存延迟测量值匹配100个网站的封闭数据集和100个敏感网页必须从5000个其他网站中分辨出来的开放数据集。
在封闭数据集上使用主流浏览器,研究人员能够精准识别70%-90%的网站访问。应用到Tor浏览器上,准确率仅为47%,但如果考虑到其他数据,准确率可以提升至72%。在开放数据集上应用的结果与之类似,主流浏览器网站访问识别率还是70%-90%,Tor浏览器的识别率可达83%——如果研究人员不仅考虑首位结果,还查看是否属于前5个检测结果之一的话。
如果目标只是确定访问的网站是否敏感,开放数据集上的识别准确率可达99%以上。
研究人员表示,通过减少对精确计时的访问来抵御边信道攻击的方法是徒劳的。研究结果表明这种防御方法完全是无用功,因为该攻击根本不需要高精度计时器。同样地,某些防御幽灵攻击的方法将网站分隔到多个进程中,但数据结果显示:这么做还不够。攻击者可以从一个浏览器标签页窥探另一个标签页,甚至从一个浏览器窥探同一台计算机上另一个浏览器访问的内容。
研究人员的结论是,不能在任意时间点都只运行单一浏览器标签页就有潜在隐私风险:你打开第二个标签页,JavaScript就能窥探那另一个标签页。完全禁用JavaScript可以阻止该攻击,但同时也关闭了浏览很多网站的通路——很多网站都要靠JavaScript功能运行。另外,虚拟化只应被看做一种便利的功能而不应被当做安全功能看待。
研究人员甚至表示:如果你想同时浏览敏感和非敏感网站,那就建议用两台电脑。
ArXiv上论文地址:
https://arxiv.org/pdf/1811.07153.pdf
相关文章
- 2条评论
- 泪灼断渊2022-06-08 12:57:48
- 就能窥探那另一个标签页。完全禁用JavaScript可以阻止该攻击,但同时也关闭了浏览很多网站的通路——很多网站都要靠JavaScript功能运行。另外,虚拟化只应被看做一种便利的功能而不应被当做安全功能看待。研究人员甚至表示:如果你想同时浏览敏感和非敏感网站,那就建议用两台电脑。Ar
- 馥妴七禾2022-06-08 16:18:25
- 览器标签页窥探另一个标签页,甚至从一个浏览器窥探同一台计算机上另一个浏览器访问的内容。研究人员的结论是,不能在任意时间点都只运行单一浏览器标签页就有潜在隐私风险:你打开第二个标签页,Java