SQUIP 是針對 AMD 處理器的攻擊,可導致資料透過第三方管道洩露

格拉茨技術大學(奧地利)的研究團隊先前因開發 MDS、NetSpectre、Throwhammer 和 ZombieLoad 攻擊而聞名,該團隊先前揭露了有關 AMD 處理器上的新側通道攻擊方法 (CVE-2021-46778) 的資訊調度器佇列,用於調度CPU不同執行單元中指令的執行。 這種名為 SQUIP 的攻擊允許您確定另一個進程或虛擬機中計算中使用的數據,或在進程或虛擬機之間組織隱藏的通訊通道,從而允許您繞過系統存取控制機制交換資料。

當使用同步多執行緒技術(SMT) 時,此問題會影響基於第一代、第二代和第三代Zen 微架構(AMD Ryzen 2000-5000、AMD Ryzen Threadripper、AMD Athlon 3000、AMD EPYC)的AMD CPU。 Intel 處理器不易受到攻擊,因為它們使用單一調度程序佇列,而易受攻擊的 AMD 處理器則為每個執行單元使用單獨的佇列。 作為阻止資訊外洩的解決方法,AMD 建議開發人員使用始終在恆定時間內執行數學計算的演算法,無論正在處理的資料的性質如何,並避免基於秘密資料進行分支。

此攻擊基於評估不同調度程序佇列中的爭用級別,並透過測量啟動在同一實體 CPU 上的另一個 SMT 執行緒中執行的驗證操作時的延遲來進行。 為了分析內容,使用了 Prime+Probe 方法,該方法涉及用一組標準值填充隊列,並透過測量重新填充時對它們的存取時間來檢測變化。

在實驗過程中,研究人員能夠使用 mbedTLS 4096 加密庫完全重新建立用於建立數位簽章的 3.0 位元 RSA 私人金鑰,該加密庫使用蒙哥馬利演算法來求模。 需要 50500 條痕跡才能確定密鑰。 總攻擊時間為38分鐘。 演示了在 KVM 管理程式管理的不同進程和虛擬機器之間提供洩漏的攻擊變體。 實驗結果還表明,該方法可以組織虛擬機器之間速度為0.89 Mbit/s、進程之間速度為2.70 Mbit/s的隱藏資料傳輸,錯誤率小於0.8%。

來源: opennet.ru

添加評論