CERNET之窗 | CCERT月报:CPU部分补丁程序存缺陷 或导致系统异常
近期通用CPU处理器内核被爆出多个安全漏洞,这些漏洞允许用户绕过芯片及系统的安全设置去读取任意内核中的数据,由于是CPU层级的漏洞,这些漏洞理论上影响所有使用通用CPU的操作系统和软件。对于物理单机操作系统来说,利用该漏洞低权限的用户可以获取高权限的系统内核数据;对于云主机(虚拟主机)的影响是利用该漏洞任意一个虚拟主机用户都可以绕过虚拟软件的限制读取同平台下其他虚拟主机中的数据;对于软件的影响则是允许绕过安全限制读取同操作系统下其他任意软件的内存数据,如利用恶意的浏览器脚本读取其他网站的Cookie信息等。目前各硬件厂商、系统厂商和软件厂商都在为相关漏洞发布补丁程序,相关漏洞的影响可能会持续很长一段时间,需要用户持续关注。
安全投诉事件统计
随着各学校对校园出口限制的逐步解封,网站及信息系统的安全问题数量有增加趋势。
病毒与木马
近期没有新增影响特别广泛的蠕虫或木马病毒。
近期新增严重漏洞评述
1、微软1月的例行安全更新中修补了56个安全漏洞,包括严重等级的16个,重要等级39个,一般等级1个。涉及Windows系统,IE浏览器、 Edge浏览器,Office软件及ASP.NET。
这些漏洞中需要关注的是Office软件的一个高危漏洞(CVE-2018-0802),漏洞存在于Office软件的公式编辑器中,攻击者可以构造包含恶意攻击代码的文档引诱用户点击,一旦用户打开了这个文档就会以当前用户的权限执行任意代码。目前互联网上已经检测到利用该漏洞的恶意程序,用户应该使用系统的自动更新功能来及时安装相应的补丁程序。除了例行的安全修补外,微软也针对CPU的通用漏洞发布了专门的补丁更新,Win10用户可以使用自动更新或是下载更新包安装,而Win7/8用户则需要通过自动更新功能来进行修补。
2、现代通用处理器(CPU)的运作机制中存在两个用于加速执行的特性,推测执行(Speculative Execution)和间接分支预测(Indirect Branch Prediction)。推测性执行是一种优化技术,CPU会基于猜测或概率的角度,在当前的指令或分支还未执行完成前就开始执行可能会被执行的指令或分支,如果猜测正确,则直接继续执行,以此加速CPU的执行进度。如果猜测失败,则取消该操作进行回滚,回滚的过程并不影响CPU的处理速度。这种预测执行的方式能够有效提高CPU的执行速度,但是也带来了安全风险。尽管CPU架构状态会被快速回滚,但是TLB和缓存状态并不会很快回滚,攻击者通过寻找或构建一些指令就可以在CPU回滚的时间窗口里进行一系列的越权访问,造成内核中的数据泄漏。目前类似的攻击方式有三种:
a)边界检查绕过(CVE-2017-5753)——通过污染分支预测,来绕过kernel或hypervisor的内存对象边界检测。比如,攻击者可以对高权级的代码段,或虚拟环境中hypercall,通过构造的恶意代码来触发有越界的数据下标,造成越界访问。
b)分支目标注入(CVE-2017-5715)——污染分支预测。抽象模型比较好的代码往往带有间接函数指针调用的情况,CPU在处理时需要会进行必要的内存访问,这个过程有点慢,所以CPU会预测分支。攻击者可以通过类似的ROP的方式来进行信息泄露。
c)流氓数据加载(CVE-2017-5754)——部分CPU上,为了速度并不是每次都对指令作权限检查的,检查的条件存在一定的缺陷。
其中CVE-2017-5754漏洞可以用来破坏用户程序和操作系统之间的基本隔离,允许攻击者未授权访问其他程序和操作系统的内存,获取其他程序和操作系统的敏感信息,被称为Meltdown漏洞。CVE-2017-5715和CVE-2017-5753可以用来破坏不同应用程序之间的隔离,允许攻击者读取其他程序的敏感数据,被称为Spectre漏洞。利用Meltdown漏洞攻击者可以获取操作系统底层核心数据。在虚拟化环境下,可以绕过安全限制读取其他操作系统的信息。利用Spectre漏洞,攻击者可以获取其他程序的敏感信息,例如通过浏览器脚本获取用户的cookie信息等。目前相关漏洞涉事的硬件厂商、系统厂商和软件厂商均针对上述漏洞发布了安全公告和补丁程序,用户应该随时关注厂商的动态,及时更新相应的补丁程序。
3、1月16日Oracle公司发布了今年第一季度的安全更新,修复了其产品线中存在的238个安全漏洞,包括:Oracle数据库(5个)、MySQL数据库(25个)、电子商务套装软件OracleE-Business Suite(7个)、中间件产品Fusion Middleware(27个)、OracleSiebel托管型CRM软件(2个);JD Edwards产品(2个)、PeopleSoft产品(15个);Communications Applications(10个)、Constructionand Engineering Suite(1个)、FinancialServices Applications(34个)、Health Sciences Applications(7个)、HospitalityApplications(21个)、Hyperion(4个)、Java SE(21个)、Retail Applications(12个)、SunSystems Products Suite(13个)、Supply Chain Products Suite(3个)和Virtualization(14个)。这238个漏洞中有123个属于高危漏洞,有216个可以远程利用。需要特别关注的是,25个Mysql数据库漏洞中有6个允许攻击者无需验证就可以远程连接Mysql数据库。建议相关的管理员尽快安装相应的补丁程序。
安全提示
目前各厂商都针对CPU漏洞发布了自己的补丁程序,但是部分补丁程序存在缺陷,可能导致系统异常或者系统性能下降,包括:
1、Intel针对CPU相关的漏洞发布的第一版补丁程序存在缺陷,一些早期的型号的CPU安装了相关补丁后可能会导致系统反复重启,目前intel厂商已经要求电脑生产商门暂停安装该补丁,新的补丁即将发布,建议用户随时关注厂商的动态。
2、微软官方信息显示,Spectre Varient1(CVE-2017-5753)和Meltdown Varient 2(CVE-2017-5754)漏洞补丁修复对CPU性能影响较小。Spectre Varient2(CVE-2017-5755)漏洞补丁导致CPU性能损失的主要原因是对底层的指令集做了修改,由于Window 7/8系统在架构时使用了过多的受影响指令,可能会对系统的运行速度带来影响。