V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tzm41
V2EX  ›  Apple

昨天“苹果服务器故障导致 macOS 用户无法打开程序”新闻有感

  •  1
     
  •   tzm41 · 2020-11-14 07:50:38 +08:00 · 9052 次点击
    这是一个创建于 1251 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天 MacRumors 上看见此新闻,说苹果服务器故障导致 macOS 用户无法打开程序。macOS 在打开每个程序前都要给苹果服务器发送包含用户 IP 、地理位置、运营商、程序 hash 的信息。无连接时会自动跳过,但有网络但服务器故障时,问题就显露了出来。

    Big Sur 更新后,新的问题出现了: https://sneak.berlin/20201112/your-computer-isnt-yours/。总结:新系统里,这个用来给苹果通讯的 trustd 程序被苹果加入了白名单,无法被 Little Snitch 控制了。

    苹果作为硬件公司,在我心里的标准是要高于卖用户信息的谷歌脸书等广告公司的。但苹果长期鼓吹保护用户隐私,但传输这种信息却不给用户关闭的选项。如果 macOS 上都无法关闭,更别说 iOS 上了。这个信息也没有加密,所以 ISP 也能截取,然后通过比对常见软件 hash,就可以知道何时何地用户用了什么软件。

    作为一个长期果粉,看到苹果这种操作还是很难受的。

    51 条回复    2020-11-16 15:29:47 +08:00
    kiwier
        1
    kiwier  
       2020-11-14 07:59:55 +08:00
    装 firewall,禁掉试试 https://github.com/objective-see/LuLu
    hello2060
        2
    hello2060  
       2020-11-14 08:05:14 +08:00 via iPhone
    还有这种事?那没有网络怎么办?
    XsterreX
        3
    XsterreX  
       2020-11-14 08:08:20 +08:00
    Macrumors 原文不是只说了因为服务崩溃导致打不开或者变卡,没说后面的什么 IP 隐私加密不加密啊
    tzm41
        5
    tzm41  
    OP
       2020-11-14 08:21:16 +08:00
    @XsterreX 看我文中的链接
    tzm41
        6
    tzm41  
    OP
       2020-11-14 08:22:44 +08:00
    @kiwier #1 LuLu 跟 Little Snitch 一样的情况,基于 kext 的防火墙都不能在 Big Sur 上用了。
    tzm41
        7
    tzm41  
    OP
       2020-11-14 08:23:15 +08:00
    @hello2060 #2 没有网络的时候会自动 fail gracefully 。
    hello2060
        8
    hello2060  
       2020-11-14 08:25:27 +08:00 via iPhone
    @tzm41 那这个检测的逻辑就不太对啊。没有网络应该等同于检测通不过啊按道理说
    clrss
        9
    clrss  
       2020-11-14 08:38:55 +08:00 via iPhone
    关了 SIP 好像就不会了(以及 Gatekeeper ?)

    现在系统 Volume 分离,关了 SIP 也不会改变系统文件。
    XsterreX
        10
    XsterreX  
       2020-11-14 08:45:16 +08:00
    @tzm41 那个人也说是 ISP 级别的信息,还好吧……你手机只要联网这些信息不也是随便就拿到了,要说就是那个 App 的 hash 可以说道说道
    kiwier
        11
    kiwier  
       2020-11-14 08:45:52 +08:00
    @tzm41 好吧
    tzm41
        12
    tzm41  
    OP
       2020-11-14 08:54:15 +08:00 via iPhone
    @XsterreX 就是说的 app hash
    SWYou
        13
    SWYou  
       2020-11-14 09:37:35 +08:00 via iPhone
    看了原文,有把 PRSM 联想到云上贵州,还蛮可怕的。
    不过换别的系统:windows Android 未尝不是如此,说不定更夸张。
    难道要用 unbuntu laptop + unbuntu 手机
    lovestudykid
        14
    lovestudykid  
       2020-11-14 10:03:58 +08:00
    我记得昨天很多人说电脑变慢,原来是这个原因。但是有人让把相关域名加入 hosts 屏蔽就不会变慢,是不是这样就能防止被发送 log
    lovestudykid
        15
    lovestudykid  
       2020-11-14 10:04:56 +08:00
    127.0.0.1 ocsp.apple.com
    把这个加到 hosts
    felixcode
        16
    felixcode  
       2020-11-14 10:16:33 +08:00 via Android   ❤️ 1
    苹果的隐私就是阻止其他公司获取隐私,而苹果掌握所有信息。
    szq98
        17
    szq98  
       2020-11-14 10:43:14 +08:00 via iPhone
    不解苹果是为什么这么做,但如果单纯是为了获取用户数据,那获取信息的过程不应该影响应用启动
    rainboat
        18
    rainboat  
       2020-11-14 10:57:01 +08:00
    之前我一直认为这个功能是验证应用是否安全的,感觉还挺好的。但是这把用户 ip,位置都给发出去就不太理解了,这一点都不隐私。
    icyalala
        19
    icyalala  
       2020-11-14 11:00:10 +08:00   ❤️ 18
    OCSP 是一个标准的互联网协议: https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol
    是用于证书吊销列表替代的,一般使用标准 http 协议,不是 https,通信请求和返回都是 ASN.1 编码。

    我抓了十来分钟手机,就已经发现了 4 个 oscp 服务:
    ocsp.digicert.com
    ocsp.int-x3.letsencrypt.org
    ocsp.sectigo.com
    ocsp.apple.com

    请求的数据可以先用 URL Decode 解码为 base64,然后再用 ASN.1 解码,里面就两个 sha1 值,
    返回也可以用 ANS.1 解码,内容就是证书相关信息。

    苹果在官网也列出了 Certificate validation 域名和作用:
    https://support.apple.com/en-us/HT210060

    这都是长时间公开的东西,怎么突然就成新闻了呢。。
    NoobX
        20
    NoobX  
       2020-11-14 11:02:07 +08:00
    为了实时更新证书,防止吊销,基本操作了
    你打开 windows 应用的时候其实也会联系 Microsoft 服务器验证,只是没出这个服务器的事,你不知道罢了
    geniussoft
        21
    geniussoft  
       2020-11-14 11:04:12 +08:00
    有点怀疑。

    苹果上哪知道你 Mac 的运营商是什么...

    但是显然,这应该有选修关掉。
    tsanie
        22
    tsanie  
       2020-11-14 11:14:00 +08:00
    国内不是因为 ocsp.int-x3.letsencrypt.org 经常被污染出过不少 OCSP 相关的幺蛾子么,我以为都习以为常了 😂
    nikolai
        23
    nikolai  
       2020-11-14 11:33:13 +08:00
    @tzm41 Lulu 最新版改用 NE 框架了,可以用。2.0 版本需要去主页下载
    opengps
        24
    opengps  
       2020-11-14 11:45:43 +08:00   ❤️ 1
    据我所知,lbs 服务后台,iphone 掌握的 wifi,ip,蓝牙等基站数据远远多于其他厂商,然而却只有自己用,这种所谓的保护隐私,不过是独占隐私而已
    marcong95
        25
    marcong95  
       2020-11-14 11:56:58 +08:00   ❤️ 1
    如果只是 OCSP 的话估计又是你们又想搞个大新闻,这不是 HTTPS 的基本流程么,怎么可能让用户关掉呢,跟普通的 telemetry 不是同一个事情的。AppStore 不是玩全面 HTTPS 的么,这个自然就必不可少了。

    你们这么重视隐私还是把自己藏 Tor 下面算了。。。
    des
        26
    des  
       2020-11-14 12:17:09 +08:00
    trustd 绕过防火墙,也不走代理了,难道这个不能算新闻吗?
    kyor0
        27
    kyor0  
       2020-11-14 12:40:28 +08:00
    @des Tor 真的太慢
    venster
        28
    venster  
       2020-11-14 13:12:17 +08:00 via iPhone
    @NoobX 微软也有。有些程序再打开的时候会检查吊销列表,如果计算机上不去网的话就得等几十秒才能进行下一步。组策略里面有一个专门的选项,无法联网的计算机最好把那个打开。要不然有些.net 程序会莫名其妙的慢
    tzm41
        29
    tzm41  
    OP
       2020-11-14 13:12:17 +08:00 via iPhone   ❤️ 2
    WebKit
        30
    WebKit  
       2020-11-14 16:48:29 +08:00 via Android   ❤️ 2
    @SWYou Android 没有哦。别瞎说。源代码都放在那里呢
    iptables
        31
    iptables  
       2020-11-14 17:25:05 +08:00
    我的第一反应是 Gatekeeper 在检测应用,不知道移除 com.apple.quarantine 的属性能否解决这个问题?
    tzm41
        32
    tzm41  
    OP
       2020-11-14 19:08:48 +08:00 via iPhone
    @iptables #31 Panic 的开发者确实说是 Gatekeeper 在作祟
    dingwen07
        33
    dingwen07  
       2020-11-14 21:09:05 +08:00 via iPhone
    iOS 应该是一直有的,之前路由器 koolss 坏掉了把国外网站的连接全部丢掉,之后就出现 iOS 打开许多 app 跳出一个 iTunes 交易失败的提示,其中甚至包含 Safari
    jim9606
        34
    jim9606  
       2020-11-14 21:45:42 +08:00   ❤️ 2
    OCSP 这玩意被谷歌的工程师 Adam Langley 嘲讽为“崩溃时扣上的安全带”。
    而且确实存在向 OCSP 服务器暴露域名访问记录的问题,这个问题跟用不用加密无关。
    而且部分 CA 的 OCSP 服务器质量确实不咋地,反正我的 win10 是把这功能关了。
    SWYou
        35
    SWYou  
       2020-11-14 23:09:40 +08:00 via iPhone
    @WebKit 哦 Android 没有,不过安卓就不好说了。希望你用的是 Android 吧
    tsanie
        36
    tsanie  
       2020-11-14 23:16:20 +08:00
    @WebKit AOSP 没有我信,Android 算了吧,说个笑话谷歌不作恶。
    WebKit
        37
    WebKit  
       2020-11-14 23:48:51 +08:00 via Android
    @tsanie @SWYou 简单,自己抓包看看就知道了。
    shily
        38
    shily  
       2020-11-15 00:23:23 +08:00 via Android   ❤️ 1
    @SWYou
    @tsanie
    @WebKit
    安卓和 Android 是自签名的,应该是没有这个服务。所以 Android 上,无论从哪里下载的安装包理论上都是不可信。
    WebKit
        39
    WebKit  
       2020-11-15 00:57:08 +08:00 via Android
    @shily 是的。也有用那种购买的证书的,不过特别少。
    theolin
        40
    theolin  
       2020-11-15 02:03:30 +08:00
    macOS 在 设置-安全性与隐私 里面不是提供了开关的么?而且也说得很清楚会收集哪些内容。为什么说没有给用户开关呢?
    H0u5er
        41
    H0u5er  
       2020-11-15 02:08:41 +08:00 via iPhone
    clearc
        42
    clearc  
       2020-11-15 02:51:00 +08:00 via iPhone   ❤️ 2
    ocsp 是没用的协议

    Google 没在用

    Apple 用而且放在系统层面肯定有自己的利益考量,没准哪天 Mac 也只能从 App Store 下软件

    路由加黑名单干掉,改机器配置万一未来规则严格可能变砖
    dawn009
        43
    dawn009  
       2020-11-15 04:54:10 +08:00   ❤️ 1
    @icyalala 因为把 OCSP 用于应用签名验证,确实存在文章里所说的隐私泄漏问题。
    由于应用场景变化,原本不是问题的协议变成了问题
    holulu
        44
    holulu  
       2020-11-15 07:53:42 +08:00
    @clearc 如果这样,估计开发者也走光了,还有什么生态可言。
    zitengdu
        45
    zitengdu  
       2020-11-15 09:05:40 +08:00 via Android
    des
        46
    des  
       2020-11-15 09:46:03 +08:00   ❤️ 1
    @des 以及这个,看样子恶意软件也可以利用这种方式,绕过这种防火墙?
    https://twitter.com/patrickwardle/status/1327726496203476992
    tzm41
        47
    tzm41  
    OP
       2020-11-15 11:16:23 +08:00
    @des #46 那这个设计岂不是很失败吗,苹果为什么要设计一个第三方软件也可以编辑的白名单……
    tzm41
        48
    tzm41  
    OP
       2020-11-15 11:30:15 +08:00
    @nikolai #23 新版 Little Snitch 和 LuLu 用 Network Extension API 的最大问题是,系统白名单中的软件无法被控制。除了无法禁止 trustd 的 call 以外,如#46 所分享,第三方软件也可以用这种方式绕过防火墙。
    mpco
        49
    mpco  
       2020-11-15 12:25:11 +08:00
    @venster 请问是组策略中的哪个选项?
    petercui
        50
    petercui  
       2020-11-15 12:31:42 +08:00
    @icyalala 带节奏而已,对于不懂技术的普通大众还是很有杀伤力的。看这个帖子的回复就知道了。
    tzm41
        51
    tzm41  
    OP
       2020-11-16 15:29:47 +08:00
    苹果回应: https://support.apple.com/en-us/HT20249
    总结:
    1.苹果没有交叉比对,也不储存用户的 Apple ID 或设备 UUID 。
    2.苹果决定停止记录用户 IP 地址,并且会删除现存 log 中已储存的用户 IP 。
    3.在明年苹果打算实现加密的开发者 ID 证书检测、增加防止服务器故障导致无法打开程序的保护,并且给用户提供关闭此检测的选项。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1351 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:42 · PVG 07:42 · LAX 16:42 · JFK 19:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.