Jeffrey Paul: Your Computer Isn't Yours (zh)

Jeffrey Paul

Your Computer Isn't Yours (zh)

( 666 words, approximately 3 minutes reading time. )

View the original in English

This translation provided courtesy of Sunoru.

你的电脑不属于你

事实就是这样,你注意到了吗?

当然,我指的是 Richard Stallman 在 1997 年预言的Cory Doctorow 也警告过我们的那个世界。

用现代的 macOS,即使你只是想简单地接通电源开机,启动一个文本编辑器或者电子书阅读器,然后随便读读写写,也没法避免你的行动记录被传输和存储。

在当前版本的 macOS 中,当你运行每一个程序时,系统都会给苹果公司发送一个哈系值(hash,唯一标识符)。很多人并没有意识到这一点,因为它是无声无息的,看不见的,而且当你离线时它马上就会悄悄地失效。不过今天的服务器速度是真的很慢,以至于它没办法走那条快速失效的路径,导致大家如果连着网就无法启动应用。

因为这件事是联网的,服务器自然就会看到你的 IP 地址,并且知道请求是什么时间进来的。有了 IP 地址,服务器就可以在城市级或者 ISP 级粗略地得到你的地理定位,而且可以做个这样的数据表:

日期,时间,计算机,ISP,城市,州,应用哈系值

当然,苹果(或其他任何人)可以计算这些常见程序的哈希值:App Store、Creative Cloud、Tor 浏览器、破解或逆向工程用的工具等一切程序。

这意味着,苹果知道你什么时候在家,什么时候在工作。也知道你在哪里打开什么应用,以及打开的频率。他们知道你在朋友家的 Wi-Fi 上什么时候打开了 Premiere,也知道你在去别的城市旅行途中的什么时候在某个酒店里打开了 Tor 浏览器。

“谁在乎呢?”我听到你在问。

好吧,这不仅仅是苹果公司。这些信息不会只留在他们那里。

  1. 这些 OCSP 请求是在未加密的情况下传输的。每个能看到网络的人都能看到这些信息,包括你的 ISP 和任何窃听他们电缆的人

  2. 这些请求会进入一家叫做 Akamai 的公司运营的第三方 CDN。

  3. 自 2012 年 10 月以来,苹果公司就一直是美国军事情报界的棱镜计划的合作伙伴。该计划允许美国联邦警察和军方在没有搜查令的情况下,只要想就可以不受限制地获取这些数据。2019 年上半年,他们就这样做了超过 18000 次,在 2019 年下半年又做了 17500 多次

这些数据相当于一个关于你的生活和习惯的巨大数据库,并让拥有所有数据的人能够识别你的运动和活动模式。对于一些人来说,这甚至会对他们的身体造成危险。

现在,到今天为止,这类事情已经可以用一个叫 Little Snitch 的程序来阻止了(真的,这是让我现在还在使用 macOS 的唯一原因了)。在默认配置中,它一揽子允许所有这些计算机与苹果之间的通信,但你可以禁用这些默认规则,一个个地批准或拒绝这些连接,你的计算机将继续正常工作,而不会向苹果打小报告。

今天发布的 macOS 11.0 版本——Big Sur,引入了新的 API 阻止了 Little Snitch 之前的工作方式。新的 API 不允许 Little Snitch 检查或阻止任何操作系统级别的进程。此外,macOS 11 中的新规则甚至阻碍了 VPN 让苹果应用能够直接绕过它们

@patrickwardle 让我们知道,负责这些请求的守护进程 trustd 在 macOS 11 新的 ContentFilterExclusionList(内容过滤排除列表)中,这意味着它不能被任何用户控制的防火墙或 VPN 阻止。他的截图还显示 CommCenter(用于从 Mac 上打电话)和地图应用也会穿过你的防火墙/ VPN,从而有可能会危及你的语音流量和计划的位置信息。

苹果刚刚宣布的那些闪闪发光的 Apple Silicon Mac,快三倍多 50% 的续航?它们不会运行 Big Sur 之前的任何操作系统。

