英特爾軟件防護擴充

維基百科,自由的百科全書
(重新導向自SGX
跳至導覽 跳至搜尋

英特爾軟件防護擴充(英語:Intel Software Guard ExtensionsSGX)是一組安全相關的指令,它被內建於一些現代Intel 中央處理器(CPU)中。它們允許使用者態及內核態程式碼定義將特定主記憶體區域,設置為私有區域,此區域也被稱作飛地(Enclaves)。其內容受到保護,不能被本身以外的任何處理程序存取,包括以更高權限級別執行的處理程序。 [1] [2]

CPU對受SGX保護的主記憶體進行加密處理。受保護區域的程式碼和數據的加解密操作在CPU內部動態(on the fly)完成。[3]因此,處理器可以保護程式碼不被其他程式碼窺視或檢查。SGX使用的威脅模型如下:Enclaves是可信的,但Enclaves之外的任何處理程序都不可信(包括作業系統本身和任何虛擬化管理程式),所有這些不可信的主體都被視為有存在惡意行為的風險。Enclaves之外程式碼的任何程式碼讀取受保護區域,只能得到加密後的內容。[3]由於SGX不能防止針對執行時間等側信道資訊的測量和觀察,在SGX內部執行的程式本身必須能抵抗側信道攻擊。 [4]

SGX被設計用於實現安全遠端計算、安全網頁瀏覽和數碼版權管理(DRM)。其他套用也包括保護專有演算法加密金鑰[3]

細節[編輯]

SGX 於 2015 年首次在第六代Intel CoreSkylake微架構)微處理器中實現。

攻擊方式[編輯]

Prime+Probe攻擊[編輯]

類Spectre攻擊[編輯]

Enclave攻擊[編輯]

MicroScope重放攻擊[編輯]

Plundervolt攻擊[編輯]

安全研究人員能夠以特定時序向Enclave注入特定的故障,從而導致資訊泄露。該攻擊可以遠端執行,但攻擊者需要取得對處理器電壓和頻率的控制權。 [5]

LVI攻擊[編輯]

使用載入值注入(LVI, Load Value Injection)[6] [7]的攻擊者將數據注入到程式中,從而取代從主記憶體中載入的值,然後在錯誤被發現並轉返之前的一小段時間內,LVI可以控制數據和控制流。

SGAxe攻擊[編輯]

參見[編輯]

參考資料[編輯]

  1. ^ Intel SGX for Dummies (Intel SGX Design Objectives). intel.com. 2013-09-26 [2021-09-18]. (原始內容存檔於2014-04-29). 
  2. ^ johnm. Properly Detecting Intel® Software Guard Extensions (Intel® SGX) in Your Applications. software.intel.com. 2017-08-08 [2019-02-15]. (原始內容存檔於2019-04-24) (English). 
  3. ^ 3.0 3.1 3.2 Researchers Use Intel SGX To Put Malware Beyond the Reach of Antivirus Software - Slashdot. it.slashdot.org. [2021-09-18]. (原始內容存檔於2021-10-26). 
  4. ^ Intel SGX and Side-Channels. intel.com. 2020-02-28 [2021-09-18]. (原始內容存檔於2020-02-28). 
  5. ^ Plundervolt steals keys from cryptographic algorithms. Rambus Blog. 2019-12-11 [2020-03-20]. (原始內容存檔於2021-10-23) (en-us). 
  6. ^ LVI: Hijacking Transient Execution with Load Value Injection. lviattack.eu. [2020-03-12]. (原始內容存檔於2022-01-01). 
  7. ^ Load Value Injection. software.intel.com. [2020-03-12]. (原始內容存檔於2020-07-12). 

外部連結[編輯]