SURFSRC|【漏洞预警】Intel CPU芯片漏洞分析及修复措施
发布时间:2018-01-05  信息来源:任子行

1、漏洞概述

 

201813Google Project Zero 团队成员 Jann Horn 在博客中披露了英特尔等处理器芯片基础架构中存在一个非常严重的安全漏洞。该漏洞存在2种攻击方式 Spectre  Meltdown.

漏洞描述

Meltdown 攻击:

CVE-2017-5754 — 边界检测绕过

 

Spectre 攻击:

CVE-2017-5715 -- 分支目标注入

CVE-2017-5753 -- 恶意数据缓存加载

影响范围

处理器芯片:英特尔为主、ARMAMD也受影响,AMD 芯片受到的影响较小。

操作系统:WindowsLinuxmacOSAndroid 等。

云服务提供商:亚马逊、微软、谷歌、腾讯云、阿里云等;

各种私有云基础设施。

危害

Meltdown攻击允许用户态攻击内核态,造成内核信息泄露。

Spectre攻击可导致一个应用可以突破自己的沙盒限制,获取其他应用的信息。

 

3、漏洞说明

 

CPU 在设计过程中考虑到优化执行效率增加了分支预测、乱序执行等技术,这些优化技术可以估计即将执行的指令,采用预先计算、预先加载内存数据到 CPU cache 来加快整个处理过程。如果指令最终没有被执行,CPU 可以回滚到之前的状态,这种设计从安全的角度考虑存在被攻击的风险。

攻击者通过创建一些指令在 CPU 回滚的时间窗口进行攻击,根据每条指令执行的时间差做测信道攻击。典型的攻击场景,可以用来预测内核 KASLR 防护。Google Blog中提到的边界检查绕过(CVE-2017-5753),分支目标注入(CVE-2017-5715), 恶意数据缓存加载(CVE-2017-5754)

 

4、漏洞修复

 

Windows

微软发布了几个更新来缓解这些漏洞,建议用户在安装操作系统或固件更新之前,请确认防病毒应用程序对其兼容,并且建议用户应用所有可用的Windows操作系统更新,包括20181月的Windows安全更新。详情见:

https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

Linux 

目前Linux内核开发人员已经发布了针对Meltdown攻击方式的补丁,详情见:

https://lwn.net/Articles/738975/

MacOS

苹果已经在macOS 10.13.2上对此类芯片漏洞进行了修复,采用了牺牲性能的针对用户态使用两次映射的方式来解决该问题。并号称10.13.3上有更好的解决方案。另外iOSA*系列芯片暂时还不受这类漏洞的影响。

Android

Google部分产品已经针对这些攻击方式做出了修补,但是在部分情况下还需要用户采取额外的步骤确保产品受保护,针对安卓也将在15日推出补丁更新以限制对ARM处理器的所有已知变种攻击。详情见:

https://support.google.com/faqs/answer/7622138