admin管理员组文章数量:1564171
腾讯御安全深度解读影响全球的CPU漏洞:熔断与幽灵
【关键词:腾讯御安全,应用漏洞,应用安全】
一、漏洞背景和影响
1月4日,国外安全研究机构公布了两组CPU漏洞:
Meltdown(熔断),对应漏洞CVE-2017-5754;
Spectre(幽灵),对应漏洞CVE-2017-5753/CVE-2017-5715。
由于漏洞严重而且影响范围广泛,引起了全球的关注。利用Meltdown漏洞,低权限用户可以访问内核的内容,获取本地操作系统底层的信息;当用户通过浏览器访问了包含Spectre恶意利用程序的网站时,用户的如帐号,密码,邮箱等个人隐私信息可能会被泄漏;在云服务场景中,利用Spectre可以突破用户间的隔离,窃取其他用户的数据。Meltdown漏洞影响几乎所有的Intel CPU和部分ARM CPU,而Spectre则影响所有的Intel CPU和AMD CPU,以及主流的ARM CPU。从个人电脑、服务器、云计算机服务器到移动端的智能手机,都受到这两组硬件漏洞的影响。
这两组漏洞来源于芯片厂商为了提高CPU性能而引入的新特性。现代CPU为了提高处理性能,会采用乱序执行(Out-of-Order Execution)和预测执行(SpeculativePrediction)。乱序执行是指CPU并不是严格按照指令的顺序串行执行,而是根据相关性对指令进行分组并行执行,最后汇总处理各组指令执行的结果。预测执行是CPU根据当前掌握的信息预测某个条件判断的结果,然后选择对应的分支提前执行。乱序执行和预测执行在遇到异常或发现分支预测错误时,CPU会丢弃之前执行的结果,将 CPU的状态恢复到乱序执行或预测执行前的正确状态,然后选择对应正确的指令继续执行。这种异常处理机制保证了程序能够正确的执行,但是问题在于,CPU恢复状态时并不会恢复CPU缓存的内容,而这两组漏洞正是利用了这一设计上的缺陷进行测信道攻击。
二、漏洞原理解析
1、Meltdown漏洞原理
乱序执行可以简单的分为三个阶段,如下图所示:
每个阶段执行的操作如下:
1)获取指令,解码后存放到执行缓冲区Reservations Stations
2)乱序执行指令,结果保存在一个结果序列中
3)退休期Retired Circle,重新排列结果序列及安全检查(如地址访问的权限检查),提交结果到寄存器
结合Meltdown利用的代码片段来看:
; rcx = kernel address
; rbx = probe array
1 mov al, byte [rcx]
2 shl rax, 0xc
3 mov rbx, qword [rbx +rax]
Meltdown漏洞的利用过程有4个步骤:
1) <
版权声明:本文标题:腾讯御安全深度解读影响全球的CPU漏洞:熔断与幽灵 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727267114a1105624.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论