MagicPairing被爆10 個 0day 漏洞一直未修復(fù),蘋果未予置評
令人驚訝的是,蘋果居然未修復(fù)只需檢查就能找到的 bug 。最近,德國達姆施塔特大學(xué)的研究人員對magic配對協(xié)議進行了研究,發(fā)現(xiàn)其三種實現(xiàn)模式IOS、Mac OS和rtkit之間存在著10個開放性缺陷,至今尚未得到解決。 蘋果的藍牙保護框架:magicpairing協(xié)議,在了解研究結(jié)果之前,讓我們先了解magicpairing協(xié)議是什么。 Magic配對是蘋果公司的專有協(xié)議,它可以提供無縫配對功能。例如,用戶的airpod和所有的蘋果設(shè)備都是通過蘋果云服務(wù)的icloud同步密鑰來實現(xiàn)的。 magicpair協(xié)議的最終目標(biāo)是在單個設(shè)備和機場之間導(dǎo)出藍牙鏈路密鑰(LK)。為每個連接創(chuàng)建一個新的LK,這意味著可以有效地縮短該LK的生命周期。 當(dāng)一個新的或重置的一對 Airpods 最初與蘋果設(shè)備屬于 iCloud 帳戶,安全簡單配對(SSP)被使用,所有后續(xù)連接到 iCloud 帳戶的 Airpod 和設(shè)備將使用作為配對機制的 Magicpair 協(xié)議。MagicPair 包含多個鍵和派生函數(shù)。它依賴于綜合初始化向量( SIV )模式下的高級加密標(biāo)準(zhǔn)( AES )進行認(rèn)證加密。 Magic Pairing 的一般邏輯是可以集成到任何基于的物聯(lián)網(wǎng)生態(tài)系統(tǒng)中,從而增加對整個安全社區(qū)的相關(guān)性。 盡管 MagicPairing 協(xié)議克服了藍牙設(shè)備配對的兩個缺點:即可擴展性差和易崩潰安全模型缺陷。(如果永久密鑰 Link Layer 或 Long-Term Key 受陷則會崩潰。) 但研究人員使用名為 ToothPicker 的代碼執(zhí)行無線模糊測試和進程內(nèi)模糊測試后發(fā)現(xiàn)了 8 個 MagicPairing 和 2 個 L2CAP 漏洞,它們可導(dǎo)致崩潰、CPU 過載且配對設(shè)備關(guān)聯(lián)取消。據(jù)外媒報道,這些信息是在2019 年 10 月 30 日至 2020 年 3 月 13 日期間披露的,目前尚未確定。 “由于 MagicPair 用于配對和加密前,因此它提供了龐大的零點擊無線攻擊面。我們發(fā)現(xiàn)所有的有不同實施都有不同的問題,包括鎖定攻擊和可導(dǎo)致百分之百 CPU 負(fù)載的拒絕服務(wù)。我們在開展通用的無線測試和 iOS 進程內(nèi)模糊測試時發(fā)現(xiàn)了這些問題?!毖芯咳藛T說。 10 個 0day 漏洞一直未修復(fù),蘋果未予置評 那么,這些漏洞本身的威脅來自哪里呢?首先是藍牙堆棧本身的安全性。蘋果的每個堆棧都是針對單個設(shè)備類型的,并且支持一個特性子集。因此,它們支持的協(xié)議有重復(fù)的實現(xiàn)。雖然這種情況有助于逆轉(zhuǎn)這些協(xié)議,但它增加了蘋果公司的維護成本。從安全的角度來看,這會導(dǎo)致在這些堆棧中出現(xiàn)雙向安全問題。 例如,RTKit 是一個單獨的資源約束嵌入設(shè)備框架。用于蘋果 AirPods 1、2和 Pro,Siri Remote 2,Apple Pencil 2 和 Smart Keyboard Folio 中,雖然這種分離用來減少功能是有意義的,但 iOS 和 MacOS 也有各自的藍牙堆棧,由于它們是封閉的,而且只有很少的公開文檔。但它在速度上是有限的,不提供覆蓋。相比之下,iOS 進程中的模糊處理程序速度更快,不受連接重置的限制,但需要大量的平臺專用接口調(diào)整。 也就是說,這三個藍牙堆棧在實際實施中所面臨的的攻擊和 bug 也會不同。其次是,零點擊無線攻擊面大。 Magicpairing 的無線攻擊面相當(dāng)大。首先,它是在配對和加密之前使用的。通過邏輯鏈路控制和適配協(xié)議( L2CAP )提供的 MagicPairing Providesa 連接,用于藍牙內(nèi)部的各種數(shù)據(jù)傳輸;第二, 通過對 IOS、MacOS、RTKit 的實現(xiàn),進一步擴大了 MagicPair 攻擊面。 最后是代碼居然有拼寫錯誤問題。研究人員發(fā)現(xiàn),蘋果在 iOS 和 macOS 中的 MagicPairing 實現(xiàn)的日志信息和 macOS Bluetooth 守護進程 bluetoothd 函數(shù)名稱中存在大量拼寫錯誤。例如,棘輪和 upload 這兩個單詞在不同的時間被拼成了 diff。但研究人員認(rèn)為,由于這些誤讀隨堆棧的不同而不同,每個??赡苁怯刹煌拈_發(fā)人員實現(xiàn)的。雖然拼寫錯誤和實現(xiàn)中的缺陷之間并不直接相關(guān),但這讓人認(rèn)為代碼并未仔細(xì)審查,開發(fā)工作很可能是外包完成的。 但總的來說,這些漏洞雖然存在,也并未修復(fù),但影響不大,蘋果也對此問題未予置評。