这是有史以来第一台让你必须做出选择的通用电脑:你要么拥有一台快速高效的机器,要么拥有一台保有隐私的。(苹果移动设备已经这样做了好几年了。)除了使用像带 VPN 功能的随身路由器这样你可以完全控制的外部网络过滤设备之外,在新的 Apple Silicon Mac 上将无法启动任何不会给它家打电话的操作系统。而且,你也无法修改操作系统来防止这种情况发生(或者由于基于硬件的加密保护,它们根本无法启动)。

2020-11-13 07:20 UTC 更新:我注意到,可能可以通过 bputil 工具,在 Apple Silicon Mac 上禁用启动时间保护和修改签名系统卷(Signed System Volume,SSV)。我已经订购了一个,研究之后会在博客上进行报告。据我所知,这仍然只允许启动苹果签名的 macOS,尽管可能会删除或禁用某些令人讨厌的系统进程。等我拿到系统后,会有更多数据。

你的电脑现在服务于一个远程主人,他们决定他们有权监视你。如果你要用世界上最高效的高分辨率笔记本电脑,你就不能阻止这件事

更不要提苹果能通过在线证书检查阻止你启动任何他们(或他们的政府)要求被审查的程序这件事了。

亲爱的青蛙,水已经开了

Stallman 和 Doctorow 一直警告我们的日子这周终究到来了。这是一个缓慢而渐进的过程,但我们终于到这个地步了。你再也不会受到任何警报了。

另见

大概没关系的事情

另一个消息是,苹果已经悄悄地对 iMessage 的端到端加密技术留了个后门。目前,现代 iOS 系统会在设置过程中提示你输入 Apple ID,并会自动启用 iCloud 和 iCloud Backup 备份功能。

iCloud Backup 不是端到端加密:它将你的设备备份加密到苹果的密钥。每一台启用了 iCloud Backup 的设备(默认情况下是开启的)都会在每晚插电时将完整的 iMessage 历史记录以及设备的 iMessage 密匙备份给苹果。苹果可以在不接触设备的情况下解密并读取这些信息。即使你禁用了 iCloud 和/或 iCloud Backup:很可能与你一起发 iMessage 的人并没有这样做,你的对话正在被上传到苹果公司(并通过棱镜计划,免费提供给美国军方情报部门、FBI等人——无需授权令或正当理由)。

来用 Signal

更新

2020-11-16 16:06 UTC 更新:

“What are the facts? Again and again and again – what are the facts? Shun wishful thinking, ignore divine revelation, forget what “the stars foretell,” avoid opinion, care not what the neighbors think, never mind the unguessable “verdict of history” – what are the facts, and to how many decimal places? You pilot always into an unknown future; facts are your single clue. Get the facts!”

— Robert Heinlein

事实是什么?

那个所谓揭穿我的说法的叫 jacopo 的网友是在撒谎。在他自己的页面上就有证据,你可以自己去看

哎呦。

他还声称,“macOS 实际上会发送一些关于那些应用的开发者证书的不透明的信息”。其实这一点也不不透明:它是一个应用开发者的公开的唯一标识符(对于几乎所有的应用来说,这也是该应用的公开的唯一标识符,因为大多数开发者只发布一个应用)。

这很好地说明了相信任何专家的危险性,这些专家在骗点击量的贝特里奇标题下在你的脸上塞了一堆技术性的胡言乱语。一定要做好自己的功课,并且永远记住我们的明灯:事实是什么?

发送的东西确实是一个哈希值确实是几乎所有应用的唯一标识符,而且确实是和你的IP一起未经加密实时发送给苹果的。我简化了上面的解释,以避免要解释 OCSP 和 x509 以及 PKI,并刻意小心翼翼地不说这是应用二进制的文件内容的哈希。

太长不看:这个帖子现在、过去和现在都很准确。骗点击量的就继续骗点击量吧。

好消息是,苹果公司今天刚刚公开承诺,大概就是针对这个页面的回应,他们要:

  1. 删除 IP 日志

  2. 对 macOS 和苹果之间的通讯进行加密,防止隐私泄露

3. 给用户提供了一个选项,禁用这些会泄露你正在打开的应用程序和时间的在线检查。

(他们的更新在该页的最下面,在“隐私保护”这个奇怪的大写标题下。)

引用苹果 11 月 16 日更新的一段话:

