Check Point研究人员发现移动APP开发人员错误配置第三方服务,致使超过1亿用户数据泄露。

Check Point研究人员发现过去几个月手机应用开发者在配置和融入第三方云服务时没有遵循最佳实践导致开发者内部资源数据和用户个人数据处于危险中。

错误配置实时数据库

实时数据库可以让应用开发者在云端保存数据,确保与每个连接的客户端实时同步。该服务可以解决应用开发过程中的许多问题,确保数据库支持所有的客户端平台。但研究人员发现许多应用开发者并没有配置实时数据库的基本功能——认证。

图1 – 谷歌play中使用开放实时数据库的APP

研究人员发现从这些开放的数据库中可以恢复出邮件地址、密码、隐私会话、设备位置、用户id等敏感信息。如果恶意攻击者获得了这些数据的访问权限,就可能引发欺诈、身份窃取等恶意行为。

图2 – logo maker用户的邮件地址、用户名、密码

推送通知

推送通知管理器是移动应用中广泛使用的服务。开发者需要发送推动的通知给用户。许多推送通知服务都需要一个key来识别请求提交者的身份。研究人员发现有些应用将这些key嵌入在应用文件中。

图3 – 推送通知服务的凭证嵌入在应用中

推送通知服务的数据一般并不敏感,但攻击者可能更加关注用开发者的身份去推送通知的能力,比如用来推送恶意信息。

云服务

云服务是开发者或安装的应用用来分享文件的一种很好的解决方案。比如,两个APP可以通过云服务共享截图信息。但如果开发者将密钥和访问密钥嵌入到服务中,那么通过云服务共享数据也可能会引发风险。研究人员分析发现,通过应用的文件,可以恢复出授予云服务文件访问权限的密钥。

iFax APP不仅将云存储密钥嵌入在APP中,还保存了所有的传真传输。研究人员分析该APP后发现可以访问超过50万用户发送的所有文件。

图4 – 谷歌play中暴露云存储密钥的应用

图5 –iFax app上传的文件

许多开发者也知道在应用中存储云服务秘钥是不安全的。研究人员分析多个APP发现,许多开发者尝试通过一些方法来进行补救,但是并没有修复密钥存储的问题。比如,Jadx应用用base64编码来隐藏密钥,但是base64解码非常容易,此外甚至不需要解码,只需要复制base64编码的秘钥就可以访问对应的内容。

总结

研究人员分析发现一共有23个APP存在云存储密钥嵌入和暴露实时数据库的配置错误问题,大多数APP下载量超过1000万,累计有超过1亿用户数据泄露,包括邮件地址、密码、隐私会话、设备位置、用户id等敏感信息。

本文翻译自:

https://research.checkpoint.com/2021/mobile-app-developers-misconfiguration-of-third-party-services-leave-personal-data-of-over-100-million-exposed/