AMD SEV 中允許確定加密金鑰的漏洞

來自 Google Cloud 團隊的開發者 透露 AMD SEV(安全加密虛擬化)技術實施中存在漏洞(CVE-2019-9836),該漏洞允許使用該技術保護的資料受到損害。 AMD SEV 在硬體層級提供虛擬機器記憶體的透明加密,其中只有當前客戶系統可以存取解密的數據,其他虛擬機器和管理程式在嘗試存取該記憶體時會收到一組加密的資料。

所發現的問題使得完全恢復私有 PDH 金鑰的內容成為可能,該金鑰在單獨的受保護 PSP 處理器(AMD 安全處理器)層級進行處理,主作業系統無法存取該處理器。
有了PDH金鑰,攻擊者就可以恢復建立虛擬機器時指定的會話金鑰和秘密序列,並獲得加密資料的存取權。

該漏洞是由橢圓曲線加密 (ECC) 實施中的缺陷引起的,該加密允許 攻擊 恢復曲線參數。 在執行受保護的虛擬機器啟動命令期間,攻擊者可以發送不符合 NIST 推薦參數的曲線參數,導致在與私鑰資料的乘法運算中使用低階點值。

ECDH協定的安全性直接 這取決於順序 產生的曲線起點,其離散對數是一項非常困難的任務。 在 AMD SEV 環境的初始化步驟之一期間,私鑰計算使用從使用者接收的參數。 本質上,該操作是將兩個點相乘,其中一個點對應於私鑰。 如果第二點指的是低階素數,那麼攻擊者可以透過搜尋所有可能的值來確定第一點的參數(模運算中使用的模數的位元)。 為了確定私鑰,可以使用以下方法將選定的素數片段拼湊在一起 中國剩餘定理.

該問題影響使用最高版本 0.17 build 11 的 SEV 韌體的 AMD EPYC 伺服器平台。AMD 已經 опубликовала 韌體更新增加了對不符合 NIST 曲線的點的阻止。 同時,先前產生的 PDH 金鑰憑證仍然有效,這使得攻擊者可以實施攻擊,將虛擬機器從受漏洞保護的環境遷移到易受該問題影響的環境。 也提到了進行攻擊將韌體版本回滾到舊的有漏洞版本的可能性,但這種可能性尚未得到證實。

來源: opennet.ru

添加評論