作者YuQilin (神獸)
看板PC_Shopping
標題Re: [情報] 果然削弱性能!Intel i7+Win10打漏洞補丁
時間Mon Jan 8 09:37:47 2018
※※※工具※※※
Alex Ionescu根據intel新發佈的白皮書
更新了他寫的SpecuCheck錯誤的地方
白皮書
https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf
https://t.co/eHcsnNxf8D
SpecuCheck
https://github.com/ionescu007/SpecuCheck
SpecuCheck是一個程式讓使用者不用安裝SpeculationControl模組
就可以檢查自己系統對應Meltdown&Spectre修補的情況。
如圖
https://github.com/ionescu007/SpecuCheck/raw/master/SpecuCheck.png
顯示比較簡明,可以看到CPU微碼是否有更新IBRS/IBPB。
不過作者還是建議使用官方的SpeculationControl模組來檢查,
因為他寫的程式可能會有自己推測錯誤的地方。
(WIN7系統要更新PowerShell到新版才能安裝SpeculationControl)
https://docs.microsoft.com/zh-tw/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1
https://goo.gl/F9JuUm
※※※重點※※※
目前各作業系統對應Meltdown&Spectre和CPU微碼更新的情況總整理
https://gist.github.com/woachk/2f86755260f2fee1baf71c90cd6533e9
建議閱讀原文,整理非常詳盡。
1. Meltdown (Variant 3) : CVE-2017-5754
Linux已經透過KPTI修補,Windows也已經發佈KVAS補丁。
效能下降看使用情況,一般桌面使用者可能不會有太大的效能損失。
Haswell之前的CPU因為缺少INVPCID,在Windows上打這個補丁後效能下降會比較多。
不過在Linux上,即使沒有INVPCID,只要有PCID的CPU,
例如Ivy Bridge,還是可以快速切換頁表。
KPTI只支援64bit的作業系統,所以32bit的版本無法修補,
不過有一些32bit OS的例如MacOS,本身免疫Meltdown。
AMD的CPU免疫Meltdown。
2. Spectre (Variant 2) : CVE-2017-5715
在Windows上,Haswell以後的CPU已可以透過更新IBRS/IBPB微碼
(例如透過BIOS更新)來修補這個漏洞。
如果沒有微碼可以更新,可以改用作業系統內核層級的LFENCE作為緩解,
如果CPU不支援SMEP,會改用Google提供的Retpoline取代LFENCE。
在Linux上,這個漏洞目前還沒有修補。
未來將會使用Retpoline來修補,預測對伺服器的效能大約會有5-10%的損失,
但對一般使用者的影響應該會很輕微,
不過應用程式也需要重新編譯才能提供完全的保護,
如果使用者希望沒有設置IBRS=2的程式也能獲得保護,
還是需要更新CPU微碼,
目前Intel已經提供Haswell以後的IBRS微碼更新。
AMD的CPU不需要使用Retpoline,只要LFENCE就可以修補內核對抗這個漏洞,
和Intel一樣,也提供IBPB微碼更新,讓沒有重新編譯的程式也能獲得保護。
(但目前微碼還沒完全釋出,同時內核修補還沒有合併進官方分支)
3. Spectre (Variant 1) : CVE-2017-5753
詳情請參閱原文
※※※八卦※※※
Longhorn提到前述的BIOS更新(更新IBRS微碼)會造成非常巨大的效能下降,
Intel自己在Linux Kernel Mailing List承認效能下降是"horribly slow"
https://twitter.com/never_released/status/949231568509267968
所以Asus的 -21% 可能已經是盡最大努力的最好情況。
一夜回到革命前......
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.36.81
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PC_Shopping/M.1515375475.A.246.html
1F:推 hizuki : 話說ES的CPU應該無法更新mircocode,只能讓效能爛了 01/08 10:20
2F:推 hcwang1126 : 推 整理很詳細 01/08 10:21
3F:推 AmibaGelos : ret如果溢出到BTB上也gg啊,Haswell就是這樣做der 01/08 10:28
4F:推 jf7642 : UAC.exe : 檔案遺失 01/08 11:00
5F:推 hcwang1126 : 不更新效能不會差 但是就脫褲子逛大街囉 01/08 11:04
6F:推 b155073 : amd也受影響... 坐等詳細benchamrk 01/08 11:07
7F:→ Khadgar : 這不是脫褲子吧,spectra根本只是拉鍊沒拉滿 01/08 12:01
8F:→ Khadgar : 老實說個人用戶去更新蠻蠢的 01/08 12:01
9F:→ kuma660224 : MELTDOWN才是脫褲子吧 01/08 12:19
10F:推 a2935373 : Spectre一般用戶最容易被這攻擊的大概是透過Browser 01/08 12:21
11F:推 ptrex : 感謝整理 01/08 16:58
12F:推 goldie : 感謝整理 01/09 08:13
13F:推 kill466 : 這次風波址更新系統不更新bios可以嗎? 01/09 16:09
14F:→ kill466 : *只 01/09 16:09
15F:推 levihanji : 也想問樓上的問題 不敢自己更新bios 01/09 22:00
16F:→ Windcws9Z : 當然要更新BIOS啊 01/10 20:35