TONTOU 是一種針對 Intel 和 AMD CPU 的攻擊,它能夠繞過針對 Spectre v2 漏洞的保護。

麻省理工學院的研究人員發現了一種名為TONTOU(中和時間到使用時間)的攻擊技術,為利用Spectre v2類微架構漏洞提供了一種新方法。此漏洞允許在用戶空間執行攻擊時確定內核記憶體內容。目前,核心中已整合了阻止該漏洞的程式碼。 Linux 8 月 5 日發布,並包含在 7.1.7、6.18.43、6.12.102、6.6.149、6.1.181、5.15.214 和 5.10.263 版本中。

研究人員演示了利用本地非特權使用者攻擊來獲取儲存在 /etc/shadow 檔案中的 root 使用者密碼哈希值的可行性,該檔案在系統驗證期間會載入到記憶體中。研究人員成功地從核心記憶體洩露數據,吞吐量為每秒 5.47 字節,準確率達到 91.97%。在 10 次測試運行中(平均每次運行持續 18 分鐘),他們有一半的時間成功檢測到內存中存在 /etc/shadow 文件並提取了其內容。

此漏洞已在搭載 AMD 處理器的系統上驗證,並可用於 Zen 1-4 系列的 AMD CPU。該攻擊在 Intel 系統上也可行,但利用起來更為複雜。為了防止返回堆疊溢位並阻止 SRSO(推測性返回堆疊溢位)漏洞,AMD 處理器採用了 Safe-RET 保護機制。此機制會在每次使用後清除分支預測緩衝區,並將攻擊視窗縮小到幾十奈秒內執行的兩個指令。

為了繞過這種保護機制並擴大攻擊窗口,攻擊者實現了一種CPU減速技術,允許在適當的時機進行中斷替換,從而重定向核心內部的執行流程,並利用中斷處理程序破壞分支預測緩衝區中的條目。為了利用SRSO漏洞,攻擊者可以創建條件,使分支預測單元推測性地執行大量錯誤預測的CALL調用,足以溢出返回地址棧,並覆蓋位於棧首的正確預測返回點。這樣一來,棧的初始元素就可以被攻擊者選擇的值覆蓋,然後在另一個進程的上下文中推測性地執行RET指令時,就會使用這些被替換的值。

處理器會判定分支預測錯誤並回滾操作,但推測執行期間處理的資料仍會保留在快取和微架構緩衝區中。如果錯誤執行的程式碼區塊存取了內存,其推測執行也會導致從內存讀取的資料保留在共享快取中。要從快取中檢索訊息,可以使用基於快取和非快取資料存取時間變化分析來確定快取內容的方法。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster