许多 iOS 应用程序正在利用推送通知触发的后台进程,来收集有关用户数据,从而允许创建用于跟踪的指纹配置文件。


发现这种做法的移动研究人员 Mysk 表示,这些应用程序绕过了苹果的后台应用程序活动限制,并对 iPhone 用户构成隐私风险。


“应用程序不应根据收集的数据秘密构建用户配置文件,并且不得尝试、促进或鼓励其他人识别匿名用户或根据从 Apple 提供的 API 收集数据。” 苹果应用商店审查指南的一部分写道。


在分析了 iOS 后台进程在接收或清除哪些数据后,研究人员发现许多有一定用户群的应用程序涉及其中。


唤醒并收集数据


Apple 设计 iOS 时不允许应用程序在后台运行,以防止资源消耗并提高安全性。当不使用应用程序时,它们会被暂停并最终终止,因此它们无法监视或干扰前台活动。


不过,在 iOS 10 中,苹果推出了一个新系统,允许应用程序在后台悄悄启动,以便设备显示新的推送通知之前对其进行处理。


该系统允许接收推送通知的应用程序解密传入有效负载,并从其服务器下载附加内容在将其提供给用户之前对其进行丰富。此过程完成后,应用程序将再次终止。


通过测试,研究人员发现许多应用程序滥用此功能。根据应用程序的不同,包括系统正常运行时间、区域设置、键盘语言、可用内存、电池状态、存储使用情况、设备型号和显示屏亮度。



LinkedIn 在推送通知到达期间的网络数据交换


研究人员认为,这些数据可用于指纹识别/用户分析,从而实现持久跟踪,而这在 iOS 中是严格禁止的。


“测试表明,这种做法比我们预期的更常见。许多应用程序在被通知触发后发送设备信息的频率令人震惊,”Mysk解释道。


Mysk 创建了一个视频,显示了Facebook、LinkedIn 等接收推送通知期间的网络流量交换。这些应用程序被发现使用 Google Analytics、Firebase 或他们自己的专有系统等服务,将各种设备数据发送到他们的服务器。


有人就其应用程序检索用户数据的问题联系了 Microsoft、Apple和 LinkedIn,但未立即得到回复。


缓解措施


苹果将通过加强对设备信号 API 的使用限制来填补这一空白,并防止进一步滥用推送通知唤醒。


从 2024 年春季开始,应用程序将被要求准确声明为什么它们需要使用可被滥用于指纹识别的 API。这些 API 用于检索有关设备的信息,例如磁盘空间、系统启动时间、文件时间戳、活动键盘和用户默认值。


如果应用程序没有正确声明它们对这些 API 的使用用途,Apple App Store 将会拒绝它们使用。


在此之前,想要取消这种指纹识别的 iPhone 用户应该完全禁用推送通知,但禁用推送通知并不能完全防止滥用。


参考及来源:https://www.bleepingcomputer.com/news/security/iphone-apps-abuse-ios-push-notifications-to-collect-user-data/