这项研究是由华盛顿邮报2021年9月进行的。
2021年4月,苹果发布了应用程序跟踪透明性(“ATT”)特性的iOS 14.5。ATT声称为用户的应用程序中的第三方跟踪提供了选择和透明度,许多人称赞这是在保护用户隐私方面迈出的一步。真的有用吗?发布五个月后,我们测试了App Store中的十款顶级应用,看看ATT是否成功停止跟踪。
通过使用开源锁定隐私应用程序和手动测试,我们发现应用程序跟踪透明度对活动的第三方跟踪器总数没有影响,对第三方跟踪连接尝试总数的影响最小。我们进一步确认,在几乎所有情况下,详细的个人或设备数据都会被发送给追踪者。ATT在阻止第三方跟踪方面功能无效,即使用户明确选择“要求应用程序不要跟踪”。
我们是前苹果工程师,他们的任务是提高技术的透明度。在过去的四年里,我们一直在开发开源隐私软件(封锁隐私),编写信息内容(透明事务、隐私审查、公开操作),并开发免费工具来帮助开发者变得更透明(OpenAudit)。
与大多数要求用户信任其未经验证的隐私政策的隐私公司不同,我们构建的所有内容都是开源的,因此本报告中的所有结果和数据都可以由任何使用iOS设备的人复制和验证。因为我们也是公开运营的,所以我们的所有主张都得到了源代码、基础设施和审计跟踪的充分支持——任何人都可以通过互联网连接进行验证。
苹果试图将自己标榜为其竞争对手谷歌(Google)和脸书(Facebook)的隐私意识对手,这已不是什么秘密。谷歌和脸书基于广告的业务天生就与隐私不符。这种以隐私为营销手段的做法在广告中听起来很棒,但在实践中,它往往不够诚实,甚至可能适得其反。在这项研究中,我们测试了苹果最新隐私功能的有效性:应用程序跟踪透明度。
App Tracking Transparency声称,用户可以选择是否允许应用中的第三方跟踪。一般iOS用户在使用应用程序时,会通过以下对话框遇到ATT:
用户的选择将显示在设置应用程序的隐私跟踪下:
由于以上两个屏幕是大多数iOS用户将看到的关于ATT的全部内容,我们将使用这些对话框作为我们研究的标准。在上面的例子中,如果ATT按照广告的方式工作,这意味着对于DoorDash应用程序,“所有新的应用程序跟踪请求将自动被拒绝”,并且用户已要求该应用程序不要跟踪他们“在其他公司的应用程序和网站上的活动”
这项研究的目的是衡量ATT在多大程度上符合苹果自己的说法,并回答以下问题:应用程序跟踪透明度在阻止第三方跟踪活动方面有多有效?
为了测试应用程序跟踪透明性的有效性,我们选择了十个排名靠前的应用程序,其中大多数应用程序都由苹果自己的应用商店编辑在应用程序或游戏标签下展示。我们使用了封锁隐私v1。2.4检测(并屏蔽)第三方跟踪器,并进行手动测试,以发现发送的实际内容。一些人工测试后来发现了更多的跟踪器,这些跟踪器也包括在结果中。
我们启用了以下阻止列表:亚马逊跟踪器、数据跟踪器、电子邮件跟踪器、Facebook跟踪器、游戏营销、一般营销、谷歌购物、营销跟踪器、营销跟踪器II、报告。测试设备是最初运行iOS 14.8的iPhone XR。我们后来在iOS 15的最终公开版本中重新测试,发现iOS的ATT行为、跟踪数据和跟踪器的数量是相同的。测试在8月和9月进行。
由于封锁隐私是免费和开源的,因此所有数据和结果都可以由任何人验证。由于应用程序更新和特定的使用行为,独立验证结果可能会略有不同——例如,使用测试应用程序更长时间可能会导致更多的跟踪活动。
我们对每个应用程序进行了两次测试:首先选择ATT的“要求应用程序不要跟踪”,然后再次选择ATT的“允许[跟踪]”。在每次测试中,我们都会在不超过两分钟的时间内完成一次完整的注册和应用程序的基本使用。每次测试后,我们都会在Lockdown Privacy的阻止日志中记录检测到的跟踪活动,然后重置所有内容以测试下一个案例。
以下是Yelp应用程序测试过程的简化版本。它会显示一个设置面板,指示Yelp已关闭跟踪,然后启动Yelp应用程序。最后,在锁定隐私中查看跟踪程序块日志,我们记录了Yelp的第三方跟踪程序在iOS的ATT允许下进行的数十次跟踪尝试。
与第三方有大量联系。阻止这些连接不会影响正在使用的应用程序的功能,因此我们研究了发送的数据。在本节中,我们将重点介绍最著名的例子。在下面的所有情况下,测试都会在ATT对话框中选择“要求应用程序不要跟踪”。
请注意,在所有情况下,用户的IP地址都会暴露给第三方,因为这是连接到internet上任何站点或服务器的基本要求。尤其是发送的个人或令人震惊的数据被标记为红色。
此跟踪器发送的所有数据都已加密,客户端SDK是封闭源代码。无法确定有多少个人用户数据被发送到AppsFlyer。
在我们对十个排名靠前的应用程序的测试中,我们发现在选择应用程序跟踪透明度的“要求应用程序不要跟踪”时,第三方跟踪活动没有显著差异。无论用户选择的ATT是什么,活跃的第三方跟踪器的数量都是相同的,当用户选择“要求应用程序不要跟踪”时,跟踪尝试的次数只略低(约13%)。
这些结果与苹果的应用程序跟踪透明度声明相比如何?在前面的部分中,我们观察到,普通iOS用户会看到ATT声称“所有新的应用程序跟踪请求都会自动被拒绝”,用户可以要求应用程序不要跟踪“其他公司的应用程序和网站上的活动”
苹果关于应用程序跟踪透明度的说法都站不住脚。新的应用程序跟踪请求不会自动被拒绝,尽管用户可以要求应用程序不要在其他公司的应用程序和网站上跟踪其活动,这在技术上是正确的,但在我们的测试中,应用程序在任何情况下都不尊重此请求。而且,由于每个连接都会公开用户的IP地址,因此这些第三方对用户进行唯一标识是微不足道的,这使得ATT变得毫无用处。
在许多情况下,跟踪器接收到的信息远远超过用户的IP地址。我们观察到,他们收到的数据量惊人,包括用户的可访问性设置、用户上次重启设备的准确时间(精确到秒)、设备当前的电池电量和屏幕亮度(精度均为15小数)、用户的准确纬度和经度、安装的键盘、,时区、当前扬声器和麦克风设置、货币、音量级别以及更多信息—请参阅“向跟踪器发送的数据是什么?”以上章节提供了完整的示例。
苹果怎么会在阻止第三方追踪者使用名为“应用程序追踪透明”的功能方面如此惨败?深入研究这个问题的答案,我们发现了主要原因:苹果对“追踪”一词的狭义定义。
在某种程度上,跟踪的定义可以简单而直观:跟踪是指应用程序不必要地将您的数据发送给第三方。第三方现在已经跟踪了你,因为他们至少有你的IP地址:网络上最简单、最古老的标识符。从您的IP地址,可以相当可靠地大致估计您的位置,以及您的ISP是谁。由于它是一个在大多数家庭互联网连接中保持不变的标识符,所以它是一种通过网络追踪你的非常简单的方法。
相反,苹果劫持了“追踪”一词,将其定义为高度具体的东西,他们甚至将其完整定义放在开发人员文档中,当然,普通iOS用户永远不会读到这些文档。那是什么?事实证明,苹果对“追踪”的解释是,它必须满足所有这些条件:首先,它必须将用户数据从一个应用程序/网站链接到另一个应用程序/网站。第二,它必须专门为有针对性的广告或广告测量目的这样做。第三,苹果排除了一系列不被视为“跟踪”的所谓可接受跟踪行为。
根据我们的研究,我们发现苹果对跟踪的定义具有误导性、违反直觉,并且令人困惑,原因如下:
1)它的范围太窄:在广告之外有一个明显的案例,一个合理的人会考虑一个行为“跟踪”。例如,如果有人在一个应用程序中使用间谍软件实时跟踪你的位置,苹果不会考虑这个“跟踪”,因为它不是“广告”相关的。
2) 它包含了太多的警告:在开发者文档中,苹果保留了一个不被视为“跟踪”的跟踪行为列表。虽然这些例外听起来可能合理,但其中大多数都不够模糊,即使是最令人震惊的追踪者也可以重新解释它们,以适应这些例外情况。例如,由于“欺诈检测”是一个如此广泛的例外,营销追踪者可以(而且确实)声称,他们正在从用户的设备发送几十种不同的信号和数据,不是为了唯一地识别广告用户,而是为了所谓的“欺诈检测”。事实上,在我们的研究中,我们发现了一个第三方软件(KoCHAVA)将自己标记为“Apple TrrAKER”的案例,即使苹果公司的定义也不认为它是“跟踪”。
3) 它过于依赖于信任这些政策本应保护用户不受影响的跟踪公司:苹果的定义允许应用程序将你的任何和所有数据秘密发送给第三方,只要这些第三方公开声称他们不会将你的数据链接到其他网站或出售,苹果不认为它是“追踪”。这是一个100%基于信任的荣誉体系,这意味着这些公司被抓到“追踪”的唯一方式就是公开认罪或做错事——这是利润驱动型公司不知道会做的事情。
4) 它会降低透明度,给隐私带来更多危险:苹果的追踪定义使隐私回归假设,即第三方连接默认情况下是无害的,因此任何执法都需要有人提供滥用的确凿证据。但是,如果这些第三方连接被故意屏蔽或加密,该怎么办?我们的测试发现,苹果允许封闭源代码的AppsFlyer跟踪器对它从用户设备发送的数据进行加密,这样就没有人能确切地看到AppsFlyer正在接收什么。这里的危险在于,第三方追踪器可以访问其主机应用程序可以访问的任何内容。例如,对于Square的现金应用程序来说,尽管听起来不太可能,但完全有可能他们的嵌入式AppsFlyer跟踪器正在将您的所有金融交易发送到他们自己的第三方服务器,除了AppsFlyer,没有人会知道,甚至苹果也不知道。
但是,如果苹果信任第三方追踪公司是正确的,而且所有追踪公司都在尽最大努力保护用户隐私,哪怕是以牺牲自己的利润为代价,那该怎么办?为了验证这一理论,我们“卧底”了几个小时,作为一名应用程序开发人员,当用户选择ATT的“要求应用程序不要跟踪”时,我们想绕过苹果自己的跟踪规则。追踪服务会允许我们这样做,还是会证明我们是对的?
事实证明,我们没有错。我们实际上比我们想象的更正确。
这些跟踪器不仅允许他们的客户违反苹果的规则,还专门构建了一些功能,帮助他们的客户轻松绕过苹果的ATT隐私规则。
首先,我们创建了一个使用Kochava跟踪服务的虚拟应用程序。只需点击几下,我们就将Kochava配置为违反苹果公司的“ATT选择退出”,要求它跨应用程序(使用“IP地址”和“用户代理”)跟踪用户,以确定广告目标(“付费媒体”)。基本上,Kochava让任何应用开发者都能很方便地违反苹果对追踪的狭隘定义。
我们后来对AppsFlyer跟踪服务进行了相同的测试(如前所述,它隐藏了从设备发送的数据),启用“隐私欺骗模式”并在用户同意的情况下跟踪用户更容易——只需点击一个按钮。
需要注意的是,由于这些“作弊ATT”设置是在第三方跟踪器的仪表板上配置的,因此苹果发现应用程序参与这种行为的几率为零,因为苹果没有访问权限。成就解锁:用户隐私的幻觉。
说到阻止第三方追踪器,应用程序追踪的透明度是个哑巴。更糟糕的是,让用户选择点击“要求应用程序不要跟踪”按钮,甚至可能会给用户一种虚假的隐私感:如果用户在向应用程序提供数据时更加谨慎,他们可能会放松警惕,认为自己“安全”不受第三方跟踪。此外,我们发现一些应用甚至懒得显示ATT对话框,尽管联系了许多第三方跟踪者。
核心问题是,应用程序跟踪透明度完全基于荣誉系统,因此它与苹果的“隐私营养事实”一样存在致命缺陷。应用开发者可以选择是否诚实追踪,如果他们所有的竞争对手都在撒谎,为什么他们会选择诚实?由于App Store拥有数以百万计的应用程序,遵守规则不仅容易,而且正如我们的测试所示,这是常态。
苹果也没有动机监管这家利润丰厚的应用商店(约占收入的20%)。当然,他们会在病毒传播时关闭匿名欺诈,或公开兜售违反规则的应用程序。但苹果谴责Yelp(与Apple Maps的合作)、DoodDash(1款食品配送应用)或热门游戏(占应用商店收入的98%)的几率有多大?有了足够的用户,应用甚至可以在“围墙花园”上获得动力,以免用户转向Android或华为。例如,微信被允许违反规定,因为中国是苹果的关键市场,而优步获得了一项独特的特权,可以记录用户的屏幕。
追踪器无法发送他们无权访问的数据,因此最直接的技术解决方案是限制或消除应用程序对用于指纹设备的信息的访问。在iOS 15中,应用程序可以无限访问与其功能完全无关的设备数据。例如,为什么任何应用程序都需要访问用户上次重启iPhone的那一秒?为什么iOS允许应用程序以如此高的精度访问这些数据?iPhone的剩余电池和屏幕亮度(精确到15位小数)或iPad的剩余可用空间(精确到字节)等数据对于大多数应用程序来说都不是合法的、非指纹识别的用途。对于可能需要这种精度的罕见应用程序,app Review应根据具体情况批准其使用。
苹果还需要对封闭源代码跟踪器采取强硬立场,尤其是那些进一步加密发送到第三方服务器的数据的跟踪器。追踪器可以访问其宿主应用程序可以访问的所有内容:财务应用程序中的追踪器可以访问您的所有财务数据,健康应用程序中的追踪器可以访问您的所有健康数据,照片应用程序中的追踪器可以访问您的所有照片。确保追踪器没有窃取任何信息的唯一方法是,追踪器公开其源代码。如果没有这一点,“围墙花园”的概念完全是假的,因为即使是苹果的应用程序审查团队也无法了解哪些数据正在发送给第三方。
在营销和用户界面方面,苹果需要澄清,应用程序跟踪透明性是一个完全基于信任的系统,甚至可能重新命名该功能本身。向用户展示一个对话框,让用户选择“要求应用程序不要跟踪”是不诚实的,而苹果(一家擅长用户界面和设计的公司)非常清楚,1)普通用户会被误导,以为他们可以免受跟踪,2)在实践中,对第三方跟踪的合规性或影响很小甚至没有。
在设置应用程序中,苹果需要非常清楚,iOS目前没有也不能停止第三方跟踪。在iOS 14.5之前,隐私面板中的每个应用权限(摄像头、联系人等)都是由iOS强制执行的,确保某些应用可以或不能访问某些功能。iOS 14.5的追踪权限打破了这个10年前的iOS模式,误导用户认为它和其他所有权限一样是强制执行的。事实上,iOS甚至在这里声称一些完全不真实的东西:“新的应用程序跟踪请求会自动被拒绝。”
最后,从长远来看,苹果应该更加透明,为开发者建立透明的模型,不仅开放软件,而且开放流程。当用户的数据上传到云端时,苹果或任何应用程序开发人员会对其做什么?应用程序中嵌入了哪些跟踪器?苹果的应用审查如何验证应用的隐私承诺?
在一个软件和流程真正透明的世界里,这些以及其他紧迫的隐私问题可以得到准确的回答,并且很容易验证。如果没有这一点,全世界10亿iPhone用户就陷入了一个无法接受的妥协:依靠独立研究人员在业余时间测试并报告价值万亿美元的公司旗舰功能的有效性。