Meltdown 和 Spectre 来袭,你的机器还好吗?

2018年1月5日 2.07k 次阅读 1 条评论

元旦之后的第一个工作日可谓是惊喜不断,4号就传来了 Google Project Zero 等团队和个人报告的 Meltdown 和 Spectre 内核漏洞的消息,首先简单介绍一下这两个内核漏洞。

漏洞介绍

Meltdown 打破了用户应用程序和操作系统之间最基本的隔离,这种攻击允许程序访问其他程序和操作系统的内存。

Spectre 打破了不同应用程序之间的隔离,它允许攻击者欺骗遵循完美运行的程序泄露它的所有数据。事实上,完美运行的程序进行安全检查实际上会增加攻击面,并可能使应用程序更容易受到 Spectre 的影响。

影响范围

哪些系统受到 Meltdown 的影响?

台式机,笔记本电脑,云服务器都可能会受到 Meltdown 的影响。从技术上讲,每个使用英特尔处理器的机器都可能受到影响,目前只是成功在2011年发布的英特尔处理器上测试了 Meltdown,还不清楚 ARM 和 AMD 处理器是否也受到影响。

哪些系统受到 Spectre 的影响?

台式机,笔记本电脑,云服务器以及智能手机都可能会受到 Spectre 的影响。更具体地说,能够保持许多指令在飞行中的所有现代处理器都可能是脆弱的。特别是,我们在Intel,AMD和ARM处理器上验证了Spectre。

哪家云提供商受到 Meltdown 的影响?

使用 Intel CPU 和没有补丁的 Xen PV 作为虚拟化的云提供商将会受到影响。

漏洞验证

根据 Spectre 报告的 POC,以及 ErikAugust 提供的验证例子,三哥这里在使用 Intel 处理器的 Debian 64位操作系统实验环境下进行测试。

示例中首先在内存中申请一段空间,写入如下字符串:

char * secret = "The Magic Words are Squeamish Ossifrage.";

然后设置高速缓存命中阈值为200,这里根据CPU不同也有所不同,多次尝试获取最佳值:

#define CACHE_HIT_THRESHOLD (200)

$ uname -a

Linux debian 4.14.0-2-amd64 #1 SMP Debian 4.14.7-1 (2017-12-22) x86_64 GNU/Linux

$ lscpu

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               60
Model name:          Intel(R) Core(TM) i5-4210M CPU @ 2.60GHz
Stepping:            3
BogoMIPS:            5188.36
Virtualization:      VT-x

回显结果

漏洞修复

截止目前,微软已经推出了临时修复补丁 KB4056982,升级后系统版本号迭代到 Build 16299.192。不过,Spectre 由于复杂度更高、极为顽固,暂时还无解,修复正在进行中。

Vtrois

没有天生的高手,更没有永远的菜鸟!

  1. 狂放说道:

    好像微软没给XP补丁来着,中国人哭晕在厕所

发表评论

在发表评论前请确认您的言论中没有违反中国各项法律、法规和违背社会道德的内容。任何无意义的留言内容都会被直接删除。