※ 本文轉寄自 ptt.cc, 文章原始頁面
標題

Re: [情報] AMD Zen2的CPU漏洞Zenbleed

時間
最新2023-08-03 19:42:00
留言84則留言,53人參與討論
推噓44 ( 44040 )
簡單回覆一下這個漏洞是怎麼回事,用手機不想打太多字 這次的漏洞有 Meltdown/Spectre 有諸多相似之處 但是比起這兩者,這次的漏洞更為直接 目前我沒看到有人把 Zenbleed 歸類為 side channel attack 所以就當它不是 關於 Meltdown 可以參考先前文章: #1QJlGo9y (PC_Shopping) 以下用 M/S/Z 分別代表上述三種漏洞 相似的地方在於都是濫用預測執行 (speculative execution) 但 AMD 這次可以說是邏輯錯誤,跟 M/S 不同 因為 M/S 的執行邏輯是正確的,但在安全性檢查上不夠完善 雖然無法「直接」存取受害程式資料,但仍然可以從間接資料推測出原始資料 而 AMD 這次的漏洞則是妥妥的讓攻擊者直接讀取它不該讀到的東西 也就是說,即使不是惡意攻擊,仍然有機會在特定條件下造成執行錯誤 簡述這次的漏洞,就是濫用分支預測與預測執行, 在發生分支預測錯誤而回滾狀態時,讓兩個不同執行緒搶到同一個暫存器 x86 作為 CISC 代表,他的暫存器長度是多變的, 再加上暫存器重命名機制,即使你現在機器碼寫存取第一個暫存器, 實際上 CPU 可能會把它對映到另外一個暫存器上 所以當預測執行錯誤而必須回滾處理器狀態時, 本來已經被釋出的暫存器又被回滾回釋放前的狀態, 但回滾前另外一個執行緒已經拿走這個暫存器去用了 這時兩個執行緒都搶到同一個暫存器, 其中一個是惡意程式,就能直接讀取資料 所以我認為這是一個邏輯錯誤 因為即使不是惡意攻擊,這也是個妥妥的 race condition 目前 AMD 給的解決方法是微碼更新 依照白帽駭客的做法,在公開揭露前都會留時間給廠商修正 所以這次攻擊只要更新到最新的 AGESA 就修正了 **更新:可能尚未修正,見下方補充** 對於暫時無法更新微碼的機器,可以透過修改 CPU 執行模式緩解 此緩解辦法可能會造成一定程度的效能減損 目前我沒有看到有人提供效能影響報告就是了 詳細的資訊可以參考發現此漏洞的白帽駭客文章: https://lock.cmpxchg8b.com/zenbleed.html 值得一題的是,這次的漏洞發現並非刻意針對某種系統/機制/邏輯的弱點攻擊, 而是在稱為 fuzzing 的一種產生任意指令/資料,以檢視軟體穩定性的測試中發現 詳細的發現過程是隨機產生一堆指令,再以同樣的順序再執行一次,比對兩者結果 不一樣的是對照組將嚴格遵循循序且不平行處理模式,務求最正確的結果 所以該作者能發現就是執行結果不一樣, 在現實應用中是有機會造成 phantom bug 的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.39.149 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1690353037.A.4DD.html

Re: 回文串

4484
> Re: [情報] AMD Zen2的CPU漏洞Zenbleed
PC_Shopping07/26 14:30

84 則留言

oppoR20, 1F
推 有料42.77.215.102

