许多 iOS 应用程序正在使用由推送通知触发的后台进程来收集设备的用户数据,从而有可能创建用于跟踪的指纹档案。Mysk 指出,这些应用程序绕过了苹果公司的后台应用程序活动限制,对 iPhone 用户构成了隐私风险。
苹果应用商店审查指南中有这样一段话:应用程序不应试图根据收集到的数据偷偷建立用户档案,也不得试图、协助或鼓励他人识别匿名用户,或根据从苹果提供的应用程序接口收集到的数据重建用户档案。
唤醒并收集数据
为防止资源消耗和提高安全性,苹果公司在最初设计 iOS 时就允许应用程序在后台运行。在用户不使用应用程序时,它们就会被暂停并最终终止,因此无法监控或干扰前台活动。
不过,在 iOS 10 中,苹果引入了一个新系统,允许应用程序在后台悄悄启动,以便在设备显示新推送通知之前处理它们。
该系统允许接收推送通知的应用程序解密传入的有效载荷,并从其服务器下载更多内容,以丰富推送通知的内容,然后再提供给用户。完成这一步后,应用程序会再次终止。
通过测试,Mysk 发现许多应用程序滥用了这一功能,将其作为向其服务器发送设备数据的“机会之窗”。根据应用程序的不同,涉及的数据包括系统运行时间、地域、键盘语言、可用内存、电池状态、存储使用情况、设备型号和显示亮度等等。
推送通知到达时 LinkedIn 的网络数据交换(来源:Mysk)
研究人员认为,这些数据可用于指纹识别/用户特征分析,从而实现持续跟踪,而这在 iOS 系统中是被严格禁止的。
Mysk 在 Twitter 上表示:通过这次测试,可以看到这种做法比预想的更为普遍。许多应用程序在被通知触发后发送设备信息的频率令人震惊。
Mysk 在一段视频中演示了这一做法,他指出,苹果在 iOS 10 中引入的一项推送通知自定义功能被部分开发者“别有用心”地利用了,该功能原本是为了让应用丰富通知内容或解密加密信息,但一些开发商却将其用于更隐蔽的数据传输。Mysk 发现,包括 TikTok、Facebook、Twitter、领英和必应等在内的多个热门应用,正在利用推送通知的短暂后台执行时间,发送用户分析信息。
苹果将通过加强对使用设备信号 API 的限制来堵住漏洞,防止推送通知唤醒功能被进一步滥用。从 2024 年春季开始,应用程序将被要求准确声明为什么需要使用可能被滥用于指纹识别的 API。
这些 API 可用于检索设备信息,如磁盘空间、系统启动时间、文件时间戳、活动键盘和用户默认设置。
苹果表示,如果应用程序没有正确声明其使用这些 API 的情况和用途,就不能在 App Store 上架。
在此之前,希望避免这种指纹识别的 iPhone 用户应禁用推送通知。但将通知设置为静音并不能防止滥用,想要禁用通知,需打开 "设置",前往 "通知",选择要管理通知的应用程序,然后点击切换按钮禁用 "允许通知"。
2023年12 月,有消息称美国政府要求通过苹果和谷歌服务器发送推送通知记录,以此来监视用户。但苹果表示,美国政府禁止他们分享有关这些请求的任何信息,并在此后更新了他们的透明度报告。