关于这波 Intel CPU 漏洞,我见过最形象易懂的解释

简介: 用户级别权限的应用可以利用此漏洞访问到系统级别的内存。也就是说,一个普通程序,有可能拿到你电脑里的各种敏感信息,比如你的各种账号密码等。

科技圈炸了!


2018年1月2日,Intel CPU 被爆出设计漏洞。AMD 和 ARM 芯片也有一定程度的影响。


漏洞带来的影响主要是:


  1. 用户级别权限的应用可以利用此漏洞访问到系统级别的内存。也就是说,一个普通程序,有可能拿到你电脑里的各种敏感信息,比如你的各种账号密码等。
  2. 这个漏洞是因芯片最初的设计造成的,目前的补救方法只能通过操作系统级别的补丁来修复。所以最近请及时安装系统更新。
  3. 系统补丁会对芯片性能带来不少下降,据目前测试下来约5%~30%。IO性能尤为明显。现在只能说,两害相较取其轻了。

由于是芯片设计级别的漏洞,因此目前存在市面上的决大多数电脑、手机都遭受波及。而受影响最大的,就是AWS、AZure、GAE、阿里云等云服务提供商了,估计近期都会进行重大更新。

而造成这么严重问题的原因到底是什么?

尽量简单来说:


  1. 计算机的数据都存储在内存中,但不允许随便访问。你访问了超过权限的内存,操作就会被拒绝。
  2. 程序是由大量指令组成的,为了提升执行效率,芯片会通过一定的机制,在前面指令还在等待的时候就执行后面的指令。
  3. 内存访问是需要耗时间的,为了提升性能,就有了『缓存』这种比内存更快的东西。之前访问过的内存内容会进入缓存,以便下次更快访问。

这个漏洞的核心就在于:故意制造一个非法的数据访问,由于①的存在,此操作会被拒绝。但可以利用芯片的机制②去创造条件,让它在还没被拒绝时提前执行。又因为③的效果,相关的数据可以借助缓存的特性留下痕迹。虽然最终这个操作还是会被拒绝,但通过分析不同地址的访问快慢,就可以反推出真实的敏感数据。

漏洞利用效果演示:



可以看到,你输入的密码可以被其他程序所获取。

关于此漏洞的技术细节、影响和后续更新,大家可以关注知乎上的问题:

如何看待 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 上发帖提问
  • 点击文章最下方的“阅读原文”,查看更多学习资源
  • 别忘了将我们的文章转发朋友圈或在知乎上为我们的专栏点赞,你们的支持将会让编程教室做得更好:)


推荐阅读:

微信小游戏“跳一跳”,Python“外挂”已上线

平安夜,Python送你一顶圣诞帽 @微信官方

Python老司机给上路新手的3点忠告

【数据说话】当下的Python就业前景如何

Python有嘻哈:Crossin教你用代码写出押韵的verse

编程新手:看懂很多示例,却依然写不好一个程序

给伸手党的福利:Python 新手引导

相关文章
|
存储 缓存
百度搜索:蓝易云 ,CPU、内存、缓存的关系详细解释!
总结起来,CPU、内存和缓存之间的关系可以概括为:CPU是计算机的处理器,内存是用于存储数据的设备,缓存则是位于CPU和内存之间的高速存储器,用于提高数据的读取速度。它们共同协作,以提供高效的计算机性能。
105 0
|
存储 弹性计算 编解码
阿里云ECS服务器g7、c7和r7处理器CPU采用Intel Xeon(Ice Lake) Platinum 8369B
阿里云第七代云服务器ECS计算型c7、通用型g7和内存型r7实例,CPU处理器采用2.7 GHz主频的Intel Xeon(Ice Lake) Platinum 8369B,全核睿频3.5 GHz,计算性能稳定。c7、g7和r7区别CPU内存比,阿里云服务器网来详细说下阿里云第七代云服务器c7、g7和r7实例CPU性能评测:
338 0
|
弹性计算
阿里云Intel Xeon(Sapphire Rapids) Platinum 8475B处理器CPU基频2.7 GHz,全核睿频3.2 GHz
阿里云Intel Xeon(Sapphire Rapids) Platinum 8475B处理器CPU基频2.7 GHz,全核睿频3.2 GHz
522 0
阿里云Intel Xeon(Sapphire Rapids) Platinum 8475B处理器CPU基频2.7 GHz,全核睿频3.2 GHz
|
存储 弹性计算 编解码
阿里云CPU服务器c7、g7和r7处理器Intel Xeon(Ice Lake) Platinum 8369B
阿里云第七代云服务器ECS计算型c7、通用型g7和内存型r7实例,CPU处理器采用2.7 GHz主频的Intel Xeon(Ice Lake) Platinum 8369B,全核睿频3.5 GHz,计算性能稳定。c7、g7和r7区别CPU内存比,阿里云服务器网来详细说下阿里云第七代云服务器c7、g7和r7实例CPU性能评测:
378 0
|
存储 弹性计算 安全
阿里云CPU处理器Intel Xeon(Ice Lake) Platinum 8369B
阿里云服务器CPU处理器Intel Xeon(Ice Lake) Platinum 8369B,基频2.7 GHz,全核睿频3.5 GHz,计算性能稳定。目前阿里云第七代云服务器ECS计算型c7、ECS通用型g7、内存型r7等规格均采用该款CPU
418 0
|
弹性计算
阿里云CPU服务器Intel Xeon(Sapphire Rapids) Platinum 8475B
阿里云服务器CPU处理器Intel Xeon(Sapphire Rapids) Platinum 8475B,基频2.7 GHz,全核睿频3.2 GHz,Intel Xeon第四代处理器,目前[云服务器ECS通用型g8i、计算型c8i和内存型r8i](https://www.aliyun.com/product/ecs?source=5176.11533457&userCode=r3yteowb)均采用这款CPU处理器。
453 0
|
8天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
|
16天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
191 2
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
128 5
|
1月前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
41 0