整體概述

現代處理器可動態控制其工作頻率,以優化資源利用效率,最大限度地節約能源,并使整體符合系統定義的約束。在軟件工作負載執行期間,任何關于電磁或者熱系統參數的運行平均值超過了其相應的預定義閾值,電源管理體系結構都將會基于電源平衡管理算法及時對CPU頻率進行調整,以確保整個系統始終處于安全運行條件之中,這種現象稱為節流。

針對這種現象,來自英特爾公司的Chen Liu, Abhishek Chakraborty, Nikhil Chawla和Neer Roggel在CCS 2022上討論了這種基于電源平衡管理的CPU節流活動如何形成定時側通道信息泄漏,以及攻擊者如何利用這種現象去推測工作設備的密鑰信息數據,并在不同的產品系統上進行實驗,實驗結果驗證了攻擊者可以成功地獲取需要的秘密信息。在論文的最后,作者討論了減輕頻率節流側信道攻擊所構成的威脅的不同方法。

頻率節流側信道攻擊原理

CPU的電源平衡管理算法PL_ALG( )會周期性地計算指定長度窗口的不同電氣參數(如功率、電流等)的運行平均值,然后將運行平均值與各自的閾值進行比較,計算新的功率預算P-state以限制頻率無限增長。新P-state的生成算法如下圖所示。

P-state生成算法

當系統運行功率沒有達到任何參數的閾值限制時,所有功率預算保持為正,因此CPU工作頻率不受????????的限制。如果這些計算的運行平均值中的任何一個超過了特定的功率限制值,電源管理算法將觸發CPU節流活動并減少頻率閾值。在這種情況下,為了在滿足功率限制的同時將性能發揮最大化,處理器可以在頻率限制值下運行,這個過程由其反饋機制進行控制。

盡管這是一個恒定周期的工作負載實現,但這種頻率調節活動會使系統執行時間變得依賴于數據。由于處理不同的數據輸入,工作負載的功耗data1和data2可能會因函數的內部數據依賴計算的差異而有所不同。下圖展示了一個頻率調節活動的全過程:開始處于平衡狀態下的系統,在執行函數處理數據時超出功率限制后發生變化,在電源平衡管理算法的作用下,重新變為平衡狀態,并由此引發時間變化。在整個過程中,電源管理體系結構將設備內部的電源側信道信息轉換為我們易于觀察測量的時序側信道信息,進而利用時間側信息進行密鑰相關分析研究。

頻率調節活動

頻率節流側信道攻擊實驗

由之前的描述可知,時間的差異是密鑰破解的突破口,將時間信息代入論文中提到的公式中,可以得到某個密鑰對應的度量值,以用于不同密鑰的可能性猜測,論文中需要代入的參數包括假設的理論時間、實際測量時間和標準差等常數。

實際時間可以通過實驗設備進行精確測量,常數根據實際情況代入即可。因此,要計算某個密鑰對應的度量值大小,還需知道假設的理論時間。本文中依據AES算法提出了4種時間建模估計方式,分別為Round0-HW、Round10-HW、Round-HD、Round10-HW+HD。四種建模方式涉及S盒替換和行移位等操作,以更好地進行密鑰相關計算。HW和HD分別代表方法中參與計算的漢明重量方法和漢明距離方法,Round則代表AES的加密輪次。

下圖為作者在Sky Lake、Tiger Lake和Ice Lake三款不同英特爾產品中進行的實驗結果圖,縱軸代表Guessing Complexity(GC),GC數值越小,代表猜測密鑰排名越靠前,猜出的密鑰字節越多。由圖可知,總體上Round0-HW收斂速度較快,效果較好,并且在不同產品中,同一建模的效果也不盡相同。

在三款產品上進行實驗的結果圖

針對頻率節流側信道攻擊,論文提出了幾種可能對這種攻擊有所緩解的策略,例如考慮采用更好的電力基礎設施、利用機器學習算法改進目前已有的數據分析方法等。

總結

這篇論文中提出了一種新的頻率節流側信道分析攻擊,通過考慮AES加密的恒周期實現作為案例研究,演示了頻率節流側信道攻擊所構成的威脅。本文的實驗評估結果強調了頻率節流側信道分析在探索密碼設備內部密鑰過程中的有效性。在論文的最后提出了數種方法以減少這種節流側信道分析攻擊帶來的威脅,這些方法對防護頻率節流側信道攻擊都具有一定的積極意義。

參考資料

[1] Liu C, Chakraborty A, Chawla N, et al. Frequency throttling side-channel attack[C]//Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security. 2022: 1977-1991.