应用软件泄露用户数据早已是个屡见不鲜的话题,但每每提起,还是不得不感慨其中难以防范的危险,尤其是当影响范围过大、自己也可能是 '' 受害者 '' 时。
昨日,网络安全公司 Check Point Research(以下简称 CPR)发布了一份报告:由于开发者没有正确配置第三方云服务,部分流行的 Android 应用泄露了超过 1 亿用户的个人数据。
多种错误配置
CPR 团队表示,通过对 23 款应用进行测试,他们发现可以从多种错误配置的云服务入手,获取用户个人数据以及开发者的内部资源。
实时数据库
实时数据库允许应用开发者将数据存储在云中,以确保数据实时同步到每个连接的客户端。一般情况下开发者为保护数据隐私,都会涉及一个基本功能——通过身份验证才能配置实时数据库。
可就是这样的一般情况,许多流行应用都没有做到。
经过尝试,CPR 发现可以从应用的公共数据库中恢复许多用户的私密信息,包括电子邮箱、密码、聊天记录、设备位置等。由此,CPR 推测,一旦恶意攻击者访问到这些数据,很有可能用来进行欺诈、盗号等行为。
从 Astro Guru 中,CPR 可以获取用户的姓名、出生日期、性别、位置、电子邮件和付款明细;从 T'Leva 中,可以获取用户全名、电话号码、位置(目的地和出发地)和与司机之间的聊天记录。
打开百度APP看高清图片
(CPR 从 Astro Guru 中获取的用户信息)
推送通知
推送通知想必大家都不陌生,开发者通过发送推送通知与用户进行互动,这也是应用中使用最广泛的服务之一。一般情况下,推送通知服务都需要起码一个密钥来识别开发者身份。
然而,这个一般情况也有部分应用没有实现。CPR 发现,有开发者仅仅是将密钥嵌入到应用文件本身,即密钥就已失去了识别身份的意义。
虽然相较实时数据库泄露的数据,推送通知配置不当并没有直接损害用户信息,但如果有恶意份子通过假冒开发者身份,向用户推送一个看似官方的恶意网址,一旦上当,遭殃的还是用户。
云存储
云存储,一种网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器中,目前许多应用采取的都是这种方式。原本这是一种便捷的功能,可有部分开发者却将云存储密钥直接嵌入应用程序的代码中。
明知故犯的应用开发者
以上这些问题虽然并不是什么新奇的应用漏洞,但归根结底,这是应用开发者的疏漏。另外,CPR 在分析了几十个案例后,发现其中许多开发者是明知故犯,即明明知道在应用代码中嵌入云服务密钥不可取,却还是这样做了。
出于安全考虑,除了在分析中明确指出的 5 款应用,CPR 团队并没有将这 23 款应用的名称全部披露。而那 5 款应用在被正式写入报告之前,CPR 也与其应用制造商进行了沟通,其中部分已经进行了更新并修复了相关问题:'' 一些应用程序已更改其配置。''
不过 CPR 也补充道,尽管与这些应用方都同步了漏洞所在,但许多应用还是没有进行改进。此外,这 23 款应用,对于拥有数百万应用的 Google Play 而言不过是微不可见的角落,可见由于云服务配置不当导致用户数据泄露的应用比想象中还要普遍。