今次研究顯示,喺呢條運作路徑上,「只限 Apple 硬件」比較似係產品政策同實作限制,而唔係一個必須由 Apple 製造硬件提供嘅絕對加密條件。只要 Linux 客戶端交出 Apple 服務預期嘅帳戶憑證、裝置身份、證書、功能聲明同網絡行為,伺服器就可以將佢當成另一個已獲信任嘅接收端。
但呢個結論唔代表任何人拎部匿名 Linux 電腦,就可以直接查詢 Find My。研究證明嘅係:一個非 Apple 作業系統,只要完成 Apple 嘅登入及裝置註冊程序,並重現相關客戶端行為,就有機會跨過產品層面嘅平台限制。
整個項目將 Apple 生態系統入面幾個平時睇唔到嘅部分串埋一齊:
登入 Apple Account: Zerotistic 使用 Apple 嘅 GrandSlam 登入協議。據報流程包括 Secure Remote Password(SRP)交換同雙重認證,最後取得帳戶識別資料,以及一個短時間有效、相當於密碼嘅 token。
註冊裝置身份: 客戶端產生 PKCS#10 格式嘅證書簽署請求(CSR),內含 2,048-bit RSA 金鑰,並以 SHA-1 簽署。之後,請求會送到 Apple 舊有嘅 authenticateDS profile-enrollment 端點,由對方回傳 Apple Identity Services(IDS)證書。
註冊 IDS: 有咗證書同相關裝置資料之後,Linux 就可以註冊成支援 IDS 嘅裝置,聲明支援嘅加密類型、訂閱所需嘅訊息子服務,並取得 Apple Push Notification Service(APNs)推送憑證。
同步 Find My 資料: 客戶端重現原生 Find My People 嘅請求次序,包括初始化、重新整理,以及一個帶有 intent: distributeKeys 同 mode: proactive 嘅 SubscribeAndFetch 請求。之後,Apple 會指示已同意分享位置嘅聯絡人裝置,經 IDS 同 APNs 將目前嘅位置金鑰資料傳送畀新註冊嘅身份。
喺本機解密: 加密嘅 IDS 封包包括關係資料同 SearchParty 金鑰材料。開源套件 pypush 負責推送及 IDS 層,而 FindMy.py 就查詢及解密 Find My 報告,還原出位置座標、時間戳同準確度資料。
呢個過程屬於協議模擬,唔係偽造 Apple 證書。完成帳戶驗證同註冊程序之後,憑證仍然係由 Apple 伺服器簽發。
示範中嘅 SubscribeAndFetch 行為,似乎顯示 Apple 可以喺一段位置分享關係已經存在之後,將目前嘅位置金鑰資料傳送畀一部新獲授權嘅裝置。對裝置更換同帳戶同步嚟講,呢個安排相當合理:用戶新增一部裝置時,唔應該要逐個聯絡人先停止、再重新開啟位置分享。
據報相關封包包括:
呢啲欄位顯示,Find My 位置報告嘅解密,依賴同特定分享關係及金鑰版本相關嘅資料,而呢啲資料可以透過 IDS 再派發。
不過,公開文章只示範咗同步及金鑰輪換相關行為,未有證明一個適用於所有情況嘅固定金鑰輪換週期。換句話講,研究揭示咗目前金鑰狀態點樣傳送,唔等於已經公開咗 Apple 完整嘅金鑰管理時間表。
測試中嘅客戶端功能相當有限:佢可以讀取研究員 Apple Account 已經獲准接收嘅位置分享,然後喺本機處理資料。電子圍欄(geofencing)亦係喺本機運算,而唔係由 Apple 伺服器提供。
根據研究員公開嘅說明,客戶端冇有以下功能:
所以,今次結果應該理解為互通性及信任邊界發現,而唔係可以遠端任意追蹤陌生人嘅漏洞。較實際嘅保安風險係 Apple Account 或可信裝置被人控制:如果攻擊者取得帳戶,或者喺帳戶入面註冊咗未經授權嘅裝置,該帳戶原本可以接收嘅位置分享就可能暴露。
Zerotistic 同 nRootTag 處理嘅係 Find My 入面完全唔同嘅部分,威脅模式亦唔一樣。
Zerotistic 研究集中喺 Find My People。 佢重現嘅係一段已經存在、而且經用戶同意嘅位置分享關係接收端。Apple 必須接受相關帳戶及裝置,而對方亦必須已經將位置分享畀該帳戶。
nRootTag 就針對 Find My Network 同離線尋找功能。 研究員報告指,Apple 服務接受咗預期以外嘅 Bluetooth 位址類型。呢個弱點可能令攻擊者將一部支援 Bluetooth 嘅電腦變成類似 AirTag 嘅追蹤信標,再利用附近 Apple 裝置轉送位置,而目標裝置擁有人未必知情。
簡單講,Zerotistic 嘅項目係接收帳戶已經有權睇到嘅資料;nRootTag 就係嘗試建立未經授權嘅追蹤能力。將兩者混為一談,會令 Linux 示範聽落比證據實際支持嘅程度更加嚴重。
Zerotistic 表示,最初動機係做一個有對方同意嘅自動化工具:一位朋友本身已經同意分享位置,於是研究員想用 Linux 維持本機電子圍欄,當對方抵達或離開指定地點時,經 Discord 發出通知。
研究員一開始以為只需要處理一個已驗證嘅網頁請求,估計大約一晚就完成。但之後要逆向工程嘅部分大幅增加。現有報道未有交代完成整個項目所需嘅精確總時間,因此再講得具體就會變成推測。
現有引用報道確認咗呢次示範,但未有提供一份經核實、專門回應呢個 Linux Find My People 實作嘅 Apple 公開聲明;同樣未有確認 Apple 已修正問題,或者已經作出漏洞獎賞安排。
今次研究嘅核心啟示仍然清楚:將功能限制喺 Apple 硬件上,唔代表硬件本身就一定係安全邊界。如果伺服器主要根據帳戶憑證、證書、功能能力同協議行為授予信任,一個足夠兼容嘅非 Apple 客戶端,仍然可能跨過產品限制——但佢能夠睇到嘅資料,始終受帳戶權限同合法取得嘅加密金鑰所限制。
今次研究顯示,喺呢條運作路徑上,「只限 Apple 硬件」比較似係產品政策同實作限制,而唔係一個必須由 Apple 製造硬件提供嘅絕對加密條件。只要 Linux 客戶端交出 Apple 服務預期嘅帳戶憑證、裝置身份、證書、功能聲明同網絡行為,伺服器就可以將佢當成另一個已獲信任嘅接收端。
但呢個結論唔代表任何人拎部匿名 Linux 電腦,就可以直接查詢 Find My。研究證明嘅係:一個非 Apple 作業系統,只要完成 Apple 嘅登入及裝置註冊程序,並重現相關客戶端行為,就有機會跨過產品層面嘅平台限制。
整個項目將 Apple 生態系統入面幾個平時睇唔到嘅部分串埋一齊:
登入 Apple Account: Zerotistic 使用 Apple 嘅 GrandSlam 登入協議。據報流程包括 Secure Remote Password(SRP)交換同雙重認證,最後取得帳戶識別資料,以及一個短時間有效、相當於密碼嘅 token。
註冊裝置身份: 客戶端產生 PKCS#10 格式嘅證書簽署請求(CSR),內含 2,048-bit RSA 金鑰,並以 SHA-1 簽署。之後,請求會送到 Apple 舊有嘅 authenticateDS profile-enrollment 端點,由對方回傳 Apple Identity Services(IDS)證書。
註冊 IDS: 有咗證書同相關裝置資料之後,Linux 就可以註冊成支援 IDS 嘅裝置,聲明支援嘅加密類型、訂閱所需嘅訊息子服務,並取得 Apple Push Notification Service(APNs)推送憑證。
同步 Find My 資料: 客戶端重現原生 Find My People 嘅請求次序,包括初始化、重新整理,以及一個帶有 intent: distributeKeys 同 mode: proactive 嘅 SubscribeAndFetch 請求。之後,Apple 會指示已同意分享位置嘅聯絡人裝置,經 IDS 同 APNs 將目前嘅位置金鑰資料傳送畀新註冊嘅身份。
喺本機解密: 加密嘅 IDS 封包包括關係資料同 SearchParty 金鑰材料。開源套件 pypush 負責推送及 IDS 層,而 FindMy.py 就查詢及解密 Find My 報告,還原出位置座標、時間戳同準確度資料。
呢個過程屬於協議模擬,唔係偽造 Apple 證書。完成帳戶驗證同註冊程序之後,憑證仍然係由 Apple 伺服器簽發。
示範中嘅 SubscribeAndFetch 行為,似乎顯示 Apple 可以喺一段位置分享關係已經存在之後,將目前嘅位置金鑰資料傳送畀一部新獲授權嘅裝置。對裝置更換同帳戶同步嚟講,呢個安排相當合理:用戶新增一部裝置時,唔應該要逐個聯絡人先停止、再重新開啟位置分享。
據報相關封包包括:
呢啲欄位顯示,Find My 位置報告嘅解密,依賴同特定分享關係及金鑰版本相關嘅資料,而呢啲資料可以透過 IDS 再派發。
不過,公開文章只示範咗同步及金鑰輪換相關行為,未有證明一個適用於所有情況嘅固定金鑰輪換週期。換句話講,研究揭示咗目前金鑰狀態點樣傳送,唔等於已經公開咗 Apple 完整嘅金鑰管理時間表。
測試中嘅客戶端功能相當有限:佢可以讀取研究員 Apple Account 已經獲准接收嘅位置分享,然後喺本機處理資料。電子圍欄(geofencing)亦係喺本機運算,而唔係由 Apple 伺服器提供。
根據研究員公開嘅說明,客戶端冇有以下功能:
所以,今次結果應該理解為互通性及信任邊界發現,而唔係可以遠端任意追蹤陌生人嘅漏洞。較實際嘅保安風險係 Apple Account 或可信裝置被人控制:如果攻擊者取得帳戶,或者喺帳戶入面註冊咗未經授權嘅裝置,該帳戶原本可以接收嘅位置分享就可能暴露。
Zerotistic 同 nRootTag 處理嘅係 Find My 入面完全唔同嘅部分,威脅模式亦唔一樣。
Zerotistic 研究集中喺 Find My People。 佢重現嘅係一段已經存在、而且經用戶同意嘅位置分享關係接收端。Apple 必須接受相關帳戶及裝置,而對方亦必須已經將位置分享畀該帳戶。
nRootTag 就針對 Find My Network 同離線尋找功能。 研究員報告指,Apple 服務接受咗預期以外嘅 Bluetooth 位址類型。呢個弱點可能令攻擊者將一部支援 Bluetooth 嘅電腦變成類似 AirTag 嘅追蹤信標,再利用附近 Apple 裝置轉送位置,而目標裝置擁有人未必知情。
簡單講,Zerotistic 嘅項目係接收帳戶已經有權睇到嘅資料;nRootTag 就係嘗試建立未經授權嘅追蹤能力。將兩者混為一談,會令 Linux 示範聽落比證據實際支持嘅程度更加嚴重。
Zerotistic 表示,最初動機係做一個有對方同意嘅自動化工具:一位朋友本身已經同意分享位置,於是研究員想用 Linux 維持本機電子圍欄,當對方抵達或離開指定地點時,經 Discord 發出通知。
研究員一開始以為只需要處理一個已驗證嘅網頁請求,估計大約一晚就完成。但之後要逆向工程嘅部分大幅增加。現有報道未有交代完成整個項目所需嘅精確總時間,因此再講得具體就會變成推測。
現有引用報道確認咗呢次示範,但未有提供一份經核實、專門回應呢個 Linux Find My People 實作嘅 Apple 公開聲明;同樣未有確認 Apple 已修正問題,或者已經作出漏洞獎賞安排。
今次研究嘅核心啟示仍然清楚:將功能限制喺 Apple 硬件上,唔代表硬件本身就一定係安全邊界。如果伺服器主要根據帳戶憑證、證書、功能能力同協議行為授予信任,一個足夠兼容嘅非 Apple 客戶端,仍然可能跨過產品限制——但佢能夠睇到嘅資料,始終受帳戶權限同合法取得嘅加密金鑰所限制。