复旦获安全顶会杰出论文奖:揭示小程序背后的漏洞问题

近日,复旦大学计算机科学技术学院杨珉教授领衔的系统与软件安全实验室荣获网络安全国际顶尖学术会议31st USENIX Security Symposium杰出论文奖(Distinguished Paper Award),这也是该会议创办30余年来大陆高校第一次获此殊荣。该奖项竞争非常激烈,由评审委员会从256篇录用论文中遴选产生(本年度会议投稿总计1414篇,录用率不到19%)。

该获奖论文“Identity Confusion in WebView-based Mobile App-in-app Ecosystems”聚焦于移动应用小程序生态安全问题,揭示了微信、支付宝、抖音、今日头条等一批主流软件面临的严重安全威胁,避免了数十亿用户的信息安全风险,得到国内外学术界和产业界的高度认可。论文第一作者张磊系杨珉教授指导的博士生,2020年1月获网络空间安全博士学位,目前系复旦大学网络空间国际治理研究基地助理研究员,主要从事移动生态安全治理技术研究。

本文分享的是与会期间博士生张智搏对本获奖论文的报告。

首先,报告介绍了本篇工作的研究对象,即小程序生态系统。它存在着多样的资源加载、能够访问特权接口以获取敏感系统资源和用户数据的特性,并指出保护这些敏感资源需要考虑的一个重要安全问题:如何判断谁能调用这些特权接口。

接着,本文介绍了从流行小程序生态中调研得出的小程序运行环境架构组成,主要由三部分:嵌入式的浏览器实例,Web-to-mobile通信桥梁,以及运行时接口。这三个关键部分支撑着小程序的运行和资源访问。基于调研分析,本文归纳总结了小程序生态中用来做检查的三类身份标识:即域名,小程序ID,和能力。

然后本文进一步介绍了身份混淆漏洞(Identity Confusion)定义,即在小程序生态中,一个被赋予特殊权限的身份往往要比它实际代表的对象更宽松,从而违背了最小特权原则,并划分出三类身份混淆漏洞:基于域名的混淆,基于小程序ID的混淆,以及基于能力的混淆。

本文进一步指出,这些身份混淆能够被攻击者利用来达到钓鱼攻击,窃取敏感用户数据,或是滥用系统资源的目的,受漏洞影响的用户不计其数。

本次报告重点围绕基于域名的混淆漏洞来展开研究介绍。作者发现基于域名的混淆漏洞存在两种维度,一是时间维度上的混淆,二是网页框架(frame)维度上的混淆。前者说的是超级应用的线程与小程序运行WebView实例中的线程存在条件竞争导致。而后者是说用来获取域名身份的接口无法反应多重嵌套网页中的细粒度的网页框架的身份。其余类型的混淆漏洞在论文中有相应详细介绍。

此外,为了检测这样的身份混淆漏洞,本文也设计了一种基于静态分析的漏洞接口特征识别工具,以及结合动态测试用例和漏洞利用代码,来验证一个超级应用中是否存在对应的身份混淆漏洞,并利用漏洞验证技术(PoV)去验证对应的iOS版本应用是否也存在漏洞。

最后,本文介绍了该漏洞挖掘工作的实验结果以及发现的安全后果。指出47个被研究的超级应用普遍存在身份混淆漏洞,有38个超级应用中会被权限跃升,31个超级应用存在钓鱼攻击的风险,以及35个超级应用存在隐私泄露的问题。

Bookmark the permalink.

Comments are closed.