今天,Intel 公佈了又一個 Specter 漏洞的新變體–Lazy FP 狀態還原漏洞,並表示該漏洞影響大部分 Core 系列處理器。如果操作系統在上下文切換時使用了 CPU 的 Lazy FP 功能進行系統狀態的保存與還原,攻擊者可以利用 CPU 的預測執行功能獲取其他進程在寄存器中保存的數據。操作系統應用使用 Eager FP 取代 Lazy FP。
在漏洞公佈之前,Lazy FP 有漏洞的流言就已經在系統開發者社區中流傳,並普遍相信是真實的。因此 OpenBSD 在6月5日停止使用 Lazy FP,而 DragonFlyBSD 緊接著也在13日修復漏洞。巧合的是,曾經有 Linux 內核開發者發現 Lazy FP 有性能問題,因此在2016年1月就已經在受支援的 CPU 上預設開啟 Eager FP ,無意中修復了漏洞。如果你的 Linux 的內核使用的是4.6 RC1及其之後的版本,無需採取任何措施。否則需要在引導內核參數中加入eagerfpu = on,手工開啟並重啟系統,也可以等待上游 backport 此補丁 。其他操作系統的用戶應當及時進行安全更新。
以下是 Intel 發布的漏洞聲明
大意:
系統軟體可以利用 Lazy FP 狀態恢復技術來延遲恢復狀態,直到在該狀態下運行的指令實際上由新進程執行為止。使用基於 Core 處理器的系統可能會允許本地進程通過推測執行端通道從另一個進程使用延遲FP狀態恢復來推斷數據。
描述:
系統軟體可以選擇使用惰性FP狀態恢復,而不是在上下文切換時急切保存和恢復狀態。懶惰恢復的狀態可能容易被利用,其中一個進程可以通過推測其執行端通道推斷其值的其他進程的寄存器值。
· CVSS – 4.3中等CVSS:3.0 / AV:L / AC:L / PR:N / UI:N / S:C / C:L / I:N / A:N
受影響產品:
基於 Intel Core 處理器
建議:
如果啟用了XSAVE的功能被禁用,那麼我們建議將擴展控制寄存器(XCR0)中的狀態組件位圖設置為0(例如AVX的XCR0 [位2] = 0,XCR0 [位7:5] = 0對於AVX512)或該功能的相應寄存器狀態應在被禁用之前清除。對於相關狀態(例如x87,SSE,AVX等),Intel 建議系統軟體開發人員使用 Eager FP 狀態恢復來代替 Lazy FP 狀態恢復。
來源:https://www.chiphell.com/thread-1864227-1-1.html
在漏洞公佈之前,Lazy FP 有漏洞的流言就已經在系統開發者社區中流傳,並普遍相信是真實的。因此 OpenBSD 在6月5日停止使用 Lazy FP,而 DragonFlyBSD 緊接著也在13日修復漏洞。巧合的是,曾經有 Linux 內核開發者發現 Lazy FP 有性能問題,因此在2016年1月就已經在受支援的 CPU 上預設開啟 Eager FP ,無意中修復了漏洞。如果你的 Linux 的內核使用的是4.6 RC1及其之後的版本,無需採取任何措施。否則需要在引導內核參數中加入eagerfpu = on,手工開啟並重啟系統,也可以等待上游 backport 此補丁 。其他操作系統的用戶應當及時進行安全更新。
以下是 Intel 發布的漏洞聲明
大意:
系統軟體可以利用 Lazy FP 狀態恢復技術來延遲恢復狀態,直到在該狀態下運行的指令實際上由新進程執行為止。使用基於 Core 處理器的系統可能會允許本地進程通過推測執行端通道從另一個進程使用延遲FP狀態恢復來推斷數據。
描述:
系統軟體可以選擇使用惰性FP狀態恢復,而不是在上下文切換時急切保存和恢復狀態。懶惰恢復的狀態可能容易被利用,其中一個進程可以通過推測其執行端通道推斷其值的其他進程的寄存器值。
· CVSS – 4.3中等CVSS:3.0 / AV:L / AC:L / PR:N / UI:N / S:C / C:L / I:N / A:N
受影響產品:
基於 Intel Core 處理器
建議:
如果啟用了XSAVE的功能被禁用,那麼我們建議將擴展控制寄存器(XCR0)中的狀態組件位圖設置為0(例如AVX的XCR0 [位2] = 0,XCR0 [位7:5] = 0對於AVX512)或該功能的相應寄存器狀態應在被禁用之前清除。對於相關狀態(例如x87,SSE,AVX等),Intel 建議系統軟體開發人員使用 Eager FP 狀態恢復來代替 Lazy FP 狀態恢復。
來源:https://www.chiphell.com/thread-1864227-1-1.html