更多網際網路精彩資訊、工作效率提升關注【飛魚在浪嶼】(日更新)
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 開啟了新的硬體電影永續性問題。