LVI 是針對 CPU 中推測執行機制的一類新型攻擊

已發表 有關新型攻擊的信息 低電壓指數 (載入值注入, CVE-2020,0551)關於 Intel CPU 中的推測執行機制,該機制可用於從 Intel SGX enclave 和其他進程洩漏密鑰和秘密資料。

一類新的攻擊是基於對攻擊中使用的相同微架構結構的操縱 MDS (微架構資料採樣), 幽靈與崩潰。 同時,現有的針對 Meltdown、Spectre、MDS 和其他類似攻擊的防護方法並不能阻止新的攻擊。 有效的 LVI 保護需要對 CPU 進行硬體更改。 當以程式方式組織保護時,透過在每次從記憶體載入作業後由編譯器新增LFENCE 指令並用POP、LFENCE 和JMP 取代RET 指令,會記錄過多的開銷- 據研究人員稱,完整的軟體保護將導致性能提高2-19倍。

阻止該問題的部分難度被以下事實所抵消:該攻擊目前的理論性多於實際性(該攻擊在理論上是可能的,但很難實施,並且只能在綜合測試中重現)。
英特爾 挪用 此問題具有中等程度的危險(滿分 5.6 分 10 分)且 已發布 更新了 SGX 環境的韌體和 SDK,並嘗試使用變通辦法阻止攻擊。 所提出的攻擊方法目前僅適用於Intel處理器,但不排除將LVI應用於其他適用Meltdown類別攻擊的處理器的可能性。

去年9月,魯汶大學的研究人員Jo Van Bulck發現了這個問題,之後在其他大學的XNUMX名研究人員的參與下,開發了五種基本的攻擊方法,每種方法都允許有更具體的攻擊方法。 選項。 今年 XNUMX 月,Bitdefender 的研究人員也獨立地進行了 發現 LVI 攻擊變體之一並向英特爾報告。 攻擊變體透過使用不同的微架構結構來區分,例如先前使用的儲存緩衝區(SB,Store Buffer)、填充緩衝區(LFB,Line Fill Buffer)、FPU上下文切換緩衝區和一級快取(L1D)在諸如此類的攻擊中 ZombieLoad, RIDL, 輻射, 懶惰FP, 預示 и 崩潰.

LVI 是針對 CPU 中推測執行機制的一類新型攻擊

主要的 榮譽 針對 MDS 攻擊的 LVI 是 MDS 在推測性故障處理或加載和存儲操作之後操縱對緩存中剩餘的微架構結構內容的確定,而
LVI 攻擊允許攻擊者的資料插入微架構結構中,以影響受害者代碼的後續推測執行。 使用這些操作,攻擊者可以在目標 CPU 核心上執行某些程式碼時提取其他進程中私有資料結構的內容。

LVI 是針對 CPU 中推測執行機制的一類新型攻擊

剝削問題 在受害者進程的程式碼中 應該會見 載入攻擊者控制的值的特殊程式碼序列(小工具),載入該值會導致拋出異常(故障、中止或協助),丟棄結果並重新執行指令。 處理異常時,會出現一個推測窗口,在此期間小工具中處理的資料會洩漏。 具體來說,處理器開始以推測模式執行一段程式碼(gadget),然後確定預測不合理並將操作回滾到原始狀態,但推測執行期間處理的資料存放在 L1D 快取中和微架構緩衝區,並且可以使用已知的方法透過第三方管道確定殘留資料來從中檢索。

與「故障」異常不同,「協助」異常由處理器內部處理,而不呼叫軟體處理程序。 例如,當記憶體頁表中的 A(已存取)或 D(髒)位元需要更新時,可能會發生協助。 對其他進程進行攻擊的主要困難是如何透過操縱受害者進程來發起協助的發生。 目前還沒有可靠的方法來做到這一點,但將來可能會找到它們。 到目前為止,僅針對 Intel SGX enclave 確認了進行攻擊的可能性,其他場景是理論上的或在合成條件下可重現(需要在程式碼中添加某些小工具)

LVI 是針對 CPU 中推測執行機制的一類新型攻擊

LVI 是針對 CPU 中推測執行機制的一類新型攻擊

可能的攻擊媒介:

  • 資料從核心結構洩漏到用戶級進程。 Linux 核心針對 Spectre 1 攻擊的防護以及 SMAP(管理員模式存取預防)保護機制可顯著降低 LVI 攻擊的可能性。 如果將來發現更簡單的 LVI 攻擊方法,則可能需要向核心添加額外的保護。
  • 不同進程之間的資料外洩。 此攻擊需要應用程式中存在某些程式碼段,並定義在目標進程中引發異常的方法。
  • 資料從主機環境洩漏到客戶系統。 該攻擊被歸類為過於複雜,需要各種難以實施的步驟和對系統活動的預測。
  • 不同客戶系統中進程之間的資料外洩。 攻擊向量接近組織不同進程之間的資料洩漏,但還需要複雜的操作來繞過來賓系統之間的隔離。

研究人員發表 幾個 原型 示範了實施攻擊的原理,但尚不適合實施真正的攻擊。 第一個範例允許您重定向受害進程中的推測程式碼執行,類似於面向返回的程式設計(ROP,面向返回的程式)。 在此範例中,受害者是一個專門準備的進程,其中包含必要的小工具(對真正的第三方進程進行攻擊很困難)。 第二個範例允許我們在 Intel SGX enclave 內進行 AES 加密期間參與計算,並在指令的推測執行期間組織資料洩漏,以恢復用於加密的金鑰的值。


來源: opennet.ru

添加評論