Retbleed:攻擊英特爾和 AMD 的新投機執行攻擊

最近有消息爆出e 蘇黎世聯邦理工學院的一組研究人員發現了一種新的攻擊 CPU 中間接跳轉的推測執行機制,允許從內核內存中提取信息或從虛擬機組織對主機系統的攻擊。

這些漏洞的代號為 Retbleed (已在 CVE-2022-29900、CVE-2022-29901 下編目)和 本質上類似於 Spectre-v2 攻擊.

區別歸結為通過處理“ret”(返回)指令來組織任意代碼的推測執行,該指令從堆棧中檢索要跳轉的地址,而不是使用“jmp”指令間接跳轉,從內存中加載地址或一個 CPU 寄存器。

關於新的攻擊,有人提到 攻擊者可以為分叉預測創造條件 不正確並組織有意的推測性跳轉到程序執行邏輯不打算的代碼塊。

最終, 處理器將確定分支預測不合理,並將回滾操作 回到原來的狀態, 但處理後的數據 投機執行期間 他們將坐在緩存中 和微架構緩衝區。 如果錯誤執行的塊執行了內存訪問,那麼它的推測執行將導致安裝在通用緩存中並從內存中讀取數據。

攻擊者為了確定推測執行操作後緩存中剩餘的數據,可以使用通過第三方渠道確定剩餘數據的方法,例如分析緩存數據訪問時間和未緩存數據的變化。

為了從不同特權級別的區域(例如,從內核內存)有意提取信息,使用“設備”:內核中存在的腳本,適用於從內存中推測性讀取數據,具體取決於可能受到影響的外部條件由攻擊者。

為了防止使用間接和條件分支指令的經典 Spectre 類攻擊,大多數操作系統使用“retpoline”技術,該技術基於用“ret”指令替換間接分支操作,為此需要單獨的堆棧狀態預測單元在處理器中使用,不使用分支預測塊。

在 2018 年引入 retpoline 時,類似 Spectre 的地址操作被認為對於使用“ret”指令進行投機分叉是不切實際的。

開發攻擊方法的研究人員 Retbleed 展示了創造微架構條件的可能性 使用“ret”指令啟動推測轉換,並發布了一個現成的工具包來識別合適的指令序列(小工具),以利用出現此類情況的 Linux 內核中的漏洞。

在學習過程中, 準備了一個工作漏洞 它允許在具有 Intel CPU 的系統上,從用戶空間中的非特權進程以每秒 219 字節的速率和 98% 的準確率從內核內存中提取任意數據。

En 處理器 AMD,漏洞利用的效率要高得多, 因為洩漏率為每秒 3,9 KB。 作為一個實際示例,它展示瞭如何使用建議的漏洞來確定 /etc/shadow 文件的內容。 在採用 Intel CPU 的系統上,確定 root 密碼哈希的攻擊在 28 分鐘內完成,而在採用 AMD CPU 的系統上,則在 6 分鐘內完成。

6-8代英特爾處理器已確認該攻擊 2019 年第 1 季度之前發布的(包括 Skylake),以及 1 年第 2 季度之前發布的基於 Zen 2021、Zen XNUMX+ 和 Zen XNUMX 微架構的 AMD 處理器。 在較新的處理器型號上,比如AMD Zen3和Intel Alder Lake,還有ARM處理器, 問題被現有的保護機制阻止. 例如,使用 IBRS(間接分支受限推測)指令有助於防止攻擊。

為 Linux 內核和 Xen 管理程序準備了一組更改,它以編程方式在較舊的 CPU 上阻止問題。 提議的 Linux 內核補丁修改了 68 個文件,增加了 1783 行,刪除了 387 行。

不幸的是,保護會產生巨大的開銷成本:在 AMD 和 Intel 處理器上製作的文本中,性能下降估計在 14% 到 39% 之間。 更可取的是使用基於 IBRS 指令的保護,該指令在新一代 Intel CPU 中可用,並且自 Linux 內核 4.19 起受支持。

最後,如果您有興趣了解更多,可以諮詢 以下鏈接中提供了詳細信息。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。