近日,根据派拓网络(Palo Alto Networks)旗下的UNIT42研究小组的最新报告,在Android官方应用商店Google Play(通常业界认为这是最安全的Android应用商店)中,两款下载量合计超过600万的百度应用——百度搜索框和百度地图,存在泄露用户敏感数据的安全问题。

UNIT42的报告指出,移动应用程序的数据泄漏是业界已知的问题,数据泄露不但侵犯了用户的隐私,而且可被网络罪犯用于进一步的攻击,例如收集电话位置或获取被叫号码。通过滥用泄漏数据,攻击者可以在用户不知情的情况下从用户设备传输或接收信息。

在基于机器学习(ML)的间谍软件检测系统的帮助下,UNIT42的研究人员在Google Play上发现了多个泄漏数据的Android应用程序,其中影响力最大的两个程序是百度搜索框和百度地图,这两个应用程序在Google Play中总共下载了600万次。这些安卓程序泄露的数据使攻击者可以标识和追踪用户,即使用户更换手机也无法逃避。

研究人员发现有问题的应用程序采集了一系列用户(设备)信息,包括:

  • 手机型号

  • 屏幕分辨率

  • 电话MAC地址

  • 无线运营商

  • 网络(Wi-Fi、2G、3G、4G、5G)

  • Android ID

  • 国际移动用户识别码(IMSI)

  • 和国际移动设备识别码(IMEI)

IMEI是物理设备(手机硬件)的唯一标识符,包含诸如制造日期和硬件规格之类的信息。IMSI是唯一的蜂窝网络用户标识,通常与手机SIM卡关联,这两个标识符都可用于跟踪和定位蜂窝网络中的用户。研究人员警告说,收集此类数据的Android应用程序可以在多个设备的生命周期内跟踪用户。

百度地图 v10.24.8的Android程序中,采集手机型号、MAC地址、IMSI编码的代码 来源:UNIT42

报告指出:“如果用户将其SIM卡切换到新手机并安装了先前收集并发送了IMSI号码的应用程序,则该应用程序开发人员依然能够唯一地标识该用户。”

网络罪犯可以使用各种侦听工具(例如,主动和被动IMSI捕获器)来“窃听”来自手机用户的信息。一旦获取了这些数据,网络犯罪分子就可以对用户进行概要分析,并进一步提取有关他们的敏感信息。例如,如果网络罪犯掌握了电话的IMEI号码,则他们可以使用它来报告电话被盗,并触发提供商禁用该设备并阻止其访问网络(此操作往往作为社工攻击的一部分实施)。

网络罪犯或国家黑客也可能滥用此数据,以侵犯用户的隐私权,并利用泄漏的信息来拦截电话或短信。如果网络罪犯或国家黑客拦截那些以纯文本或弱加密方式传输的信息,则可能使用户面临更大的风险。

在深入研究消息的内容并分析了多个Android应用程序之后,UNIT42的研究人员确定了百度的Android push SDK是消息的来源。该SDK已被某些最大的百度应用程序广泛使用,例如百度地图或百度搜索框。

报告指出还有一个可以从用户手机收集敏感信息的Android SDK是中国供应商MobTech提供的ShareSDK。ShareSDK支持40多个社交媒体平台。它可以帮助第三方应用程序开发人员轻松访问社交媒体共享和注册。它还允许他们获取用户的信息,朋友列表和其他社交功能。目前,ShareSDK为37,500多个应用程序提供服务,并已成为中国最大的开发人员服务平台。

除了百度地图(10.24.8版本)和搜索框,UNIT42还发现美国Google Play应用商店还有存在类似行为的流行应用程序,包括Homestyler–Interior Design&Decorating Ideas应用程序,该应用程序使用了GrowingIO框架。如上表所示,该应用程序也会从用户的设备收集个人信息,但这个应用尚未被Google下架。

报告指出,虽然上述百度应用并未违反Google的Android应用程序政策,但根据Android最佳做法指南,Google建议开发者不要收集诸如IMSI或MAC地址之类的标识符。

据报道,UNIT42将此发现通知了百度以及Google的Android团队,后者确认了调查结果,发现了未指明的违规行为,并于2020年10月28日从全球Google Play中删除了这些应用程序。兼容版本的百度搜索框已于2020年11月19日在Google Play重新上架,但百度地图在全球范围内仍不可用。

Google的Android团队表示:“我们感谢研究界以及Palo Alto Networks等公司的工作,这些公司致力于加强Play商店的安全性。我们期待着将来与他们合作进行更多研究。”

Android团队进一步指出:Android官方应用程序商店(例如Google Play)的某些应用程序有时会出现类似Android恶意软件的行为,有些流行应用每月有数百万的活跃用户。为防止数据泄漏,Android应用程序开发人员应遵循Android的最佳做法指南并正确处理用户的数据。Android用户应及时了解其设备上的应用程序要求的所需权限。