
Photo by Laurenz Heymann on Unsplash
Google Project Zero研究人員公開一項研究,說明iOS、iPadOS和macOS在特定條件下,即使不涉及記憶體安全漏洞或計時旁路,攻擊者仍可能透過資料結構的特性推得系統記憶體位址,進而削弱位址空間配置隨機化(Address Space Layout Randomization,ASLR)安全防護的效果。該攻擊手法研究屬於在macOS上的人為測試情境,尚未發現可直接利用的攻擊面,而Apple也已在今年3月31日的安全更新修補潛在風險。
研究的重點在於指標作為鍵值(Key)的資料結構如何成為洩漏來源,研究人員設計的測試程式利用了Apple的NSKeyedUnarchiver與NSKeyedArchiver API,模擬反序列化與再序列化的過程。攻擊者要是能傳入精心設計的物件,並獲得系統輸出的序列化結果,便能藉由觀察鍵值輸出的順序,推斷出特定物件在記憶體中的位址。
而NSNull正是這項攻擊技巧的關鍵,與一般物件不同,NSNull對應的CFNull是該類別在全系統唯一的單例(Singleton),存在於共享快取之中。由於其雜湊值直接取自物件位址,當其被插入NSDictionary對應表時,最終序列化的輸出順序就會暴露其雜湊桶(Hash Bucket)位置。研究人員透過安排大量數值鍵(NSNumber)填滿不同的雜湊桶,再插入NSNull到NSDictionary,成功觀察到其位置差異,進一步利用數學方法組合出完整雜湊值,最終還原出CFNull的實際位址。
雖然這只是理論性展示,但概念上與過去的hashDoS或其他以指標為基礎雜湊所引發的洩漏手法相關。特別的是,該手法不依賴效能差異或時間觀測,只要能取得序列化結果,就能推算位址。研究人員也提醒,即便沒有混合不同型別的鍵值,單純使用指標為鍵值的資料結構,在合適情境下也可能洩漏部分資訊,進而影響ASLR的隨機化保障。
不過,對使用者而言,這並非立即可被濫用的攻擊途徑。研究人員也坦言,尚未發現實際的macOS或iOS攻擊面,但如果特定服務中,反序列化與再序列化資料會跨越安全邊界回傳,就可能被利用來建立位址洩漏通道。
Apple在今年3月釋出的iOS 18.4、iPadOS 18.4與macOS Sequoia 15.4等版本中,已針對相關風險進行修補,使用者只要更新至最新版本即可避免。
熱門新聞
2025-12-02
2025-12-01
2025-11-30
2025-12-01
2025-12-01
2025-12-04