Gatekeeper 会进行在线检查,以验证应用程序是否含有已知的恶意软件,以及开发者的签名证书是否被撤销。我们从未将这些检查的数据与 Apple 用户或其设备的信息相结合。我们不会使用这些检查中的数据来了解个人用户在其设备上启动或运行的内容。

Notarization (公证)检查应用程序是否包含已知的恶意软件,使用对服务器故障有弹性的加密连接。

译注:

在苹果官网的中文版页面并没有加上这段话,上述和下文的两个引用区都为根据英文版翻译。

他们在这里在不需要说谎的情况下,故意使用了模棱两可的说法,引导你把 Gatekeeper 和公证混为一谈,让你相信目前的连接是加密的。这个帖子中描述的 Gatekeeper 的 OCSP 检查(“Gatekeeper 会进行在线检查”)是没有加密的。(公证的那些,在这里不相关,但有加密。)

苹果的带节奏公关是世界上最好的,我向他们致敬。

还有:

此外,在接下来的一年里,我们将对我们的安全检查做出一些改变:

对开发者 ID 证书撤销检查的新加密协议

(所有那些自作聪明(too clever by half)错误地评论 TLS 信任循环依赖,以及 OCSP 如何必须不加密才能工作的人,现在可以停了。)

他们让 NSA、CIA、你的 ISP 等人在过去 2 年多的时间里从线上吞噬了这些未加密的生活模式数据,而且他们还将把这些数据(加密)实时传输给苹果,默认情况下每台 Mac 都会有,但至少现在知道的 0.01% 的 Mac 用户可以将其关闭,这样苹果就只能为其他 99.99% 的 Mac 用户获取你打开什么应用、何时何地的实时日志了。恶心。真爽哦。

有可能他们会使用布隆过滤器或其他一些隐私保护的方式来分发证书撤销数据,而不是实际传输应用程序启动活动。但鉴于现在无论我反复退出多少次,每一个版本的 iOS 都恳求我重新启用分析,我是不会在这里屏住呼吸的。我们在他们更新这个过程之前都不会知道。他们只承诺在明的某个时候这样做,这表明你的隐私对他们来说是多么的优先。

可悲的是,这大概是从苹果公关能得到的一个跟“我们搞砸了”的最接近的回复了:他们删除他们的 IP 日志,加密他们的狗屎,并让你把它关闭。这是不错的,但他们仍然对事实完全保持沉默,Big Sur 上的应用仍然会绕过你的防火墙,泄漏你的 IP 和位置。他们也完全没有提及他们如何仍然没有修复在 iMessage 的加密的密钥托管后门,所以苹果的系统管理员和 FBI 可以继续看到你的裸照和 iMessage 的文本信息

我想,我们可能需要为这点小小的胜利而高兴吧。

dhh 说得很好

让苹果将这些“用于防止恶意软件的保护”混入一个同时也是“保护我们的商业模式”的系统中,整个过程仍然存在很大的问题。

我们需要保持警惕,抵制这些纯粹伪装成仁慈的安全措施的权力掠夺。是的,安全利益是存在的。不,我们不相信苹果能决定我们的电脑是否应该被允许运行一款软件。我们已经在 iOS 上失去了这点。

无论如何,这是个进步的承诺。现在,苹果仍在通过公开的互联网,以一种不加密的方式将你的 IP 地址与应用打开联系起来。而在 Big Sur,已经阻止了像 Little Snitch 这样的工具来阻止它。所以在修复程序推出之前,或许不要升级?

不过,这种对记录的改变和对未来改进的承诺,也是把苹果所有的那种很快把这些揭露当成无事生非的辩护者给打脸了。呀,跳上那条船的前一天,苹果就用这个承认自己把它弄沉了。

为聪明的理性声音喝彩三声。谢谢,dhh!

2020-11-14 05:10 UTC 更新:添加了 FAQ 问答区。

FAQ

问:这是 macOS analytics(分析)的一部分吗?如果我关闭了分析功能,这种情况还会发生吗?

答:这与分析无关。这似乎是苹果公司反恶意软件(也可能是反盗版)工作的一部分,并且在所有运行受影响版本的系统的 Mac 上,与任何分析设置无关。系统里也没有用户设置来禁止这种行为。

问:这是什么时候开始的?

