永远在线的处理器魔法:关机时“查找”iPhone是如何工作的

更多互联网精彩资讯、工作效率提升关注【飞鱼在浪屿】(日更新)


iOS 15.0 引入了一项新功能:即使 iPhone 处于“关闭”状态,也可以使用“查找”来定位 iPhone。它是如何工作的?这是一个安全问题吗?

很早就在装有 iOS 15 测试版的 iPhone 上看到了这个功能。这是7 月份截取的屏幕截图。从那时起,用户界面发生了一些变化。

过了一段时间,公众才意识到此功能的存在。更新到 iOS 15.0,使用启用了定位服务的 iPhone,另一台iphone登录用户帐户,使用“查找我的网络”等。Twitter上开始传播iphone无需关机仍可被发现的事情。


Apple 的永远在线处理器 (AOP)

关于 AOP 的公开文档很少。Apple 制造的所有芯片和各种嵌入式设备都运行一个名为 RTKitOS 的实时操作系统。iPhone 上的 AOP 也不例外。但是,AOP 具有特殊的作用。它连接到 iPhone 中几乎所有其他芯片。某些芯片只执行电源管理等基本任务,而其他芯片充当透明代理,在需要时唤醒 iOS。

这样,始终开启的处理器实际上可以节省能源。当 AOP 等待硬件事件时,iOS 可以进入睡眠状态。一个简单的例子是运动传感器。无需触摸 iPhone 上的任何按钮,显示屏就会唤醒。

在 Internet 上的搜索下,即使是Siri 也是在 AOP 中实现的。如果您不太了解技术细节,则可以跳过本节的其余部分,只需要知道 AOP 还连接到无线芯片及其电源管理接口:)

大多数 iOS 内核驱动程序遵循简单的结构。如果芯片正在运行 RTKitOS,则在ioreg输出中可见。比如Rose,U1超宽带芯片,就出现在这个列表中。

虽然这是在 iOS 内核中,但 AOP 实现了这些驱动程序的副本。例如,U1测距有一个相同的实现,可以在没有nearbyd服务的情况下工作,并且可以在 AOP 中独立运行。

即使芯片不是基于 RTKitOS,AOP 也可以连接到它。iPhone 11、12 和 13 中的蓝牙芯片由 Broadcom 制造,并基于 ThreadX 操作系统。尽管如此,iPhone AOP 对蓝牙有一些控制。虽然不遵循相同的基于 RTKitOS 的方案,但它可以使用spmi-bluetooth驱动程序为蓝牙芯片供电 。


在 iPhone 处于“关闭”状态时运行蓝牙应用程序

在 iPhone 处于“关闭”状态时启用“Find me”的所有必需条件是电源控制以及可以发送蓝牙广播的芯片。此外,这些广播需要绑定iPhone 上的 Apple ID 的密钥。

Broadcom 芯片与 Cypress 芯片非常相似。Cypress SDK 支持独立的物联网应用,只需要蓝牙芯片,不需要额外的主机。这些应用程序在名为mpaf的 ThreadX 线程中运行。让我们检查一下蓝牙固件中是否有mpaf线程。下载 iOS 15.0 IPSW,挂载最大的.dmg文件,然后浏览至/usr/share/firmware/bluetooth。该的.bin文件通过蓝牙的PCIe驱动程序加载补丁。从 iPhone 11 开始,这些包含一些调试字符串。运行grep mpaf * 会显示以下设备兼容性列表。

    • iPhone 11 series, BCM4378B1 (Hei, Moana, Tala)
    • iPhone 12 series, BCM4387C2 (Almond, Cashew, Hazelnut, Pistachio)
    • iPhone 13 series, BCM4387C2 (Acacia, Camellia, Lilac, Mimosa)
    • iPad Air 2020 series, BCM4387C2 (Pomegranate)
    • Some other iPad series, BCM4387C2 (Baobab, Boab, Rambutan)

有趣的是,同样搭载 BCM4378B1 芯片、代号为 Fiti 的 iPhone SE 2020 并没有mpaf补丁。将 iPad Air 2020 更新到了 iOS 15.0,尽管有 Pomegranate 的补丁,但没有显示“Find me”对话框。在登录同一帐户的另一部 iPhone 中,iPad 也没有位置更新。因此,当前支持的设备和芯片可能会有所不同,理论上可以支持此功能。苹果未来可能会添加更多设备。

该MPAF补丁实现了一个LPM的应用程序,这可能代表低功耗模式,实现蓝牙LE GATT服务。这都可以在字符串中找到。


秘钥和U1芯片有关吗?

在 AirTag 上,此密钥通过 U1 芯片存储。Apple 将 AirTag 上的 nRF 称为“Durian”是有原因的。它既便宜又低功耗。大多数时候,U1 处于睡眠状态,他们时不时将其唤醒。


安全和隐私影响

新的 Find My 功能是第一次让广大公众意识到 AOP 以及蓝牙芯片自主运行的可能性。

假设有人黑了你的 iPhone 并监视你,他们可能会显示正确的“关机”屏幕,然后不关闭 iPhone。永远不要相信设备是关闭的,除非你取下它的电池。例如,三星电视被美国国家安全局入侵,用 Fake-Off 模式来监视人们。

Find My 协议有几个有趣的机制来保护您的隐私。它已经过完全逆向工程,并且有一个开源实现。此外,AirGuard应用程序使您能够在 Android 上识别“查找我的 BLE”信标。如果您担心通过“Find”泄露位置信息,只需在 iPhone 上将其禁用即可。

请注意,其他无线芯片也会泄漏位置信息。蜂窝基带使定位您成为可能,您的移动提供商可以保留位置历史记录,即使 MAC 地址随机化有所帮助,Wi-Fi 也会泄漏您的位置,等等。无论如何,智能手机都是人类跟踪设备。Find My 中的隐私保护仅消除了许多可能的跟踪方面之一。

最可怕的部分可能是 AOP 和蓝牙 LPM 开启了新的硬件电影持久性问题。

举报
评论 0