摘要:這種新型的潛在攻擊手段被稱爲“Take A Way”,利用AMD Bulldozer微體系結構中的L1數據(L1D)緩存預測變量,從處理器獲取敏感數據,並在恢復加密過程中使用密鑰,這對設備安全產生極大的威脅。爲了證明側信道攻擊的影響,研究人員建立了一個緩存隱式通道,從AMD CPU上運行的進程中提取數據到另一個隱蔽的進程中,利用80個通道實現最大傳輸速率588.9kB / s,同時,在AMD Ryzen Threadripper 1920X處理器上並行執行。

根據最新發布的研究,從2011年至2019年,AMD處理器一直存在以前從未公開的漏洞,這些漏洞使它們容易受到兩種新型的側信道攻擊。

這種新型的潛在攻擊手段被稱爲“Take A Way”,利用AMD Bulldozer微體系結構中的L1數據(L1D)緩存預測變量,從處理器獲取敏感數據,並在恢復加密過程中使用密鑰,這對設備安全產生極大的威脅。

這項研究由格拉茨技術大學和計算機科學與隨機系統研究所(IRISA)的一個研究團隊發表,他們於2019年8月向AMD披露了這些漏洞。

AMD在其網站上發佈的一份諮詢報告中說: “我們注意到一份新的白皮書,該白皮書聲稱可以利用AMD CPU的潛在漏洞,惡意行爲者藉此可以操縱與緩存相關的功能,從而可能以意想不到的方式傳輸用戶數據。”

“然後,研究人員將該數據路徑與現有的恢復軟件或推測的側通道漏洞進行配對。AMD認爲這些不是新型攻擊。”

儘管該通知並未具體說明防範攻擊的細節,但該論文的主要研究人員之一Vedad Hadžić表示,該漏洞利用活動仍然很活躍。

隨着英特爾CPU審查出一系列漏洞問題,從Meltdown,Spectre,ZombieLoad到最近無法修補的CSME固件缺陷,該研究提醒人們,處理器架構要完全沒有威脅是不可能的。值得注意的是,研究中列出的一些合作者也沒有發現Meltdown,Spectre和ZombieLoad漏洞。

Collide+Probe和Load+Reload

與Intel Spectre攻擊一樣,這兩種新型攻擊被稱爲“Collide+Probe”和“Load+Reload”,利用上述提及的L1D緩存預測變量,可以訪問原本不可訪問的數據。

研究人員概述說:“藉助Collide+Probe,攻擊者可以在分時共享邏輯內核時監視受害者的內存訪問,而無需瞭解物理地址或共享內存。通過Load+Reload,我們利用預測器的方式在同一物理內核上獲得受害者的高精度內存訪問跟蹤。”

L1D緩存預測變量是一種優化機制,旨在減少與訪問內存中緩存數據相關的功耗:

“預測變量使用虛擬地址上未記錄的哈希函數來計算μTag。該μTag用於在預測表中查找L1D緩存方式。因此,CPU必須僅以一種方式比較緩存標記,而不是所有可能的方式,以此來降低功耗。”

新發現的緩存攻擊通過反向哈希函數工程來跟蹤L1D緩存的內存訪問而起作用。雖然Collide+Probe在AMD的L1D緩存預測變量中利用了μTag衝突,但Load + Reload卻利用了預測變量處理內存中別名地址的方式。

換句話說,可以使用這兩種攻擊技術從另一個進程中竊取敏感數據,與攻擊者或在CPU的不同邏輯內核上運行的同一進程,共享相同內存。

爲了證明側信道攻擊的影響,研究人員建立了一個緩存隱式通道,從AMD CPU上運行的進程中提取數據到另一個隱蔽的進程中,利用80個通道實現最大傳輸速率588.9kB / s,同時,在AMD Ryzen Threadripper 1920X處理器上並行執行。

隨着越來越多的主流雲平臺比如Amazon、Google和Microsoft採用AMD的EPYC處理器,在雲環境中的攻擊也引起了人們的極大關注。

此外,安全研究人員能夠繞過瀏覽器中的地址空間佈局隨機化(ASLR),從而成功地在某些常見的瀏覽器(即Chrome和Firefox)上發起Collide + Probe攻擊,減少了熵並找到了地址信息。

ASLR是一種安全性操作,用於隨機化和屏蔽CPU內存中代碼和關鍵數據區域的確切位置。換句話說,它阻止了潛在的攻擊者猜測目標地址並跳轉到內存中的特定區域。

研究人員指出:“在Firefox中,我們能夠將熵降低15位,成功率爲98%,平均運行時間爲2.33 s(σ= 0.03s,n = 1000)。使用Chrome,我們可以減少數位,成功率爲86.1%,平均運行時間爲2.90秒(σ= 0.25秒,n = 1000)。”

隨後,研究人員使用相同的Collide+Probe攻擊來嘗試泄露內核的內存數據,甚至從T表中恢復加密密鑰,使用AES密碼存儲加密操作的中間數據。

防範此類攻擊

目前已經可以通過各種純硬件、硬件和軟件的更改以及純軟件的解決方案來防範這兩種攻擊,其中包括以允許動態地暫時禁用預測變量的方式和清除狀態的方式設計處理器。內核模式和用戶模式之間切換時清除預測變量的模式狀態。

這不是第一次發現AMD處理器容易受到包括Spectre在內的CPU攻擊的影響,因此,該公司也發佈了大量補丁程序。

AMD是否會修復研究中揭露的新型漏洞目前尚不清楚。

相關文章