答:至少从 macOS Catalina(10.15.x,2019 年 10 月 7 日发布)开始,这种情况就已经发生了。这不是从昨天发布的 Big Sur 刚开始的,它已经悄然发生了至少一年的时间。据 Lap Cat Software 公司的 Jeff Johnson 说,这是从 2018 年 9 月 24 日发布的 macOS Mojave 开始的。

每出一个新版本的 macOS,我都会把它安装在一台完全空白的机器上,关闭分析功能,什么都不登录(没有 iCloud,没有 App Store,没有 FaceTime,没有 iMessage),用一个外部设备来监控机器里出来的所有网络流量。最近几个版本的 macOS 已经相当嘈杂,即使你不使用任何苹果服务。在 Mojave(10.14.x)中一直存在一些隐私/跟踪问题,但我不记得当时是否存在这种 OCSP 问题。我还没有测试过 Big Sur(保持联系以获得更新),对用户防火墙(如Little Snitch)和苹果应用程序绕过这些防火墙和 VPN 的担忧来自那些有测试过的人的报告。我估计如果我这周就去测试机上安装 Big Sur,会发现有一大堆问题,因为它昨天才出来,我不会用我有限的时间测试处于变化中的 beta 版,我只用 release 版软件。

问:那我如何保护才能自己的隐私呢?

答:因人而异。你的 Mac 会有大量的流量出来与 Apple 交流,如果你担心自己的隐私,可以从关闭那些旋钮的东西开始:禁用和注销 iCloud,禁用和注销 iMessage,禁用和注销 FaceTime。确保电脑、iPhone 和 iPad 上的位置服务处于关闭状态。这些都是你已经选择加入的追踪大泄露,还有一个再简单不过的办法:关闭它。

至于这个 OCSP 问题,我相信(但是还没测试过!)

echo 127.0.0.1 ocsp.apple.com | sudo tee -a /etc/hosts

暂时解决这个特定问题。我用 Little Snitch 来阻止这样的流量,它在 10.15.x(Catalina)和更早的版本上仍然可以正常工作。(你必须禁用 Little Snitch 对“macOS Services”和“iCloud Services”的所有默认允许规则,才能在 macOS 试图与 Apple 对话时收到提醒,因为 Little Snitch 默认允许它们。)

如果你有一台基于 Intel 处理器的 Mac(现在几乎所有的人都),不用太担心操作系统的变化。如果你愿意动手,改变一些设置,你很可能永远都能修改苹果为你的机器出厂的每一个操作系统。(尤其是对于那些没有 T2 安全芯片的稍微老一点的 Intel Mac 来说。当然如果用户愿意的话,即使是有 T2 的 Intel Mac 也很可能永远能禁用所有的启动安全性(从而修改操作系统),今天的情况就是如此。)

本周发布的新的 ARM64(“Apple Silicon”)Mac 是我敲响警钟的原因:用户是否能在这些系统上完全修改操作系统还有待观察。在其他苹果 ARM 系统(iPad、iPhone、Apple TV、Watch)上,有的部分是被加密地禁止禁用的。在这些新的 ARM Mac 的默认配置中,很可能也会被禁止,不过希望有需求的用户能够禁用部分安全性保护,从而修改系统。我希望 bputil(1) 工具能够允许在新的 Mac 上禁用系统卷完整性检查,让我们在启动时禁用某些系统服务,而不禁用所有的平台安全功能。更多的信息将在本月我拿到新的 M1 硬件并掌握事实后公布。

问:如果你不喜欢苹果或者不信任他们的操作系统,你为什么要运行它?为什么你说你要买一台新的 ARM mac?

答:简单的回答是,在没有拿到硬件和软件的情况下,我无法权威地谈论它能做什么、不能做什么,或者讨论可能能减轻任何隐私问题的步骤。长的答案是,我有 20 多台电脑,包括大概 6 种不同的处理器架构,我运行着所有你听说过的操作系统和一些你可能没有听说过的操作系统。例如,在我的实验室里,我有 68k Mac(16 bit,almost-32 bit(向我的 IIcx 致敬),和 32 bit clean),PowerPC Mac,Intel 32 位 Mac,Intel 64 位 Mac(有和没有 T2 安全芯片),如果我不在 ARM64 Mac 上至少 hack 一丁点,我就是一个十足的懒鬼。

