安全研究人员在零号项目上发布了一个名为Spectre and Meltdown的新漏洞,该漏洞使程序可以从其他程序的内存中窃取信息。它会影响英特尔,AMD和ARM体系结构。
可以通过访问JavaScript网站来远程利用此缺陷。技术细节上可以找到redhat的网站,Ubuntu的安全团队。
通过推测性执行侧通道攻击的信息泄漏(CVE-2017-5715,CVE-2017-5753,CVE-2017-5754亦称为Spectre and Meltdown)
人们发现,一类新型的边信道攻击会影响大多数处理器,包括Intel,AMD和ARM的处理器。该攻击允许恶意用户空间进程读取内核内存,并允许来宾中的恶意代码读取虚拟机监控程序内存。为解决此问题,将需要更新Ubuntu内核和处理器微代码。这些更新将在以后的《 Ubuntu安全公告》中宣布。
作为概念验证,编写了JavaScript代码,该代码在Google Chrome浏览器中运行时允许JavaScript从其运行过程中读取私有内存。
我的系统似乎受到幽灵漏洞的影响。我已经编译并执行了这个概念证明(spectre.c
)。
系统信息:
$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
如何缓解Linux系统上的Spectre和Meldown漏洞?
进一步阅读:使用Meltdown实时窃取密码。
更新资料
@Carlos Pasqualini回答Spectre & Meltdown Checker
之后,请使用之后切换到4.9.0-5
内核版本的原因,因为可以使用安全更新来缓解debian Stretch上的cve-2017-5754:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70)
> STATUS: VULNERABLE (heuristic to be improved when official patches become available)
CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: NO
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
更新2018年1月25日
该spectre-meltdown-checker
脚本由debian正式打包,可通过backports仓库,Buster和Sid用于Debian Stretch 。
推测存储绕过(SSB)–也称为变体4
在已知所有先前存储器写入的地址之前具有利用存储器读取的推测执行和推测执行的微处理器的系统可以允许通过副信道分析通过本地用户访问向攻击者未经授权地公开信息。
流氓系统寄存器读取(RSRE)–也称为变体3a
具有利用推测性执行并且推测性读取系统寄存器的微处理器的系统可以允许通过侧信道分析通过本地用户访问向攻击者未经授权地泄露系统参数。
编辑2018年7月27日
在本文中,我们介绍了NetSpectre,这是一种基于Spectre变体1的新攻击,不需要目标设备上的攻击者控制代码,从而影响数十亿设备。与本地Spectre攻击类似,我们的远程攻击要求目标代码中存在Spectre小工具。我们显示,可以通过我们的通用远程Spectre攻击来攻击在裸露的网络接口或API中包含所需Spectre小工具的系统,从而允许通过网络读取任意内存。攻击者仅向受害者发送一系列精心设计的请求,并测量响应时间以从受害者的内存中泄漏秘密值。