XS-Leaks攻击的原理是,攻击者可以绕过Web 浏览器中的同源策略,恶意网站借此隐藏在可信的网站背后,这样就可以窃取用户输入的各类信息。例如,XS-Leak攻击可以让恶意网站藏在后台,从邮件网站中窃取电子邮件收件箱的内容。
众所周知,跨站点泄漏攻击并不是一个新的概念。2019年,德国达姆施塔特工业大学的研究员在Facebook、推特和 Microsoft Live 等流行的消息和社交媒体平台的图像分享特性中发现了一个 XSLeak 信道。
从本质上来看看,当用户在私密聊天线程中上传图像后,主机服务会为该资源创建一个唯一的 URL,仅供线程内的各方访问。攻击者可滥用该机制为目标用户创建一个唯一的URL,之后强制访客的浏览器访问另外一个网站请求相同的URL。
也正如安全人员所说的那样,并非所有的泄露攻击都可以识别、归类为XS 泄漏。为此安全研究人员想要更加系统的搜集新的XS-Leaks攻击,评估这些攻击的缓解措施是否有效,以便可以更好地帮助企业做好安全防护。
寻找新的XS-Leaks
为了更好地寻找新的XS-Leaks攻击,安全研究人员首先确定了跨站点泄漏攻击的三个特征:包含方法、泄漏技术和可检测的差异,并评估了大量Web浏览器的三大特征。
在基于上述要素创建模型后,研究人员发现了 34 个XS-Leaks攻击,其中 14 个是新型的攻击(如下图用加号标记)。
紧接着,安全研究人员对当下使用的56 种浏览器和操作系统组合,测试了34种XS-Leak攻击,以确定每个组合的脆弱性,并构建了一个名为 XSinator 的 Web 应用程序,由以下三部分组成:
- 一个用来测试的站点,以此测试已知和新型的X-Leaks;
- 一个易受攻击的Web 应用程序,用来模拟资源在各状态下的行为;
- 一个包含所有先前测试结果的数据库。
这样的话,安全研究人员可以访问XSinator页面,并运行测试,查看浏览器和操作系统在XS-Leaks方面的安全性。
为了方便查找,安全研究人员列举了各种浏览器易受攻击的 XS 泄漏的完整列表:
如何防御
针对以上这些问题,浏览器开发人员该如何缓解或解决这些侧信道攻击带来的风险?
研究人员建议,应拒绝所有的事件处理器信息,尽量减少错误信息的发生,应用全局限制,并在重定向发生时创建一个新的历史属性。
还有一个有效缓解攻击的办法是使用X-Frame-Options来阻止iframe加载HTML 资源,并实现CORP标头来控制页面是否可以嵌入资源。
参与此次研究的Lukas Knittel表示,“根据网站的不同,XS-Leaks攻击会对用户产生不同的影响。用户可以使用最新的浏览器,通过禁用第三方cookie来防御大多数的XS-Leaks,这样的话即使网站没有更新的缓解措施,也会有一定的效果。”
同时安全研究人员还表示,目前已经将所有发现的问题反馈给各浏览器开发团队,开发商目前正在尝试解决这些问题。因此,这些问题应该可以在当前可用的版本中进行修复。
值得一提的是,未来随着新的浏览器功能的增加,必定也会产生新的潜在的XS-Leak攻击,因此安全研究人员将持续进行关注,他们可能会进一步开发出相应的网站扫描工具。
参考来源:
https://www.bleepingcomputer.com/news/security/researchers-discover-14-new-data-stealing-web-browser-attacks/