问:苹果为什么要监视我们?

答:我不相信这是被明确设计用来监视的,但它特别恰好地在这个目的上起到了作用。简单(假设没有恶意)的解释是,这是苹果防止恶意软件和确保 macOS 平台安全的努力的一部分。此外,macOS 产生的 OCSP 流量是不加密的,这完美地满足了军事监控行动(被动监控所有主要的 ISP 和网络主干线)监听的目的,不管苹果在设计这个功能时是否有意如此。

不过。苹果公司最近在引入 iCloud Backup 的 iOS 更新中对 iMessage 的加密技术加入了后门,然后并没有进行修复,以至于让 FBI 可以继续读取你手机上的所有数据

正如 Auric Goldfinger 的名言一样:“一次是偶然,两次是巧合,第三次是敌人的行动。”对于他们的软件将明文或密钥从设备上传到网络/苹果公司这件事,苹果公司(雇佣了许多绝对石破天惊的密码学奇才)能说“哎呀对不起这是一个意外”并保持他们这解释的可信度的次数是有限的,也是很少的。

上次我向苹果公司报告了一个涉及网络明文传输的问题是早在 2005 年。他们及时修复了那个问题,而且那只是针对字典查词的问题。此后不久,他们推出了 App Transport Security,来帮助第三方应用开发者停止在网络加密的使用上搞事情,并让同一批人在 App Store 应用中想发送未加密的请求变得更加困难。看到苹果让 OCSP 请求不加密,我觉得挺奇怪的,即使这是行业默认的。

如果苹果真的关心用户隐私,他们应该在发布新的操作系统之前,仔细检查新安装的 Mac 里发出的每一个数据包。我们就是这样做的。他们不这样做的时间越长,他们关于尊重用户隐私的说法就越不可信。

问:你为什么要喊狼来了?难道你不知道 OCSP 只是为了防止恶意软件,保证操作系统的安全,并不是作为监听的目的吗?

答:不管 OCSP 的初衷是什么,也不管它的功能是什么,它的副作用就是有着监听的功能。此外,即使 OCSP 的回复是有签名的,但 OCSP 请求本身没有加密,让网络上的任何人(包括美国军方情报部门)都能看到你在什么时候启动什么应用,这是个不着边际的疏忽。

不管最初的目的是什么,很多东西都能起到监听的作用。不管设计者的意图如何,监视每一个人的情报部门都可以利用到这些数据。

为了打败暴力恐怖主义等,不值得把社会上的每个人都置于持续的监控之下。同理,为了打败恶意软件,也不值得把平台上的每个人都置于同样的监控之下。当你为了生产一个安全的平台,而生产出一个由于缺乏隐私而本质上不安全的平台时,你就是把婴儿和洗澡水一起扔掉了。

问:他们对 iMessage 的端到端加密加了后门?WTF?

答:是的。更多技术细节在我的 HN 评论这里这里

太长不看:他们甚至在自己的网站上也这么说;来自 https://support.apple.com/zh-cn/HT202303

iCloud 云端“信息”也会使用端对端加密。如果您已开启“iCloud 云备份”,则备份中会包含用于保护“信息”的密钥的副本。这样能确保在您无法访问 iCloud 钥匙串且无法使用受信任设备的情况下,您依然可以恢复“信息”。当您关闭“iCloud 云备份”时,设备会生成一个新密钥以用于保护将来的信息,而且 Apple 不会储存这个密钥。

(我自己划的重点)

请注意,iCloud Backup 本身并没有进行端到端加密,这也是导致 iMessage 密钥托管问题的原因,它反过来破坏了 iMessage 的端到端加密。在那个网页上有一节列出了端到端加密的东西,iCloud Backup 不在其中。

你的 iCloud 照片也不是。苹果的系统管理员(以及美国军方和联邦调查局)完全可以看到你在 iCloud 或 iMessage 中的所有裸照

进一步阅读

About The Author

Jeffrey Paul is a hacker and security researcher living in Berlin and the founder of EEQJ, a consulting and research organization.

 sneak@sneak.berlin

 @sneak@sneak.berlin

 @sneakdotberlin

 @eeqj

 linkedin.com/in/jeffreypauleeqj