顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-01-07 17:07:05
看板 PC_Shopping
作者 AmibaGelos (Amiba Gelos)
標題 Re: [情報] Intel嚴重漏洞 OS更新將會降低效能
時間 Sat Jan  6 15:07:07 2018


套用秘書的例子來解釋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
※ 文章代碼(AID): #1QK7MTTz (PC_Shopping)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1515222429.A.77D.html
giancarlo82 : 我與老闆之間唯一的連結就是秘書>>>3P!?1F 01/06 15:10
qxxrbull    : 所以說這個跟HPET會有關係嗎?2F 01/06 15:11
AmibaGelos  : 都一樣用速度作為洩漏管道,所以是der3F 01/06 15:13
kuma660224  : 所以Spectre也是i皇比較嚴重??4F 01/06 15:14
AmibaGelos  : 基本上只有ryzen逃過一劫5F 01/06 15:15
kuma660224  : i皇: 秘書,you are fired.6F 01/06 15:15
AmibaGelos  : 吃土雞家族都在吃土沒follow不清楚7F 01/06 15:16
kuma660224  : 是不是該炒作Ryzen了,趁還沒漲8F 01/06 15:16
b325019     : 所以是蘇媽之前在吹的預測器讓AMD現在可以酸intel?9F 01/06 15:16
a2935373    : 其實也沒吹吧 的確是比較新的設計10F 01/06 15:21
qxxrbull    : 那如果禁用HPET 改用TSC時鐘會有所改善嗎11F 01/06 15:29
a2935373    : 一些古老程式會全死吧XD12F 01/06 15:30
spfy        : [售]首批馬來西亞R7-1700 大鵰超3.95 電瞎門前交易13F 01/06 15:37
a2935373    : ZEN+ CES應該會展出了吧14F 01/06 15:39
ww578912tw  : 應該快了 除非GF那邊產能塞車或出包吧15F 01/06 15:44
a2935373    : GF那邊塞車跟CES展示樣品沒啥關係吧16F 01/06 15:50
silentazure : AMD GPU已經夠搶手了,CPU不要也來啊...ORZ17F 01/06 15:59
Shauter     : 粉粉哪裡會認為AMD的CPU跟GPU搶手? 等等又要PO18F 01/06 16:55
Shauter     : steam佔有率高潮惹


Sorry更正一下

剛剛看了一下ARM官方說法
https://developer.arm.com/support/security-update
Arm Processor Security Update – Arm Developer
Based on the recent research findings from Google on the potential new cache timing side-channels exploiting processor speculation, here is the latest ...

 

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
quamtum     : 如果發現預測錯就flush不該進cache的data?20F 01/06 18:40
hcwang1126  : 等待資料清空變成延遲?21F 01/06 20:14
Shauter     : 這會變成懲罰時間吧22F 01/06 20:45
plug        : 想問果牌A系列有中嗎?23F 01/06 21:11
kira925     : Spectre有 Meltdown不知道24F 01/06 21:45
AmibaGelos  : 部分清沒用,要L1/2/3全清才能把timing資訊清掉25F 01/06 23:59
AmibaGelos  : 可以拓展cache miss queue以包含validate的時間
AmibaGelos  : 確保只有valid的data access可以進到$裡...

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 117 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