【大话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位推理精准的同学,送社区技术图书
该问题讨论均来自CU版主群:
白金:
https://www.zhihu.com/question/265012502/answer/288199200
Intel 这个问题:
- 描述:Intel 芯片级漏洞导致 ASLR 等地址随机化防御手段失效,完成基址泄露,从而能够完成本地权限提升。
- 影响范围:目前消息未透露具体型号,但历史版本应该均受影响
- 修复方案:OS 层补丁
- linux: https://github.com/torvalds/linux/commit/5aa90a84589282b87666f92b6c3c917c8080a9bf
- 不过从 Commit 来看好像只影响 x86
- Windows: N/A
- 备注:修复的话 OS 层补丁相关性能可能将损耗 5%~30% ,不修复有可能导致内存地址泄露被提权。
据说去年 aws 已经开推了补丁,但性能会损耗20%左右。 bjchenxu:
https://newsroom.intel.com/news/intel-responds-to-security-research-findings/ Cryboy2001:
发现了就是漏洞,没发现就是后门。 cugb_cat:
现在有没有可以利用这个漏洞的代码? 看新闻,大概了解这个事,关于内存地址访问的问题, 可以通过操作系统软件解决这个这个问题,但是影响性能。
这次影响巨大,使用inter芯片的厂家挺多,三大操作系统都要升级。升级后性能还会大幅下降。
硬件和软件一样都会出bug。软件可以升级修复,硬件没法升级修复。
给业界有个重大启示。鸡蛋不能放到一个篮子里。也体现出AMD存在的价值。 简单说,intel现在遭到韩国三星电子的严重挑战、
最近两年,intel经常遭遇漏洞后门事件,而且略显周期性,不可不怀疑背后是否有一种巧合阴谋
——我的意思,或许三星电子是背后的大庄家
intel最近市场也慢慢输给三星,,,感觉十多年前,一位伟大的ceo退役后,曾经的巨头正在失去市场的敏锐的嗅觉和方向——这世界上只有利润最好的领域才会吸引最顶尖的人才参与竞争。 本帖最后由 shang2010 于 2018-01-04 13:32 编辑
背后或许是一场大阴谋
最近几年intel正在失去市场,这个关口上,还周期性出现漏洞后门事件,我认为intel正处于雪上加霜的境地。而对面的赢家正式来自默默崛起的巨头,韩国三星电子。我的意思,周期性漏洞后门事件,或许来自这家大户的背后赞助。
编辑怎么回事啊,我再补充一点,巨头之中谷歌和三星走得挺进的 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内核开发团队一度考虑过ForcefullyUnmapCompleteKernelWithInterrupt Trampolines(又名FUCKWIT),让你了解这个问题对开发人员来说有多烦人。
只要运行中的程序需要执行任何有用的操作,比如写入到文件或建立网络连接,它就要暂时将处理器的控制权交给内核以便执行任务。
为了尽可能快速而高效地从用户模式切换到内核模式,再切换回到用户模式,内核存在于所有进程的虚拟内存地址空间中,不过这些程序看不见内核。需要内核时,程序进行系统调用,处理器切换到内核模式,进入内核。
完成后,CPU被告知切换回到用户模式,重新进入进程。在用户模式下,内核的代码和数据依然看不见,但存在于进程的页表中。