據BleepingComputer 4月24日消息,近日在 Arxiv.org 上發表的一篇技術論文揭示了一種針對多代英特爾CPU的攻擊手法——利用新的側信道攻擊,讓數據通過 EFLAGS 寄存器泄露。
這一與眾不同的側信道攻擊由清華大學、馬里蘭大學和中國教育部計算機實驗室 (BUPT) 的研究人員共同發現,它不像許多其他側信道攻擊那樣依賴緩存系統,而是利用瞬態執行中 EFLAGS 寄存器變化的缺陷,影響JCC(條件代碼跳轉)指令的時序,進而通過時序分析從用戶內存空間中提取數據。
EFLAGS 寄存器是一個 CPU 寄存器,保存著與處理器狀態相關的各種標志,而 JCC 指令是一個 CPU 指令,能允許根據 EFLAGS 寄存器的內容進行條件分支。
攻擊分兩個階段進行,第一階段觸發瞬時執行并通過EFLAGS寄存器對內部數據進行編碼,第二階段測量KCC指令解碼數據的執行時間。實驗數據表明,該攻擊針對 Intel i7-6700 和 Intel i7-7700 實現了 100% 的數據檢索(泄漏),并且對更加新型的 Intel i9-10980XE CPU 也取得了一定突破。該項實驗是在 Ubuntu 22.04 jammy 上進行,Linux 內核版本為 5.15.0。
攻擊概述
用于計時瞬態執行攻擊的偽代碼
但研究人員指出,這種計時攻擊不如緩存狀態側信道方法可靠,并且為了在最新的芯片中獲得更高的準確性,這種攻擊必須重復數千次。他們承認,攻擊的根本原理仍然難以捉摸,并假設英特爾 CPU 的執行單元中有一個緩沖區,如果執行要撤銷,需要時間來恢復,如果接下來的指令取決于緩沖區的目標,這個過程會導致停滯。 但研究人員仍然提出了一些重要的緩解措施,例如更改 JCC 指令的執行,使對抗性執行在任何情況下都無法測量,或者在瞬態執行后重寫 EFLAGS 以減少其對 JCC 指令的影響。 總體上,該攻擊作為 Meltdown 的旁路,Meltdown是2018年發現的一個關鍵安全漏洞,影響到許多基于x86的微處理器。該漏洞能夠利用“預測執行”(speculative execution)的性能優化功能,使攻擊者繞過內存隔離機制來訪問存儲在內核內存中的敏感數據,例如密碼、加密密鑰和其他私有數據。 雖然目前可以通過軟件補丁、微代碼更新和新的硬件設計來緩解Meltdown 漏洞,但仍沒有任何解決方案可以 100% 解決問題,此次發現的新型攻擊方法甚至仍可能在已打補丁的系統中起作用,這具體取決于硬件、軟件和補丁配置。
審核編輯 :李倩
-
寄存器
+關注
關注
31文章
5362瀏覽量
120900 -
cpu
+關注
關注
68文章
10898瀏覽量
212577 -
微處理器
+關注
關注
11文章
2273瀏覽量
82635 -
安全漏洞
+關注
關注
0文章
151瀏覽量
16737
原文標題:英特爾CPU安全漏洞,攻擊者可竊取大量數據
文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論