免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: 王楠w_n

【大话IT】如何看待最近爆出的Intel CPU设计漏洞? [复制链接]

论坛徽章:
15
2015年迎新春徽章
日期:2015-03-04 09:57:09操作系统版块每日发帖之星
日期:2016-08-10 06:20:00操作系统版块每日发帖之星
日期:2016-07-16 06:20:00操作系统版块每日发帖之星
日期:2016-06-04 06:20:00操作系统版块每日发帖之星
日期:2016-03-14 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2015-12-23 06:20:00操作系统版块每日发帖之星
日期:2015-11-04 06:20:00每日论坛发贴之星
日期:2015-10-21 06:20:00操作系统版块每日发帖之星
日期:2015-10-21 06:20:00操作系统版块每日发帖之星
日期:2015-10-18 06:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:29
发表于 2018-01-15 09:53 |显示全部楼层
LLVM貌似有上补钉
记得之前bsd弄了某机制后
上百度就cpu狂跑
心想还是觉得毛毛

论坛徽章:
48
15-16赛季CBA联赛之青岛
日期:2021-01-07 13:41:2315-16赛季CBA联赛之上海
日期:2020-12-01 18:02:0720周年集字徽章-20	
日期:2020-10-28 14:14:2620周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之天津
日期:2020-10-18 22:51:412016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2015-12-22 13:30:48操作系统版块每日发帖之星
日期:2015-12-07 06:20:00操作系统版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-08-05 18:46:082015年亚洲杯之巴勒斯坦
日期:2015-04-19 10:42:502015年亚洲杯之巴林
日期:2015-04-09 08:03:23
发表于 2018-01-15 17:25 |显示全部楼层
1. 你是否了解该事件,说说您对该事件的看法和推测?(英特尔CPU出现何种bug)
   大部分做IT的这两周应该都在关注这个事件,这个不用推测,都是公告出来的东西了。主要是利用CPU设计缺陷的2个漏洞,一个叫Meltdown(熔断),对应CVE-2017-5754;另外一个是Spectre(幽灵),对应CVE-2017-5753和CVE-2017-5715。
   在下面2个地方有详细的说明:
   https://meltdownattack.com/
   https://googleprojectzero.blogsp ... mory-with-side.html
   知乎上也有不少讨论:https://www.zhihu.com/question/2 ... mputm_medium=social
   前面有不少说明了,我就不重复解释。我想说些其他的,这次的事件其实不单单是Intel的CPU有受到影响,甚至连IBM的Power 7+/8/9都有受到影响(https://www.ibm.com/blogs/psirt/ ... ssors-power-family/),IBM已经发布部分修复的firmware(见http://www-01.ibm.com/support/docview.wss?uid=isg3T1026811),在fixCentral可以找到对应产品的新固件。

2. 该问题对linux内核系统问题有哪些影响?(从第一个问题衍生对linux内核系统安全的思考,模拟攻击者滥用漏洞,进行非法手段)
   对Linux内核系统影响大的主要是Meltdown(熔断)这个漏洞,它是利用了“预测执行”的设计缺陷来实现的,可以读取Linux或Mac OS的整个物理内存和Windows的大部分物理内存,甚至是读取其他进程的物理内存(比如使用内核共享技术的Docker等,都可以读取内核或Hypervisor内存)。简单来说,利用这个漏洞,你跑在云上的虚拟机,可以被在同一个物理机运行的另外一个虚拟机入侵读取到你的虚拟机内容。这个看得恐怖了吧?这也是有些报道里说那些云提供商(比如AWS或微软的Azure)面临的压力更大。

3.如文中所提到的,单靠软件开发是否可以规避该漏洞?如果是,需要做哪些调整和改动?
  这2个漏洞是硬件设计本身导致的,单纯靠软件开发来规避的话不知道是否能完整规避该漏洞,目前了解到OS的补丁其实是牺牲性能的。可以看到IBM的Power的解决方法是包括2部分的,硬件层面固件升级,系统层面也要打补丁,而且也说明了系统补丁要生效是要求硬件固件先升级的。

下面列出一些OS厂家提供的补丁说明:
VMware: https://kb.vmware.com/s/article/52264
Redhat: https://access.redhat.com/securi ... peculativeexecution
SuSe:   https://www.suse.com/support/kb/doc/?id=7022512
Ubuntu: https://wiki.ubuntu.com/Security ... /SpectreAndMeltdown

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
发表于 2018-01-17 17:36 |显示全部楼层
本帖最后由 forgaoqiang 于 2018-01-17 18:33 编辑

另外是为什么叫这两个名字,最初都是Google Project Zero的成员报告的这两个漏洞,他们给出了解释:

Why is it called Meltdown?
The vulnerability basically melts security boundaries which are normally enforced by the hardware.
硬件实施的安全边界被融毁了,因此此漏洞叫做 熔断

Why is it called Spectre?
The name is based on the root cause, speculative execution. As it is not easy to fix, it will haunt us for quite some time.
权限问题,程序推测执行,非常难以修复,就像幽灵一样困扰我们很长一段时间。




论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
发表于 2018-01-17 18:30 |显示全部楼层
我用自己的话描述下这个漏洞的原理:

CPU因为速度非常快,等待内存数据会很缓慢,比如判断条件在内存中时,它会不等待内存过来的结果就开始执行一个分支后面代码的内容(这个就叫做 speculative execution 推测执行

内存回来后发现分支是对的那就提前一步执行了,如果不对那就回滚寄存器,走另一个分支

目前为止都没有问题,问题就在于数组读取越界(恶意程序中要读取数组的位置也作为一个变量也要从内存返回【因为CPU提前执行了,还没有检查位置是不是合法的内存位置】),这样CPU就会读取越界的内容

当然上面仍然不是问题,因为迟早会从内存返回返回,系统会判断越界,从而撤销上面的读取

关键问题在于CPU只是取消了寄存器的数据,缓存并没有撤销,因此你可以从缓存中读取越界的内存内容

报告漏洞作者给出的代码,可以看出非常的简洁
x.png

论坛徽章:
146
2015年亚洲杯之日本
日期:2015-04-28 13:32:012015年亚洲杯之朝鲜
日期:2015-05-06 10:16:442015年亚洲杯之日本
日期:2015-05-06 10:21:342015年亚洲杯纪念徽章
日期:2015-05-13 17:16:442015亚冠之北京国安
日期:2015-05-13 17:18:292015亚冠之鹿岛鹿角
日期:2015-05-13 17:19:062015亚冠之德黑兰石油
日期:2015-05-27 16:47:402015亚冠之塔什干棉农
日期:2015-05-28 15:24:122015亚冠之卡尔希纳萨夫
日期:2015-06-01 13:52:392015亚冠之柏斯波利斯
日期:2015-06-04 17:37:292015亚冠之阿尔纳斯尔
日期:2015-06-16 11:31:202015亚冠之塔什干火车头
日期:2015-06-23 10:12:33
发表于 2018-01-18 09:14 |显示全部楼层
回复 26# forgaoqiang

谢谢您持续关注,持续更新!

论坛徽章:
29
技术图书徽章
日期:2013-09-02 19:59:502015元宵节徽章
日期:2015-03-06 15:51:332015小元宵徽章
日期:2015-03-06 15:57:20操作系统版块每日发帖之星
日期:2015-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17操作系统版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之水原三星
日期:2015-10-30 00:06:07数据库技术版块每日发帖之星
日期:2015-12-24 06:20:0015-16赛季CBA联赛之上海
日期:2016-01-07 10:32:07操作系统版块每日发帖之星
日期:2016-01-08 06:20:00操作系统版块每日发帖之星
日期:2016-05-18 06:20:00IT运维版块每日发帖之星
日期:2016-07-23 06:20:00
发表于 2018-01-26 10:06 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2018-02-24 03:07 |显示全部楼层
我2008年就知道这个漏洞是怎么形成的,你们想听吗??如果想,我明天干脆告诉你们好了!

论坛徽章:
0
发表于 2018-02-24 03:08 |显示全部楼层
我看看有没有真正的高手,我给你们提个醒,这个问题出现在ANSI  C的编译器的代码和编译器构建工具集里面!

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2018-04-05 22:09 |显示全部楼层
rawa9999 发表于 2018-02-24 03:07
我2008年就知道这个漏洞是怎么形成的,你们想听吗??如果想,我明天干脆告诉你们好了!

你说说,我们听。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2018-04-05 22:12 |显示全部楼层
forgaoqiang 发表于 2018-01-17 18:30
我用自己的话描述下这个漏洞的原理:

CPU因为速度非常快,等待内存数据会很缓慢,比如判断条件在内存中 ...

C和ASM不大对的上。
*256应该是
shl rax,8
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP