为进一步提升小程序的安全性和用户体验,目前平台对提审的小程序均需进行安全检测,在检测过程中发现仍有许多小程序存在安全漏洞,其中涉及云AK/SK泄露漏洞,希望通过以下相关的漏洞介绍、案例分析、漏洞危害和修复建议,开发者能更加了解如何对该漏洞进行防御。
一、漏洞介绍
AK/SK(Access Key ID/Secret Access Key)即访问密钥,包含访问密钥ID(AK)和秘密访问密钥(SK)两部分,公有云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。简单来说,云AK/SK是用于生成用户跟云平台的API通信的访问凭据。其中SK是必须要保密的,不能通过任何途径泄露,否则就会产生安全问题。
二、漏洞案例
对小程序而言,导致云AK/SK泄露的途径主要有以下两种:
1.小程序代码泄露AK/SK
将AK/SK硬编码到小程序代码/配置文件中,攻击者只需要对小程序包进行反编译即可获取AK/SK
2.网络请求泄露AK/SK
通过后端API将AK/SK返回到前端,攻击者只需要对小程序进行网络抓包,即可获取后端返回的AK/SK,举例如下,可以清楚看到该API的返回内容泄露了多个公有云厂商的AK/SK
三、漏洞危害
攻击者可以通过获取泄露的AK/SK调用云厂商的API,从而接管用户的云账户、云主机、云存储等功能;也可以根据云平台的一些管理工具,直接导入云资源,参考如下:
四、漏洞修复
若小程序存在相应的云AK/SK泄露漏洞问题,请开发者尽快自查并修复漏洞:
1.请勿在代码/配置文件中记录SK,若有请尽快去除相关字段(包括字段名及其对应值);
2.请勿在任何后端API接口中将SK返回至前端,若有请尽快在网络请求中,去除相关字段(包括字段名及其对应值);
3.立即登录相应的云平台,对于已经泄露的SK进行修改,具体修改方法为删除旧访问密钥,然后重新生成即可。
相关文章
安全课堂|关于小程序session_key泄露漏洞
安全课堂|关于小程序AppSecret密钥泄露漏洞
如有其他相关疑问,欢迎随时参与官方社区讨论。
拿阿里云截图举例子,有点......