Chinaunix
标题: 【大话IT】如何看待最近爆出的Intel CPU设计漏洞? [打印本页]
作者: 王楠w_n 时间: 2018-01-03 17:15
标题: 【大话IT】如何看待最近爆出的Intel CPU设计漏洞?
恭喜获奖的小伙伴!!ylky_2000、kangtian、lsstarboy、JAY6501532、lbseraph
话题背景:
北京时间1月3日早间消息,由于英特尔处理器存在一个底层设计缺陷,迫使Linux和Windows内核需要展开重大的重新设计,以便消除芯片层面的安全漏洞。程序员都在正在加紧检修开源Linux内核的虚拟内存系统。
一位博客名为Python Sweetness的软件开发人员周一发表了一篇竞相转载和转推的文章,他在文中表示,这个缺陷会影响各大云计算环境,包括亚马逊EC2、微软Azure和谷歌计算引擎。
目前一个被下禁令的安全缺陷在影响显然所有实现虚拟内存的现代英特尔CPU架构,需要改动硬件才能彻底解决问题。外面正在开展紧急开发软件缓解措施的工作,这方面的成果最近进入到了Linux内核;去年11月,类似的缓解措施开始出现在NT内核中。在最糟糕的情况下,软件修复程序会导致典型的工作负载出现大幅减速。
有人暗示,这个攻击影响常见的虚拟化环境,包括亚马逊EC2和谷歌计算引擎……
亚马逊网络服务(AWS)也通过电子邮件警告客户,预计本周五发布重大的安全更新,但没有透露细节。
本次话题,我们就该问题展开讨论。
讨论问题:
1. 你是否了解该事件,说说您对该事件的看法和推测?(英特尔CPU出现何种bug)
2. 该问题对linux内核系统问题有哪些影响?(从第一个问题衍生对linux内核系统安全的思考,模拟攻击者滥用漏洞,进行非法手段)
3.如文中所提到的,单靠软件开发是否可以规避该漏洞?如果是,需要做哪些调整和改动?
活动时间:2018年1月3日—17日
活动奖励:
活动结束后,我们会选取5位推理精准的同学,送社区技术图书
作者: 王楠w_n 时间: 2018-01-04 08:49
该问题讨论均来自CU版主群:
白金:
https://www.zhihu.com/question/265012502/answer/288199200
Intel 这个问题:
- 描述:Intel 芯片级漏洞导致 ASLR 等地址随机化防御手段失效,完成基址泄露,从而能够完成本地权限提升。
- 影响范围:目前消息未透露具体型号,但历史版本应该均受影响
- 修复方案:OS 层补丁
- linux: https://github.com/torvalds/linu ... 92b6c3c917c8080a9bf
- 不过从 Commit 来看好像只影响 x86
- Windows: N/A
- 备注:修复的话 OS 层补丁相关性能可能将损耗 5%~30% ,不修复有可能导致内存地址泄露被提权。
据说去年 aws 已经开推了补丁,但性能会损耗20%左右。
作者: 王楠w_n 时间: 2018-01-04 08:50
bjchenxu:
https://newsroom.intel.com/news/ ... -research-findings/
作者: 王楠w_n 时间: 2018-01-04 08:50
Cryboy2001:
发现了就是漏洞,没发现就是后门。
作者: 王楠w_n 时间: 2018-01-04 08:51
cugb_cat:
现在有没有可以利用这个漏洞的代码?
作者: fenyun689 时间: 2018-01-04 10:04
看新闻,大概了解这个事,关于内存地址访问的问题, 可以通过操作系统软件解决这个这个问题,但是影响性能。
这次影响巨大,使用inter芯片的厂家挺多,三大操作系统都要升级。升级后性能还会大幅下降。
硬件和软件一样都会出bug。软件可以升级修复,硬件没法升级修复。
给业界有个重大启示。鸡蛋不能放到一个篮子里。也体现出AMD存在的价值。
作者: shang2010 时间: 2018-01-04 13:29
简单说,intel现在遭到韩国三星电子的严重挑战、
最近两年,intel经常遭遇漏洞后门事件,而且略显周期性,不可不怀疑背后是否有一种巧合阴谋
——我的意思,或许三星电子是背后的大庄家
intel最近市场也慢慢输给三星,,,感觉十多年前,一位伟大的ceo退役后,曾经的巨头正在失去市场的敏锐的嗅觉和方向——这世界上只有利润最好的领域才会吸引最顶尖的人才参与竞争。
作者: shang2010 时间: 2018-01-04 13:29
本帖最后由 shang2010 于 2018-01-04 13:32 编辑
背后或许是一场大阴谋
最近几年intel正在失去市场,这个关口上,还周期性出现漏洞后门事件,我认为intel正处于雪上加霜的境地。而对面的赢家正式来自默默崛起的巨头,韩国三星电子。我的意思,周期性漏洞后门事件,或许来自这家大户的背后赞助。
作者: shang2010 时间: 2018-01-04 13:41
编辑怎么回事啊,我再补充一点,巨头之中谷歌和三星走得挺进的
作者: aloki 时间: 2018-01-04 14:25
1. 你是否了解该事件,说说您对该事件的看法和推测?(英特尔CPU出现何种bug)
我了解该事件,一开始我觉得是Intel这个猪队友把Windows、Linux和苹果给坑了,但今天又看到新的消息说google zero team经过测试发现Intel,AMD,ARM竟然全部中招。恐怕这是计算机体系结构发展史上最大安全漏洞之一。
2. 该问题对linux内核系统问题有哪些影响?(从第一个问题衍生对linux内核系统安全的思考,模拟攻击者滥用漏洞,进行非法手段)
据了解,这一缺陷存在于英特尔过去十年生产的处理器中,攻击者可通过这一漏洞深入到内核访问内存内容。要知道内核的内存空间中包含用户的各种密码,登陆密匙,磁盘缓存文件等。
看了一下代码,是比较低级但是致命的错误,主要有两个:
1. 因为speculative execution被load进入cache的数据,cancel了之后没有invalidate掉,导致被后继代码利用,可以dump出来speculative state的数据
2. BTB,cache set等处的xor hash比较弱,容易被逆向 其中第一个点最致命,最后的效果就是从kvm root guest里面读取host memory
3.如文中所提到的,单靠软件开发是否可以规避该漏洞?如果是,需要做哪些调整和改动?
这是芯片缺陷反映到操作系统层面的bug,真正的逻辑硬件bug到底是啥还有待公布。此漏洞是芯片级硬件漏洞,单靠通过微代码更新无法弥补,而是需要操作系统厂商一同来修补。
解决方法就是,使用所谓的内核页表隔离(KPTI)功能,将内核的内存与用户进程完全分离开来。Linux内核开发团队一度考虑过Forcefully Unmap Complete Kernel With Interrupt Trampolines(又名FUCKWIT),让你了解这个问题对开发人员来说有多烦人。
只要运行中的程序需要执行任何有用的操作,比如写入到文件或建立网络连接,它就要暂时将处理器的控制权交给内核以便执行任务。
为了尽可能快速而高效地从用户模式切换到内核模式,再切换回到用户模式,内核存在于所有进程的虚拟内存地址空间中,不过这些程序看不见内核。需要内核时,程序进行系统调用,处理器切换到内核模式,进入内核。
完成后,CPU被告知切换回到用户模式,重新进入进程。在用户模式下,内核的代码和数据依然看不见,但存在于进程的页表中。
作者: laputa73 时间: 2018-01-05 20:32
新闻说intel,amd,arm都存在这个漏洞, 是指令预测的漏洞.
这下没得可选,全部中招.
作者: heguangwu 时间: 2018-01-05 21:14
从新闻获得的信息是这个是硬件的漏洞,可能是架构设计时的不合理
一般来说,硬件漏洞可以通过软件避开,通过修改绕开有缺陷但指令集
20%的性能损失感觉不能接受啊,对云平台公司来说简直就是噩梦,个人电脑其实可以避开不升级,反正也没重要对东西,我对疑问是ARM也有这个漏洞,那么手机会不会影响?
作者: lsstarboy 时间: 2018-01-07 18:48
很有道理啊,我也是这个感觉。
前几年不是据说美国要求放后门嘛?
作者: kangtian 时间: 2018-01-09 14:51
1. 你是否了解该事件,说说您对该事件的看法和推测?(英特尔CPU出现何种bug)
据我了解:问题出在“乱序执行”上。乱序执行是现代处理器的重要特征,所以intel、amd、arm的产品都未幸免。只不过intel的问题更棘手一些。
2. 该问题对linux内核系统问题有哪些影响?(从第一个问题衍生对linux内核系统安全的思考,模拟攻击者滥用漏洞,进行非法手段)
按照我的理解:系统进程本来被隔离在各自的“时空”中,只有通过内核才能“互通有无”。而利用这次爆出的硬件漏洞,进程可以“穿越”了。
3.如文中所提到的,单靠软件开发是否可以规避该漏洞?如果是,需要做哪些调整和改动?
这个问题已经超出我的知识范围了。
作者: u11 时间: 2018-01-09 16:44
up up up ε=(′ο`*)))唉
作者: lsstarboy 时间: 2018-01-10 16:10
1. 你是否了解该事件,说说您对该事件的看法和推测?(英特尔CPU出现何种bug)
一直关注这个漏洞,历史上Intel的处理器出过好几次安全问题,但是大多数影响都不大,比如以前的PIII的sn和FDIV漏洞,还有最近的AMT漏洞。PIII有漏洞的时候,信息产业还不是那么发达,电脑还是一个奢侈品,所以只影响到很少了一部分人,危机很快就过过了;而AMT漏洞正常情况需要物理上的连接,所以对一般人来说影响也不大。而这次的“融断”和“幽灵”漏洞,一方面正值AMD大肆推广Ryzen处理器的关键点;另一方面这次影响最大的是各虚拟行业,各个云基本上都受到了影响,并且大多数云服务器都需要重启,阿里和腾讯都已经发布了声明。这个影响是比较大的。
但是国内的这几个云服务商应该是收了封口费,否则面对大众性能到底会不会下降的疑问,这几家大的公司一直没有回应。网上传的性能问题的文章,基本上清一色是AWS的。
三个(其中两个是同一名字)漏洞,目前看还没有相应的攻击病毒/木马,但是估计很快就会有的,毕竟CPU的基数太大,能打补丁的是很少的一部分。
对于网上流传的补丁导致性能下降,可以大致推论出:
第一、主要影响的内核到用户态转换的程序,比如磁盘和网络,需要频繁在内核态和用户态复制数据的应用,受影响最大。
网上流传的是数据库受影响最大,但是估计一些网络服务器,比如X86的NAT服务器和防火墙,受影响也应该比较大,但是这个领域中的x86应该比较少,再加上都是专用的系统,想打个补丁都比较难,所以报道出来的消息极少。
但是这几年有个netmap的技术,还有intel的DPDK,仅仅跑在用户态,估计性能受影响也不大。
第二、安全方面,影响最大的是虚拟化领域。特别是Spectre漏洞,可能拿到内核数据的权限,这使得本来应该在虚拟机中运行的的程序,可以拿到虚拟机外的数据。并且虚拟机技术一般还有一个共同的特点:虚拟机系统共享同一段资源,包括同一个pid,同一段内存等,这使得非法程序更容易获取一些信息。需要注意的是虚拟机应用不仅指VM方面的应用,比如Vmware、VirtualBox之类的系统,还包括java,javascript等应用,所以个人用户也需要打补丁,否则浏览器的安全将是一个大的问题。
另外我本人对安卓这种使用java虚拟机的应用比较担心。
第三、从Windows操作系统上看,Win10之类的系统内核较新,受影响应该小一些,但是win7打上补丁后,性能下降可能会严重一些。
2. 该问题对linux内核系统问题有哪些影响?(从第一个问题衍生对linux内核系统安全的思考,模拟攻击者滥用漏洞,进行非法手段)
Linux内核的开发的很大一部分是由贡献者贡献的,而最大的贡献者就是Intel。看了几篇文章,好像是Intel发现问题后,偷偷地提交了补丁,但是没有明示,因此Linus还发了一大通脾气。
我个人认为,Intel不会公开所有的硬件信息,所以Intel的人员在写了相关代码时可能不会去解释代码的具体含义,导致其他开发人员有时候并不一定了解修改代码的背景,这造成了信息的不对等。
其他的开源系统,比如BSD,一般是参照Linux的代码来进行修改。目前DragonflyBSD已经明确修改完成,其他几个正在跟进中。
至于安全性,我认为黑客很快就能根据网上的信息,以及这些代码来做出工具,开源在某些方面也是弱势。
3.如文中所提到的,单靠软件开发是否可以规避该漏洞?如果是,需要做哪些调整和改动?
应该不可以,内核态的权限太大了,一个程序可以做到自己不去读内核态的东西,但是不能保证不被内核读取。
作者: JAY6501532 时间: 2018-01-11 12:56
国内的这几个云服务商应该是收了封口费,否则面对大众性能到底会不会下降的疑问,这几家大的公司一直没有回应。网上传的性能问题的文章,基本上清一色是AWS的。
三个(其中两个是同一名字)漏洞,目前看还没有相应的攻击病毒/木马,但是估计很快就会有的,毕竟CPU的基数太大,能打补丁的是很少的一部分。
www.jgwltx.com intel x860 服务器
作者: ALENG_LINUX 时间: 2018-01-12 10:26
回复 4# 王楠w_n
这个答案我考试的时候答道是不是得加分呢
作者: james90404 时间: 2018-01-15 09:53
LLVM貌似有上补钉
记得之前bsd弄了某机制后
上百度就cpu狂跑
心想还是觉得毛毛
作者: lbseraph 时间: 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
作者: forgaoqiang 时间: 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.
权限问题,程序推测执行,非常难以修复,就像幽灵一样困扰我们很长一段时间。
作者: forgaoqiang 时间: 2018-01-17 18:30
我用自己的话描述下这个漏洞的原理:
CPU因为速度非常快,等待内存数据会很缓慢,比如判断条件在内存中时,它会不等待内存过来的结果就开始执行一个分支后面代码的内容(这个就叫做 speculative execution 推测执行)
内存回来后发现分支是对的那就提前一步执行了,如果不对那就回滚寄存器,走另一个分支
目前为止都没有问题,问题就在于数组读取越界(恶意程序中要读取数组的位置也作为一个变量也要从内存返回【因为CPU提前执行了,还没有检查位置是不是合法的内存位置】),这样CPU就会读取越界的内容
当然上面仍然不是问题,因为迟早会从内存返回返回,系统会判断越界,从而撤销上面的读取
关键问题在于CPU只是取消了寄存器的数据,缓存并没有撤销,因此你可以从缓存中读取越界的内存内容
报告漏洞作者给出的代码,可以看出非常的简洁
作者: 王楠w_n 时间: 2018-01-18 09:14
回复 26# forgaoqiang
谢谢您持续关注,持续更新!
作者: Hongqiyaodao 时间: 2018-01-26 10:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: rawa9999 时间: 2018-02-24 03:07
我2008年就知道这个漏洞是怎么形成的,你们想听吗??如果想,我明天干脆告诉你们好了!
作者: rawa9999 时间: 2018-02-24 03:08
我看看有没有真正的高手,我给你们提个醒,这个问题出现在ANSI C的编译器的代码和编译器构建工具集里面!
作者: yulihua49 时间: 2018-04-05 22:09
你说说,我们听。
作者: yulihua49 时间: 2018-04-05 22:12
C和ASM不大对的上。
*256应该是
shl rax,8
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) |
Powered by Discuz! X3.2 |