我们今天推荐的论文 Don’t Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs 来自2023年暑期学校的讲师团成员之一的张悦老师。这篇论文发表在CCS 2023会议上,如果你对论文的细节感兴趣,一定不要错过我们的暑期学校,来找张老师聊聊天哦
(虽然但是)本文标题没有明说,基本上却是集中于微信小程序的安全分析,针对微信小程序的几个关键的机密凭据(credential,如下表列出)的误用和泄露进行检测。
先来看一下微信小程序生态中,几个重要的参与方——小程序前端(也就是在你的手机上运行的js代码)、小程序后端(小程序开发者的服务器)、微信客户端和微信服务器之间的互动模式。下面两幅图展示了典型的通信流程应该遵循的规范,其中关键在于要将上面Table 3里面的master key
也就是MK
保护好,只能在小程序后端使用。
但是,我们知道过去的15年的移动开发历史经验教训里面最重要的一点就是大家一而再再而三的不知道吸取经验教训,这种把credential放在前端使用的问题总是发生。所以,接下来,作者要做的就是针对海量的小程序进行大规模检测。
作者广泛收集了3450586个微信小程序,其中存在40880个小程序把MK
给写在了前端代码里面,想象一下,这个场面还有点壮观(比如其中有107个小程序是财富500强的企业开发的):
掌握了MK
,攻击者可以按照下面的攻击流程来获取本来只有开发者才能访问的敏感数据:
实际上除了本文之外,微信官方也在去年就发布了一系列《安全课堂》内容,介绍了小程序的敏感凭证泄露的威胁:
安全课堂|关于小程序AppSecret密钥泄露漏洞 | 微信开放社区
安全课堂|关于小程序session_key泄露漏洞 | 微信开放社区
安全课堂|关于小程序云AK/SK泄露漏洞 | 微信开放社区
作者还分析了一下存在MK
泄露的小程序和其排名、开发者、资源访问类型和数据访问类型之间的一些关联性:
最后,作者指出,除了微信,其他的一些小程序(例如QQ、百度、支付宝、淘宝、钉钉、抖音等平台)也都采用了相似的credential访问控制方案,因此也存在类似的问题:
论文:https://arxiv.org/pdf/2306.08151.pdf
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...