仅仅因为我们无权做某事并不意味着它不可能做。在 Android 上,移动应用程序被授予对某些敏感数据的访问权限,而对其他数据则没有访问权限。这取决于应用程序的需要和用户的意愿。但一些应用程序规避这些规则,窃取他们无权阅读的数据,可能是为了广告定位的目的。
由六名研究人员组成的小组对 Google Play 中超过 88,000 个应用程序的运行和数据交换进行了静态和动态分析。其中,有数百人未经授权向第三方服务器发送接入点MAC地址、终端MAC地址、IMEI号或地理位置数据等数据,被当场抓获。为了实现这一目标,这些应用程序的开发人员使用了巧妙的策略。
协同工作
因此,为了窃取 IMEI,两个中文库——Salmonads 和百度地图 SDK——依赖于 SD 卡上的隐藏目录。这是真正的协作工作。集成这些库之一并具有 IMEI 访问权限的应用程序会创建目录,然后将信息存放在其中,以供也集成这些库但没有必要权限的应用程序使用。团结的一个很好的例子。
为了获取终端的 MAC 地址,一些基于 Unity 的游戏应用程序会启动连接套接字来间接检索 Wi-Fi 模块的标识符(可用于估计用户位置的数据)。更简单:只需打开“/proc/net/arp”文件即可。任何应用程序都可以访问它,并且包含本地网络的 IP 地址和 MAC 地址之间的对应表。另一种方法是使用通用即插即用 (UPnP) 协议直接轮询接入点。在这里,Android 再次看到了火。
与广告商携手
一些应用程序还通过其营销合作伙伴收集地理位置数据,这些数据有时会将其插入广告链接中。但结果并不总是非常精确。最后,Shutterfly 应用程序的开发人员找到了一种检索地理位置数据的原始方法:他们在设备照片的 EXIF 数据中查找它。
研究人员已提醒谷歌注意所有这些变通办法。因此,IT巨头应该加强访问控制。在下一个版本的系统Android Q中,将禁止访问“/proc/net”目录。据 The Verge 报道,对 EXIF 数据的访问也将被阻止。但谷歌尚未对其他缺陷发表评论。
来源:科学论文