Re: [情報] Intel嚴重漏洞 OS更新將會降低效能
看板PC_Shopping作者AmibaGelos (Amiba Gelos)時間6年前 (2018/01/06 15:07)推噓10(10推 0噓 17→)留言27則, 14人參與討論串37/38 (看更多)
套用秘書的例子來解釋Spectre~
首先更正一下Meltdown的舉例
想像一下正常的秘書遇到這種事會如何處理...
應該要報告老闆說有人再偷問你的行程吧@@
不過如果打電話的時候加上"你先確認一下我有沒有權限"(*)
出包的責任就轉移到秘書身上惹
正常的秘書聽到這種提問應該就會很認真的去確認一下權限
這基本上就是除了I家與ARM A15/A57/A72之外正常CPU會做的事.
大雷包I家秘書的做法則是如同之前舉例一般還是跑去看行程惹
可是人家可沒有要秘書直接去查喔!
所以秘書也不能跟老闆報告說有人在調查你的行程LOL
也就是說老闆永遠也不會知道他的行程洩漏
我也可以神不知鬼不覺地問出更多的敏感資料
這就是Meltdown
(*) 實際上只要問些秘書要花很多時間才能回答的問題就好
像是如果費馬最後定理是錯的話再問老闆的行程之類der lol
Spectre則更間接一點, 下面我只描述其中一種版本
(branch target injection, 我喜歡叫全面啟動法,核心都是在如何植入一個idea)
想像一下如果我一直以來都想要掌握老闆行蹤
而我與老闆之間唯一的連結就是秘書
那我該怎麼做呢?
一個辦法是誘使秘書自動自發的洩漏資料
假設我每次出差都跟秘書說幫我訂一下出差地點的知名景點門票
久而久之秘書就會預設說啊大家出差好像都超愛順便觀光der
這次老闆要去台北秘書就也順便查了101觀景台的門票價格
然後跑去問老闆要不要去101觀光
老闆當然是滿臉??
e04冬天滿滿祖國特產防激光霧霾有什麼好看der
秘書當然很沮喪地走出老闆der房間
這時候我再去問說喔喔各大景點的門票價格是多少
絕大多數秘書都得要上網查價格
但因為他剛剛已經查過台北知名景點
這時候速度就會快很多
於是我就知道老闆是要去台北惹
從頭到尾我的行為都是合法的,秘書也是,老闆也是,沒有任何"可能"違法
所以這招所有內建有預測器的CPU都會中獎
難度只在於誘使秘書問出想要他問的問題
I家的難度基本為0(因為預測器結構太有規律)
A家極難(普遍認為預測器是用基因方法設計沒有什麼規律可以利用)
ARM的則是不同的team用不同的設計所以沒有什麼規律可言
Spectre的潛力其實遠超出以上的描述
想像一下電腦裡那麼多預測器,什麼預測何時要載入資料.何時ssd要啟動trim機制
爭搶快取的規則,turbo預測器
通通都可以拿來玩...OTZ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.49.243
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1515222429.A.77D.html
→
01/06 15:10,
6年前
, 1F
01/06 15:10, 1F
推
01/06 15:11,
6年前
, 2F
01/06 15:11, 2F
→
01/06 15:13,
6年前
, 3F
01/06 15:13, 3F
→
01/06 15:14,
6年前
, 4F
01/06 15:14, 4F
→
01/06 15:15,
6年前
, 5F
01/06 15:15, 5F
→
01/06 15:15,
6年前
, 6F
01/06 15:15, 6F
→
01/06 15:16,
6年前
, 7F
01/06 15:16, 7F
→
01/06 15:16,
6年前
, 8F
01/06 15:16, 8F
推
01/06 15:16,
6年前
, 9F
01/06 15:16, 9F
推
01/06 15:21,
6年前
, 10F
01/06 15:21, 10F
推
01/06 15:29,
6年前
, 11F
01/06 15:29, 11F
推
01/06 15:30,
6年前
, 12F
01/06 15:30, 12F
推
01/06 15:37,
6年前
, 13F
01/06 15:37, 13F
→
01/06 15:39,
6年前
, 14F
01/06 15:39, 14F
推
01/06 15:44,
6年前
, 15F
01/06 15:44, 15F
→
01/06 15:50,
6年前
, 16F
01/06 15:50, 16F
→
01/06 15:59,
6年前
, 17F
01/06 15:59, 17F
推
01/06 16:55,
6年前
, 18F
01/06 16:55, 18F
→
01/06 16:55,
6年前
, 19F
01/06 16:55, 19F
Sorry更正一下
剛剛看了一下ARM官方說法
https://developer.arm.com/support/security-update
A75也有中Meltdown
然後Spectre全中OTZ
看樣子應該全都是用很簡單的hash
然後Spectre的部分
我原本描述A家可以無視的原因只適用於第一種
OOB check bypass (基於直接分支)
基本上就是騙過預測器使他永遠預測yes,即便結果總是no
A家從吃土雞以及喵喵開始用的perceptron使預測器的可信度較高
I家的PPM(部分特徵相符)只要部分特徵一樣就會預測一樣的結果
所以只要有3個特徵一樣的code,一個是no兩個是yes就會一直預測yes
這也意味著***的CPU可能也免疫第一種Spectre
至於BTI法(基於間接分支)看完google文章感覺是只要有預測就會中
問題點在於儲存分支目標地址的方式
只要儲存時把來自不同程式的資料混在一起存就可以想辦法改變不該能觸碰的資料
基於返回目標的變種應該從6X85/K5/pentium pro開始就會中惹
這是指令集問題所以可以的話是真的沒救,而且是之後好多年都沒救lol
※ 編輯: AmibaGelos (61.230.49.243), 01/06/2018 17:12:37
→
01/06 18:40,
6年前
, 20F
01/06 18:40, 20F
推
01/06 20:14,
6年前
, 21F
01/06 20:14, 21F
推
01/06 20:45,
6年前
, 22F
01/06 20:45, 22F
→
01/06 21:11,
6年前
, 23F
01/06 21:11, 23F
→
01/06 21:45,
6年前
, 24F
01/06 21:45, 24F
→
01/06 23:59,
6年前
, 25F
01/06 23:59, 25F
→
01/07 00:01,
6年前
, 26F
01/07 00:01, 26F
→
01/07 00:01,
6年前
, 27F
01/07 00:01, 27F
討論串 (同標題文章)
完整討論串 (本文為第 37 之 38 篇):