Re: [情報] Linux之父對CPU漏洞門爆粗口:修復補丁一
看板PC_Shopping作者kira925 (1 2 3 4 疾風炭)時間6年前 (2018/01/24 16:59)推噓35(36推 1噓 102→)留言139則, 27人參與討論串3/3 (看更多)
http://xiaoliniess.space/index.php/2018/01/07/spectre-meltdown-and
-cpu-speculative-execution-issues/
這邊有解釋Google的Retpoline機制是怎麼運作的
簡單的說 就是利用ret取代了jmp 透過對編譯器的修改
去愚弄CPU的預測載入機制 這篇也提到了 由於AMD的運作機制不一樣
一樣的code Intel展開以後的asm會比AMD的複雜 也因此AMD理論上會受到比較低的懲罰
那回到這次的問題 為什麼Intel會這麼急著推出更複雜的機制
而不是單純靠引入Retpoline機制呢?
https://lwn.net/Articles/745111/
All relevant CPUs have the ability to speculate on RET using the return stack
buffer (RSB)—that's what makes retpolines work in the first place. The
problem with Skylake (and presumably also Kaby Lake and later) is that if the
RSB is empty, it can speculate RETs using the normal branch predictor
mechanisms, which are vulnerable to Spectre.
Forcing an empty RSB is not trivial—it can happen on IRQs (including SMM
interrupts), or if the call stack gets more than 16 entries deep (old entries
get popped off on CALL, and then on the 17th RET, you've forgotten where you
originally came from). The question is how to weigh the risk of such
nontrivial attacks versus the cost of enabling IBRS.
LWN這邊的討論給了個可能的答案:
由於Skylake (甚至是以後的CPU? 看LKML的討論沒說不過可以合理懷疑7/8代都有?)
即使套用了Retpoline機制 也會因為更"先進"的分支預測技術
跳過了Retpoline的保護 也就是說 6代(以後?)的Intel CPU單靠Retpoline依然受到威脅
現在問題就是 為了完善保護開啟IBRS機制 vs 極嚴重的性能懲罰
到底你要選哪一個
----
居然是更新世代的CPU漏洞更大....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.28.197
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1516784398.A.724.html
噓
01/24 17:03,
6年前
, 1F
01/24 17:03, 1F
→
01/24 17:03,
6年前
, 2F
01/24 17:03, 2F
→
01/24 17:04,
6年前
, 3F
01/24 17:04, 3F
→
01/24 17:05,
6年前
, 4F
01/24 17:05, 4F
→
01/24 17:05,
6年前
, 5F
01/24 17:05, 5F
→
01/24 17:06,
6年前
, 6F
01/24 17:06, 6F
※ 編輯: kira925 (140.113.28.197), 01/24/2018 17:06:13
→
01/24 17:06,
6年前
, 7F
01/24 17:06, 7F
→
01/24 17:06,
6年前
, 8F
01/24 17:06, 8F
→
01/24 17:08,
6年前
, 9F
01/24 17:08, 9F
→
01/24 17:08,
6年前
, 10F
01/24 17:08, 10F
推
01/24 17:13,
6年前
, 11F
01/24 17:13, 11F
→
01/24 17:26,
6年前
, 12F
01/24 17:26, 12F
→
01/24 17:27,
6年前
, 13F
01/24 17:27, 13F
→
01/24 17:27,
6年前
, 14F
01/24 17:27, 14F
推
01/24 17:29,
6年前
, 15F
01/24 17:29, 15F
推
01/24 17:34,
6年前
, 16F
01/24 17:34, 16F
→
01/24 17:37,
6年前
, 17F
01/24 17:37, 17F
→
01/24 17:38,
6年前
, 18F
01/24 17:38, 18F
→
01/24 17:38,
6年前
, 19F
01/24 17:38, 19F
推
01/24 17:40,
6年前
, 20F
01/24 17:40, 20F
→
01/24 17:40,
6年前
, 21F
01/24 17:40, 21F
→
01/24 17:40,
6年前
, 22F
01/24 17:40, 22F
推
01/24 17:41,
6年前
, 23F
01/24 17:41, 23F
→
01/24 17:41,
6年前
, 24F
01/24 17:41, 24F
推
01/24 17:42,
6年前
, 25F
01/24 17:42, 25F
→
01/24 17:42,
6年前
, 26F
01/24 17:42, 26F
→
01/24 17:42,
6年前
, 27F
01/24 17:42, 27F
→
01/24 17:42,
6年前
, 28F
01/24 17:42, 28F
→
01/24 17:43,
6年前
, 29F
01/24 17:43, 29F
→
01/24 17:43,
6年前
, 30F
01/24 17:43, 30F
推
01/24 17:45,
6年前
, 31F
01/24 17:45, 31F
→
01/24 17:45,
6年前
, 32F
01/24 17:45, 32F
→
01/24 17:46,
6年前
, 33F
01/24 17:46, 33F
→
01/24 17:47,
6年前
, 34F
01/24 17:47, 34F
→
01/24 17:47,
6年前
, 35F
01/24 17:47, 35F
推
01/24 17:47,
6年前
, 36F
01/24 17:47, 36F
推
01/24 17:48,
6年前
, 37F
01/24 17:48, 37F
→
01/24 17:48,
6年前
, 38F
01/24 17:48, 38F
還有 61 則推文
還有 1 段內文
→
01/25 02:08,
6年前
, 100F
01/25 02:08, 100F
推
01/25 02:44,
6年前
, 101F
01/25 02:44, 101F
→
01/25 12:13,
6年前
, 102F
01/25 12:13, 102F
推
01/25 17:12,
6年前
, 103F
01/25 17:12, 103F
→
01/25 17:12,
6年前
, 104F
01/25 17:12, 104F
→
01/25 17:12,
6年前
, 105F
01/25 17:12, 105F
推
01/25 17:20,
6年前
, 106F
01/25 17:20, 106F
→
01/25 19:52,
6年前
, 107F
01/25 19:52, 107F
推
01/25 19:54,
6年前
, 108F
01/25 19:54, 108F
→
01/25 19:54,
6年前
, 109F
01/25 19:54, 109F
→
01/25 19:57,
6年前
, 110F
01/25 19:57, 110F
→
01/25 19:57,
6年前
, 111F
01/25 19:57, 111F
→
01/25 19:58,
6年前
, 112F
01/25 19:58, 112F
→
01/25 19:58,
6年前
, 113F
01/25 19:58, 113F
→
01/25 19:59,
6年前
, 114F
01/25 19:59, 114F
→
01/25 19:59,
6年前
, 115F
01/25 19:59, 115F
→
01/25 19:59,
6年前
, 116F
01/25 19:59, 116F
→
01/25 19:59,
6年前
, 117F
01/25 19:59, 117F
→
01/25 19:59,
6年前
, 118F
01/25 19:59, 118F
→
01/25 19:59,
6年前
, 119F
01/25 19:59, 119F
→
01/25 20:00,
6年前
, 120F
01/25 20:00, 120F
→
01/25 20:00,
6年前
, 121F
01/25 20:00, 121F
→
01/25 20:02,
6年前
, 122F
01/25 20:02, 122F
→
01/25 20:02,
6年前
, 123F
01/25 20:02, 123F
→
01/25 20:03,
6年前
, 124F
01/25 20:03, 124F
→
01/25 20:03,
6年前
, 125F
01/25 20:03, 125F
→
01/25 20:04,
6年前
, 126F
01/25 20:04, 126F
→
01/25 20:04,
6年前
, 127F
01/25 20:04, 127F
→
01/25 20:04,
6年前
, 128F
01/25 20:04, 128F
→
01/25 20:05,
6年前
, 129F
01/25 20:05, 129F
→
01/25 20:06,
6年前
, 130F
01/25 20:06, 130F
→
01/25 20:06,
6年前
, 131F
01/25 20:06, 131F
→
01/25 20:07,
6年前
, 132F
01/25 20:07, 132F
→
01/25 20:08,
6年前
, 133F
01/25 20:08, 133F
→
01/25 20:08,
6年前
, 134F
01/25 20:08, 134F
推
01/25 21:58,
6年前
, 135F
01/25 21:58, 135F
→
01/25 22:11,
6年前
, 136F
01/25 22:11, 136F
→
01/25 22:20,
6年前
, 137F
01/25 22:20, 137F
→
01/25 22:21,
6年前
, 138F
01/25 22:21, 138F
→
01/25 22:21,
6年前
, 139F
01/25 22:21, 139F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):