【“漏洞挖掘、利用和修复”论坛回顾】张智搏:小程序运行架构中身份混淆安全风险分析

2022年12月8日,InForSec成功举办“2022网络安全国际学术研究进展”专题研讨会,本次主题为“漏洞挖掘、利用和修复”,重点邀请网络安全相关方向国际最新的研究成果进行交流,分享学者们研究过程中的灵感、经验和体会。

本次研讨会由浙江大学“百人计划”研究员、博士生导师纪守领主持,来自清华大学、北京大学、中国科学院、南开大学等高校和科研院所以及企业界300余人在线参与了论坛,并通过视频会议与演讲嘉宾互动。

我们将对会议精彩报告进行内容回顾,本文分享的是复旦大学计算机学院张智搏博士的报告——《小程序运行架构中身份混淆安全风险分析》。

首先,张智搏博士介绍了本篇工作的研究对象—小程序是当下流行的开发生态,其用户量巨大,内容和服务也十分丰富。张博介绍到小程序生态背后离不开的关键技术—基于WebView和JSBridge技术。通过这两个技术,能够做到跨平台开发,同时还能访问各种移动端功能, 增加用户交互体验。

张博详细分析到,在小程序生态中,存在十分多样的资源加载。具体来说,用户通过点击外链或者扫描二维码,就能从小程序应用市场中加载一个小程序,同时这个小程序也会从第三方服务器上额外加载许多网页资源。

另一方面,小程序所能访问的移动端功能丰富且敏感。张博士通过一个前置研究指出,当前小程序提供的功能接口不仅包括了公开文档中的,还有很多是隐藏在接口调用事件分发器“Dispatcher”背后的,并且这些隐藏接口大部分都是特权接口,它们能提供十分敏感的功能,例如访问系统资源和用户数据等。

进一步,张博指出在保护这些敏感资源时的一个重要安全问题:超级应用如何决定谁能调用特权接口。这属于访问控制范畴中的身份检查设计问题。特别是面对WebView中可能加载的不可信的网页内容,以及流入到小程序应用市场的恶意小程序,保护特权接口不被滥用显得尤为重要。

张博说到,为了分析当下定制化的小程序生态中接口鉴权机制是如何实现的,并且是否存在安全漏洞,他们从以下三方面做出了研究:(1)鉴权机制分析,(2)鉴权漏洞发现,以及(3)漏洞危害评估。

基于调研分析,张智搏博士归纳总结了小程序生态中用来做检查的三类身份标识:即域名,小程序ID,和能力。以及当前鉴权位置存在两处:一方面在加载外部资源的时候,会采用基于域名白名单的方式进行检查,另一方面,在通过JSBridge调用特权接口的时候,也会存在身份检查。


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

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

在本次演讲中,张智搏博士重点围绕基于域名的混淆漏洞来展开他们的研究介绍。张智搏博士介绍到,他们发现基于域名的混淆漏洞存在两种维度,一是时间维度上的混淆,二是网页框架(frame)维度上的混淆。前者说的是超级应用的线程与小程序运行WebView实例中的线程存在条件竞争导致。而后者是说用来获取域名身份的接口无法反应多重嵌套网页中的细粒度的网页框架的身份。

张博士针对时间维度的混淆展开了详细的举例论证,即WebView的多线程模型以及超级应用Dispatcher多线程处理的两种情况下,都会为身份识别带来时间维度上的精度缺失。

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

针对另外两种身份混淆,张博士也详细的阐释了他们的亮点发现。即在AppID混淆中,通过模糊测试技术对URL加载过程进行测试,并发现了三种造成混淆的原因。

而在Capability混淆中,也结合具体的例子解释暴露接口会带来的Capability泄露问题。

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

最后,张博士介绍到,他们已经将发现的安全问题同步给了相应的超级应用厂商,不仅获得多份原创漏洞证书,他们的研究成果还在2022年的USENIX Security顶级网安会议上获得了杰出论文奖。

演讲者简介

张智搏,复旦大学计算机学院系统软件与安全实验室在读博士,主要研究方向为移动安全与漏洞挖掘等。在IEEE S&P、Usenix Security等知名会议上发表过学术论文,并于Usenix Security’22获得杰出论文奖。

张智搏:小程序运行架构中身份混淆安全风险分析

报告内容详情视频请点击上方的小程序观看。欢迎小伙伴们在哔哩哔哩关注「InForSec学术社区」解锁更多精彩视频。

我们会定期邀请国内外安全领域知名专家学者开展报告,交流相关领域最新技术以及进展。

Bookmark the permalink.

Comments are closed.