該項目最近 通過出版物宣傳 Grsecurity 細節和演示 一種針對新漏洞的攻擊方法 (已經列為 CVE-2021,26341) 在 AMD 處理器中與在無條件跳轉操作後執行推測指令有關。
脆弱性 允許處理器推測處理 在推測執行期間內存中的跳轉 (SLS) 指令之後立即執行的指令。 同時,這種優化不僅適用於條件跳轉運算符,也適用於涉及直接無條件跳轉的指令,例如 JMP、RET 和 CALL。
無條件分支指令後面可以跟隨不打算執行的任意數據。 在確定分支不涉及執行下一條語句後, 處理器簡單地回滾狀態並忽略推測執行, 但指令執行跟踪仍保留在通用緩存中,可用於使用邊信道檢索方法進行分析。
AMD 在“用於管理 AMD 處理器中的推測的軟件技術”白皮書中提供了建議的緩解措施(G-5 緩解措施)的更新。 G-5 緩解有助於解決與分支指令的推測行為相關的潛在漏洞。
AMD 處理器可能會在無條件前向分支之後暫時執行指令,這可能會導致緩存活動
與對幽靈的利用一樣——v1, 攻擊需要存在某些序列 內核中的指令(小工具),這會導致推測性執行。
在這種情況下,阻止漏洞歸結為在代碼中識別此類設備並向它們添加額外的指令以阻止推測性執行。 推測執行的條件也可以使用在 eBPF 虛擬機上運行的非特權程序來創建。
該調查導致發現了一個新漏洞 CVE-2021-26341 [1] ,我們將在本文中詳細討論。 像往常一樣,我們將重點關注漏洞的技術方面、AMD 建議的緩解措施以及利用方面。
要阻止使用 eBPF 構建設備的能力, 建議禁用對 eBPF 的非特權訪問 在系統中(“sysctl -w kernel.unprivileged_bpf_disabled=1«)。
該漏洞影響基於 Zen1 和 Zen2 微架構的處理器:
台
- AMD 速龍™ X4 處理器
- AMD 銳龍™ Threadripper™ PRO 處理器
- 第二代 AMD Ryzen™ Threadripper™ 處理器
- 第三代 AMD Ryzen™ Threadripper™ 處理器
- 第七代 AMD A 系列 APU
- AMD Ryzen™ 2000 系列台式機處理器
- AMD Ryzen™ 3000 系列台式機處理器
- AMD Ryzen™ 4000 系列台式機處理器,配備 Radeon™ 顯卡
移動
- AMD 銳龍 2000 系列移動處理器
- 具有 Radeon™ 顯卡的 AMD Athlon™ 3000 系列移動處理器
- AMD Ryzen™ 3000 系列移動處理器或帶 Radeon™ 顯卡的第二代 AMD Ryzen™ 移動處理器
- 配備 Radeon™ 顯卡的 AMD Ryzen™ 4000 系列移動處理器
- 配備 Radeon™ 顯卡的 AMD Ryzen™ 5000 系列移動處理器
Chromebook
- 帶有 Radeon™ 顯卡的 AMD Athlon™ 移動處理器
伺服器
- 第一代 AMD EPYC(霄龍)處理器
- 第二代 AMD EPYC(霄龍)處理器
提到如果攻擊成功, 該漏洞允許確定任意內存區域的內容。
由於此漏洞,可以識別在受影響的 CPU 上形成有限但可能被利用的 SLS 設備的良性代碼構造。 如 eBPF 示例所示,也可以使用手動構建的自註入設備來利用該漏洞。 例如,可以使用所提出的方法來破壞 Linux 內核的 KASLR 緩解。
例如,研究人員準備了一個漏洞利用,它允許您確定地址的佈局並通過在 eBPF 內核子系統中執行沒有特權的代碼來繞過 KASLR(內核內存隨機化)保護機制,此外還有其他可能洩露不排除內核內存的內容。
終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。