Hertzbleed 是影響現代 CPU 的一系列新的旁道攻擊

來自德州大學、伊利諾大學和華盛頓大學的一組研究人員披露了有關代號為 Hertzbleed 的新型側通道攻擊(CVE-2022-23823、CVE-2022-24436)的資訊。所提出的攻擊方法是基於現代處理器中動態頻率控制的特徵,影響所有目前的 Intel 和 AMD CPU。該問題也可能出現在支援動態頻率變化的其他製造商的處理器中,例如在 ARM 系統中,但該研究僅限於測試英特爾和 AMD 晶片。包含攻擊方法實作的來源文字發佈在 GitHub 上(該實作在具有 Intel i7-9700 CPU 的電腦上進行了測試)。

為了優化功耗並防止過熱,處理器根據負載動態改變頻率,這會導致效能變化並影響操作的執行時間(頻率變化 1 Hz 會導致效能變化每 1 個時脈週期)第二)。研究發現,在AMD和Intel處理器上的某些條件下,頻率的變化與正在處理的資料直接相關,例如,這導致「2022 + 23823」運算的計算時間和「2022 + 24436」會有所不同。透過分析不同資料的運算執行時間的差異,可以間接還原計算中使用的資訊。同時,在具有可預測恆定延遲的高速網路中,可以透過估計請求的執行時間來遠端實施攻擊。

如果攻擊成功,所識別的問題使得可以根據對密碼庫中的計算時間的分析來確定私鑰,這些密碼庫使用的演算法始終在恆定時間內執行數學計算,無論正在處理的資料的性質如何。此類庫被認為可以免受旁道攻擊,但事實證明,計算時間不僅取決於演算法,還取決於處理器的特性。

作為展示此方法可行性的實例,展示了對SIKE(超奇異同源密鑰封裝)密鑰封裝機制實現的攻擊,該機制被列入美國舉辦的後量子密碼系統競賽的決賽中美國國家標準與技術研究院(NIST),並被定位為免受側通道攻擊。在實驗過程中,使用基於選定密文的新攻擊變體(基於密文操作並獲得解密的逐步選擇),可以透過從遠端系統進行測量來完全恢復用於加密的金鑰,儘管使用具有恆定計算時間的SIKE 實作。使用 CIRCL 實作確定 364 位元金鑰需要 36 小時,PQCrypto-SIDH 需要 89 小時。

英特爾和 AMD 已承認其處理器存在該問題的漏洞,但不打算透過微程式碼更新來阻止該漏洞,因為不可能在不對硬體效能產生重大影響的情況下消除硬體中的漏洞。相反,密碼庫的開發人員會獲得有關如何在執行機密計算時以編程方式阻止資訊外洩的建議。 Cloudflare 和 Microsoft 已經為其 SIKE 實施添加了類似的保護,這導致 CIRCL 的效能下降了 5%,PQCrypto-SIDH 的效能下降了 11%。阻止該漏洞的另一個解決方法是在 BIOS 或驅動程式中停用 Turbo Boost、Turbo Core 或 Precision Boost 模式,但這種變更將導致效能急劇下降。

英特爾、Cloudflare 和微軟於2021 年第三季收到了有關該問題的通知,AMD 於2022 年第一季收到了有關該問題的通知,但應英特爾的要求,該問題的公開披露被推遲到14 年2022 月8 日。基於第11-2 代Intel Core 微架構的桌上型電腦和筆記型電腦處理器,以及各種桌上型電腦、行動和伺服器處理器AMD Ryzen、Athlon、A-Series 和EPYC(研究人員演示了該方法)均存在這個問題在具有 Zen 微架構 3 和 Zen XNUMX 的 Ryzen CPU 上)。

來源: opennet.ru

添加評論