小心你信任的人:跨域通信中的安全陷阱
2021-09-05 14:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:22 收藏

原文作者:Gordon Meiser, Pierre Laperdrix, Ben Stock
原文标题:Careful Who You Trust:Studying the Pitfalls of Cross-Origin Communication
原文链接:https://publications.cispa.saarland/3356/1/meiser2021cwyt.pdf
笔记作者:nerd@SecQuan
文章小编:cherry@SecQuan

简介

该文为发表于AsiaCCS 2021的Careful Who You Trust:Studying the Pitfalls of Cross-Origin Communication。当前,Web应用为了丰富客户端体验,需要依赖第三方提供大量内容,例如分析、广告等的集成。默认情况下,数据交换受限于同源策略,为了实现跨域通信,标准机构和浏览器供应商添加了一些新的机制(如域放松和CORS等)。在本篇论文中,作者针对性地研究了由于必须添加对某些通信方的信任而增加攻击面的现象,并评估了通过利用受信任站点上现有的XSS漏洞所造成的损害。

方法

为了研究由于必须添加对某些通信方的信任而增加攻击面的现象,作者实施了一个爬虫框架,收集目标站点的信任关系以及跨域通信中涉及的JavaScript代码。该框架分别针对三种跨域通信(域松弛、postMessages、CORS),采取不同的手法如:注入JS代码监控document.domain属性、hook消息事件的EventListener等以采集域与域之间的信任关系。之后,对于采集到的这些一对一的信任关系,根据其使用技术的不同,以代表不同能力的边将其进行链接。使用域松弛进行跨域的全部标记为执行权限,CORS全部标记为读取权限,而postMessages根据使用的代码不同,分别标记为执行权限和持久性修改权限。如下图中的例子所示,由于https://samsungasiasupport4.zendesk.com 使用postMessage将的内容传递给https://www.samsung.com 上具有执行功能的脆弱污点接收器,因此获得在其上执行JavaScript代码的能力。控制了zendesk域的攻击者可以轻松地转到三星的主页,之后由于域放松的缘故,账户页面和主页被视为同源,www.samsung.com 上的恶意代码可以在iframe中加载帐户页面以偷取用户数据。

实验

作者针对Tranco Top5,000的域名进行的大规模实证研究。首先是跨域机制的总体使用情况,总的来说,92.8%的站点至少使用了一种跨域机制。其中大多数站点使用CORS(91.6%)或postMessages(84.6%)来交换数据,一小部分使用域松弛(12.5%)为同一父域下的其他子域提供完全执行权限。结果表明,现代Web应用越来越依赖跨源通信机制,绝大多数知名网站(如facebook、google和youtube)正在以一种或多种方式利用来自其他来源的数据。

随后,作者研究了跨域机制带来的攻击面扩大的影响。例如网站在主页上应用域松弛机制,则使得攻击者可以通过攻击网站的某个子域进而轻易地攻击其网站的主页。下面两表展示了授信和被信任最多的网站,它们有更大可能成为攻击者的跳板或被攻击对象。

最后,作者通过简单的图算法展现了攻击者能够通过一个站点的XSS漏洞通过跨域机制攻击其他不含XSS漏洞域的攻击路径图。其中红色节点代表含有XSS漏洞的域,红蓝绿的边分别代表执行JS代码、读取数据和更改持久性的能力。由此可见,一个没有漏洞的站点也很肯能被其信任的域的漏洞所影响。

安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com


文章来源: http://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247486457&idx=1&sn=0610f0790b9845bca14656f4d9df0f13&chksm=fe2ef472c9597d6434439e3d6cc3f35e20794aab3506d87c2fd92cd3114718bcaed397422652#rd
如有侵权请联系:admin#unsafe.sh