mrme945, 2F
懂了(其實沒有111.71.212.31

a58524andy, 3F
Push36.233.21.177

yymeow, 4F
推 專業60.250.130.216

asdg62558, 5F
專業 推125.229.47.209

mayolane, 6F
Re: [情報] AMD Zen2的CPU漏洞Zenbleed

liumang, 7F
跟我想的一樣(完全不懂27.242.37.73

spfy, 8F
這種比酸一句就跑的強多了223.136.218.89

E7lijah, 9F
Re: [情報] AMD Zen2的CPU漏洞Zenbleed

Fezico, 10F
這bug看reddit上解釋還要暫存器處於某種特118.168.14.172

Fezico, 11F
定狀況下才成立的樣子?118.168.14.172
要有特定指令跟順序觸發才會踩到,受害程式也必須有用到特定指令 但這不是甚麼罕見的指令,反倒是很常見的

avans, 12F
哇 專業講解,推111.71.20.228

SILee, 13F
聽起來怪怪的。所以他是還沒commit就把reg99.92.209.224

SILee, 14F
release出來?99.92.209.224
對,但 rollback 沒有把資料還原回去,導致惡意程式可以讀到髒資料

jay0215, 15F
薛丁格的兩隻貓搶一個盒子223.136.186.146

righer, 16F
所以跑windows update就可以修正cpu的漏洞111.82.89.112

righer, 17F
嗎?111.82.89.112

yymeow, 18F
要等新的BIOS60.250.130.216

comipa, 19F
推專業文114.36.222.209

lazioliz, 20F
跟我想得一樣112.78.90.23

smallreader, 21F
這樣有可能造成BSOD嗎114.27.43.49

AmibaGelos, 22F
zen有實作checkpoint只留預測時的狀114.43.184.10

AmibaGelos, 23F
態 其餘物理reg可以複用 我猜corner114.43.184.10

AmibaGelos, 24F
case回溯的reg map錯了114.43.184.10
我不是很確定理解正不正確 map 應該沒錯,但是 rollback 只還原 zero bit 而沒有還原資料是錯的 導致惡意程式可以讀到髒資料

sdbb, 25F
感謝科普61.230.97.130

Chikei, 26F
這bug是ymm暫存器用vzeroupper指令的時候211.72.92.133

Chikei, 27F
低位(對,不是高位)位元rollback沒處理好211.72.92.133

kuninaka, 28F
phantom bug61.227.115.226

blueballer, 29F
推解釋185.213.82.245

kenphin0729, 30F
推解釋1.200.24.124
更正一下文內消息 剛剛看到目前只有 EPYC 才有微碼更新 [1] 其他 Zen 2 家族處理器還沒有 patch 好的微碼 準確的來說目前只有修復下列處理器家族: 2nd Gen AMD EPYC™ Processors "Rome" (fixed) 尚未修復: AMD Ryzen 3000 Series Desktop Processors "Matisse" (Target Dec 2023) AMD Ryzen 4000 Series Desktop Processors with Radeon Graphics "Renoir" AM4 (Target Dec 2023) AMD Ryzen Threadripper 3000 Series Processors "Castle Peak" HEDT (Target Oct 2023) AMD Ryzen Threadripper PRO 3000WX Series Processors "Castle Peak" WS SP3 (Target Nov 2023/Dec 2023) AMD Ryzen 5000 Series Mobile Processors with Radeon Graphics "Lucienne" (Target Dec 2023) AMD Ryzen 4000 Series Mobile Processors with Radeon Graphics "Renoir" (Target Nov 2023) AMD Ryzen 7020 Series Processors "Mendocino" FT6 (Target Dec 2023) 本來沒有要那麼早公開揭露漏洞的 但可惜的是 AMD 錯誤的提前釋出修正微碼,而且只有修復部分產品 [2] 所以只好提早公開揭露了 目前 linux kernel 針對此問題將預設開啟前述緩解方案 如果偵測到尚未包含修正的微碼,會設定對應的 chiken bit 避免漏洞開採 [3] 沒意外的話各大 linux distro 應該已經或很快會上這個 patch 1: https://seclists.org/oss-sec/2023/q3/67 2: https://github.com/google/security-research/tree/master/pocs/cpus/zenbleed 3: https://seclists.org/oss-sec/2023/q3/79

freezeyp, 31F
該升級zen3了嗎?101.136.44.88

dxzy, 32F
不想打太多字 (手停不下來)36.228.225.23

harry886901, 33F
懂了 分支預測對吧 抱歉我大學教授計101.10.3.57

harry886901, 34F
算機網路都在亂教101.10.3.57

a1234567289, 35F
計算機網絡@@?49.216.29.40

atbb, 36F
樓上不是啦,你連內文都沒仔細的看耶..114.137.229.40

chicagoparis, 37F
這至少是計算機組織或架構的事情…49.158.172.18

bunjie, 38F
不明覺厲啊182.155.80.135

roc074, 39F
計算機組織吧XD42.72.104.242

lc85301, 80F
還算正常吧60.250.111.124

niverse, 81F
計組都祭祖惹150.117.240.33

v86861062, 82F
推推180.217.130.131

moocow, 83F
!!!!!!!122.116.46.54

SUCKERKING, 84F
水球20年前常常在連線硬體版打筆戰。180.177.104.103

biofish, 85F
推推1.200.58.79

skycat2216, 86F
@SUCKERKING 還有當時的資料嗎?223.136.61.159

skycat2216, 87F
死CS新鮮肝想看看223.136.61.159

s25g5d4 作者的近期文章

Re: [請益] 同家NAS 為何出ARM架構與X86架構?
TL;DR 1. 硬體成本一定有差,苦命工程師只能想辦法支援 2. 軟體開發成本只有前期比較高,後面可以一直沿用 3. 況且很多都是開源的東西,不是單一廠商在做 4. 軟體開發非常講究可移植性,你認為的跨平台問題都不是問題 硬體成本上絕對是
更多 s25g5d4 作者的文章...