科技圈炸了!
2018年1月2日,Intel CPU 被爆出设计漏洞。AMD 和 ARM 芯片也有一定程度的影响。
漏洞带来的影响主要是:
- 用户级别权限的应用可以利用此漏洞访问到系统级别的内存。也就是说,一个普通程序,有可能拿到你电脑里的各种敏感信息,比如你的各种账号密码等。
- 这个漏洞是因芯片最初的设计造成的,目前的补救方法只能通过操作系统级别的补丁来修复。所以最近请及时安装系统更新。
- 系统补丁会对芯片性能带来不少下降,据目前测试下来约5%~30%。IO性能尤为明显。现在只能说,两害相较取其轻了。
由于是芯片设计级别的漏洞,因此目前存在市面上的决大多数电脑、手机都遭受波及。而受影响最大的,就是AWS、AZure、GAE、阿里云等云服务提供商了,估计近期都会进行重大更新。
而造成这么严重问题的原因到底是什么?
尽量简单来说:
- 计算机的数据都存储在内存中,但不允许随便访问。你访问了超过权限的内存,操作就会被拒绝。
- 程序是由大量指令组成的,为了提升执行效率,芯片会通过一定的机制,在前面指令还在等待的时候就执行后面的指令。
- 内存访问是需要耗时间的,为了提升性能,就有了『缓存』这种比内存更快的东西。之前访问过的内存内容会进入缓存,以便下次更快访问。
这个漏洞的核心就在于:故意制造一个非法的数据访问,由于①的存在,此操作会被拒绝。但可以利用芯片的机制②去创造条件,让它在还没被拒绝时提前执行。又因为③的效果,相关的数据可以借助缓存的特性留下痕迹。虽然最终这个操作还是会被拒绝,但通过分析不同地址的访问快慢,就可以反推出真实的敏感数据。
漏洞利用效果演示:
可以看到,你输入的密码可以被其他程序所获取。
关于此漏洞的技术细节、影响和后续更新,大家可以关注知乎上的问题:
『如何看待 2018 年 1 月 2 日爆出的 Intel CPU 设计漏洞?』
@楼宇
https://www.zhihu.com/question/265012502/answer/288239171
@Allen Leung
https://www.zhihu.com/question/265012502/answer/288199200
@dontpanic
https://www.zhihu.com/question/265012502/answer/288407097
NGA社区上的一篇帖子也解释的相当清楚,适合有计算机基础的同学了解:
[农企日常翻身] 专业角度说说这次的CPU漏洞,从原理到答疑
https://bbs.ngacn.cc/read.php?tid=13191205
看完详细的解释,不禁感叹漏洞利用之精妙,相比之下那些黑客电影中的桥段都黯然失色。
而在这篇帖子下面的评论里,我看到了本文标题所说,最形象易懂的解释:
- 代码问题请在论坛 bbs.crossincode.com 上发帖提问
- 点击文章最下方的“阅读原文”,查看更多学习资源
- 别忘了将我们的文章转发朋友圈或在知乎上为我们的专栏点赞,你们的支持将会让编程教室做得更好:)
推荐阅读: