Linux 6.2 中的一個錯誤允許繞過 Spectre v2 攻擊保護

漏洞

如果被利用,這些漏洞可能允許攻擊者未經授權訪問敏感信息或通常會導致問題

近日,一則信息被曝光 Linux 6.2 內核中發現的漏洞 (已經列在 CVE-2023,1998) 並且脫穎而出,因為它是 禁用 Spectre v2 攻擊保護 它允許運行在不同 SMT 或超線程線程上但在同一物理處理器內核上的其他進程訪問內存。

漏洞尤其值得注意,因為 可用於 組織之間的數據洩漏 雲系統中的虛擬機。 

對於那些不了解 Spectre 的人,他們應該知道這個 是兩個原始瞬態執行 CPU 漏洞之一 (另一個是 Meltdown),涉及微架構時序側信道攻擊。 這些影響執行跳躍預測和其他形式的推測的現代微處理器。

在大多數處理器上,由錯誤的分支預測導致的推測性執行會留下可觀察到的副作用,從而洩露私有數據。 例如,如果這種推測性執行的內存訪問模式取決於私有數據,則數據緩存的結果狀態構成一個側通道,攻擊者可以通過該側通道使用時間攻擊提取有關私有數據的信息。

自 2018 年 XNUMX 月 Spectre 和 Meltdown 被披露以來,出現了與其相關的多個變種和新型漏洞。

Linux 內核允許用戶態進程通過使用 PR_SET_SPECULATION_CTRL 調用 prctl 來啟用緩解措施,這會禁用 spec 函數,以及使用 seccomp。 我們發現,在至少來自一家主要雲提供商的虛擬機上,內核在某些情況下仍然讓受害進程處於開放狀態,即使在使用 prctl 啟用 spectre-BTI 緩解措施後也是如此。 

關於漏洞,有人提到 在用戶空間,以防止攻擊 的幽靈, 進程可以有選擇地禁用執行 使用 prctl PR_SET_SPECULATION_CTRL 的推測指令或使用基於 seccomp 的系統調用過濾。

據發現問題的研究人員稱, 內核 6.2 中不正確的優化離開了虛擬機 來自至少一家大型雲提供商 沒有適當的保護 儘管通過 prctl 包含了 spectre-BTI 攻擊阻止模式。 該漏洞還出現在內核為 6.2 的普通服務器上,這些服務器以配置“spectre_v2=ibrs”啟動。

脆弱性的本質是通過選擇保護模式 IBRS 或 eIBRS,這些優化禁用了 STIBP(單線程間接分支預測器)機制,在使用同步多線程(SMT 或超線程)技術時,這是阻止洩漏所必需的。 )

反過來,只有 eIBRS 模式提供防止線程間洩漏的保護,而不是 IBRS 模式,因為在控制權返回給空間用戶時,IBRS 位(提供邏輯內核間洩漏保護)會出於性能原因被清除,這使得用戶空間線程不受 Spectre v2 類攻擊的保護。

測試包括兩個過程。 攻擊者不斷地使間接調用中毒,以推測性地將其重定向到目標地址。 受害者進程測量錯誤的預測率並嘗試通過調用 PRCTL 或直接使用在用戶空間中公開 MSR 讀寫操作的內核模塊寫入 MSR 來減輕攻擊。

該問題僅影響 Linux 6.2 內核 這是由於在應用針對 Spectre v2 的保護時旨在減少大量開銷的優化實施不正確。 漏洞 它已在實驗性 Linux 6.3 內核分支中得到修復。

最後是 您有興趣了解更多信息嗎? 您可以在中查看詳細信息 以下鏈接。


發表您的評論

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

*

*

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

  1.   神氣 他說:

    內核參數 mitigations=off 的:

    好先生們😎😎🔥