作者AmibaGelos (Amiba Gelos)
看板PC_Shopping
标题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
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1515222429.A.77D.html
1F:→ giancarlo82 : 我与老板之间唯一的连结就是秘书>>>3P!? 01/06 15:10
2F:推 qxxrbull : 所以说这个跟HPET会有关系吗? 01/06 15:11
3F:→ AmibaGelos : 都一样用速度作为泄漏管道,所以是der 01/06 15:13
4F:→ kuma660224 : 所以Spectre也是i皇比较严重?? 01/06 15:14
5F:→ AmibaGelos : 基本上只有ryzen逃过一劫 01/06 15:15
6F:→ kuma660224 : i皇: 秘书,you are fired. 01/06 15:15
7F:→ AmibaGelos : 吃土鸡家族都在吃土没follow不清楚 01/06 15:16
8F:→ kuma660224 : 是不是该炒作Ryzen了,趁还没涨 01/06 15:16
9F:推 b325019 : 所以是苏妈之前在吹的预测器让AMD现在可以酸intel? 01/06 15:16
10F:推 a2935373 : 其实也没吹吧 的确是比较新的设计 01/06 15:21
11F:推 qxxrbull : 那如果禁用HPET 改用TSC时钟会有所改善吗 01/06 15:29
12F:推 a2935373 : 一些古老程式会全死吧XD 01/06 15:30
13F:推 spfy : [售]首批马来西亚R7-1700 大鵰超3.95 电瞎门前交易 01/06 15:37
14F:→ a2935373 : ZEN+ CES应该会展出了吧 01/06 15:39
15F:推 ww578912tw : 应该快了 除非GF那边产能塞车或出包吧 01/06 15:44
16F:→ a2935373 : GF那边塞车跟CES展示样品没啥关系吧 01/06 15:50
17F:→ silentazure : AMD GPU已经够抢手了,CPU不要也来啊...ORZ 01/06 15:59
18F:推 Shauter : 粉粉哪里会认为AMD的CPU跟GPU抢手? 等等又要PO 01/06 16:55
19F:→ Shauter : steam占有率高潮惹 01/06 16:55
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
20F:→ quamtum : 如果发现预测错就flush不该进cache的data? 01/06 18:40
21F:推 hcwang1126 : 等待资料清空变成延迟? 01/06 20:14
22F:推 Shauter : 这会变成惩罚时间吧 01/06 20:45
23F:→ plug : 想问果牌A系列有中吗? 01/06 21:11
24F:→ kira925 : Spectre有 Meltdown不知道 01/06 21:45
25F:→ AmibaGelos : 部分清没用,要L1/2/3全清才能把timing资讯清掉 01/06 23:59
26F:→ AmibaGelos : 可以拓展cache miss queue以包含validate的时间 01/07 00:01
27F:→ AmibaGelos : 确保只有valid的data access可以进到$里... 01/07 00:01