
蘋果處理器隱藏的致命漏洞:FLOP與SLAP的危機揭秘
安全研究人員在 Apple 的 M 系列和 A 系列處理器中發現了兩個新的側通道漏洞 FLOP 和 SLAP。這些缺陷源於錯誤的推測執行,允許攻擊者利用記憶體存取中的錯誤預測從 Safari 和 Chrome 等網路瀏覽器遠端竊取敏感資料。這些攻擊繞過了典型的安全措施,儘管蘋果已經意識到這些問題並計劃解決,但目前尚未提供修補程式。目前的緩解措施包括停用 JavaScript,這會嚴重影響網站功能。研究人員展示了這些漏洞從電子郵件、地圖和日曆等各種服務中提取資料的能力。

漏洞詳情
安全研究人員發現 Apple 處理器中存在新的側通道(side-channel)漏洞,可被利用來竊取網頁瀏覽器中的敏感資訊。這些漏洞被稱為 FLOP 和 SLAP,源自於錯誤的推測執行實現(Faulty speculative execution implementation),這也是 Spectre 和 Meltdown 等攻擊的根本原因。
研究人員透過 FLOP 和 SLAP 漏洞提取資料的方法如下:
-
FLOP(False Load Output Prediction):此漏洞會影響 Apple 的 M3、M4 和 A17 處理器。這些處理器不僅試圖預測記憶體位址,還試圖預測儲存在記憶體中的實際值。如果這些預測不正確,CPU 就會使用錯誤的資料進行暫時計算。研究人員可以透過以下方式攻擊這個漏洞:
- 訓練 CPU:他們使用執行迴圈(Execution loop)來載入特定的常數值,這會導致 CPU 做出錯誤的猜測。
- 觸發錯誤預測:訓練結束後,觸發錯誤預測。當 CPU 處於這種不正確的狀態時,它會透過快取時序攻擊(Cache Timing Attack)洩漏資料。
- 測量記憶體存取時間:資料外洩持續的時間足夠長,研究人員可以在 CPU 自我修正之前測量記憶體存取時間並推斷出秘密值。
- 擷取資料:使用 FLOP,研究人員展示了逃離 Safari 沙箱並檢索資料的能力,例如來自 Proton Mail 收件匣的寄件者和主題資訊、Google Maps 位置歷史記錄以及來自 iCloud 日曆的私人事件。
-
SLAP(Speculative Load Address Prediction):此漏洞影響 Apple 的 M2 和 A15 處理器以及許多後續型號。 SLAP 並不預測值,而是專注於預測下一步將存取的記憶體位址。攻擊這個漏洞包含:
- 訓練 CPU:攻擊者「訓練」 CPU 以預測特定的記憶體存取模式。
- 操縱記憶體佈局(Memory Layout):攻擊者隨後操縱記憶體佈局,導致以下預測指向秘密資料。
- 存取敏感資料:CPU 相信其預測,在糾正錯誤之前讀取並處理敏感資料,從而洩露資料。
- 推斷資料:攻擊者可以使用快取計時或其他側通道來推斷洩漏的資料。
- 擷取資料:透過 SLAP,研究人員可以擷取 Gmail 收件匣資料、亞馬遜訂單和瀏覽資料以及 Reddit 用戶活動。
攻擊要點
- FLOP 和 SLAP 攻擊均透過 Web 瀏覽器存取包含旨在觸發漏洞的 JavaScript 或 WebAssembly 程式碼的惡意網站來遠端執行。
- 攻擊可以繞過瀏覽器沙箱、ASLR(Address Space Layout Randomization)和傳統記憶體保護。
- 所使用的Script不需要惡意軟體感染,只需操縱CPU的推測執行功能。
- 這些攻擊利用了加速處理的設計,例如猜測未來的指令,這會在記憶體中留下可被攻擊的痕跡。
緩解措施
蘋果已承認這些漏洞併計劃解決,但截至撰寫原文時,漏洞仍未解決。一種可能的緩解措施是關閉 Safari 和 Chrome 中的 JavaScript,儘管這會破壞許多網站。