事件描述

2018年1月4日,Jann Horn等安全研究者披露了"Meltdown"(CVE-2017-5754)和"Spectre"(CVE-2017-5753 & CVE-2017-5715)两组CPU特性漏洞。

据悉,漏洞会造成CPU运作机制上的信息泄露,低权级的***者可以通过漏洞来远程泄露(浏览器形式)用户信息或本地泄露更高权级的内存信息。

实际***场景中,***者在一定条件下可以做到:

  • 泄露出本地操作系统底层运作信息,秘钥信息等;

  • 通过获取泄露的信息,可以绕过内核(Kernel), 虚拟机超级管理器(HyperVisor)的隔离防护;

  • 云服务中,可以泄露到其它租户隐私信息;

  • 通过浏览器泄露受害者的帐号,密码,内容,邮箱, cookie等用户隐私信息;

事件影响面

漏洞风险等级严重,影响广泛:

  • 近20年的Intel, AMD, Qualcomm厂家和其它ARM的处理器受到影响;

  • 因为此次CPU漏洞的特殊性,包括Linux, Windows, OSX等在内的操作系统平台参与了修复;

  • Firefox, Chrome, Edge等浏览器也发布了相关的安全公告和缓解方案;

漏洞编号

  • Meltdown

    • CVE-2017-5754

  • Spectre漏洞

    • CVE-2017-5715

    • CVE-2017-5753


pfSense更新进展

2018年1月8日,pfsense官方博客对漏洞的修复发表了一个声明,内容翻译如下:


我们之前已经发表了一个简短的声明,对Meltdown和Specter漏洞进行了初步分析。这个帖子现进行了更新,我们有一个FreeBSD项目的官方声明

到目前为止,这个问题有三个已知变种:


  • 变种1:bounds check bypass(边界检查绕过)通过污染分支预测,来绕过kernel或hypervisor的内存对象边界检测。比如,***者可以对高权级的代码段,或虚拟环境中hypercall,通过构造的恶意代码来触发有越界的数据下标,造成越界访问。

  • 变种2:branch target injection(分支目标注入, 污染分支预测。抽象模型比较好的代码往往带有间接函数指针调用的情况,CPU在处理时需要会进行必要的内存访问,这个过程有点慢,所以CPU会预测分支。***者可以通过类似的ROP的方式来进行信息泄露。

  • 变种3:rogue data cache load(流氓数据加载,部分CPU上,为了速度并不是每次都对指令作权限检查的,检查的条件存在一定的缺陷;

这些通常被称为幽灵(变种1和2)和熔毁(变种3)。


FreeBSD开发人员正在对变种3进行修复,修复进度可以在这里查看。 正如我们假设的那样,这些变化是广泛的。 FreeBSD开发人员需要更长一些的时间进行测试,然后开始将这些补丁程序应用到FreeBSD 11和10,一旦这些补丁程序可以正常使用,pfSense®2.4.x和amd64体系结构的pfsense将首先得到修复。


一旦开发快照就绪,我们将在我们的设备上对pfSense进行基准测试,以测试性能差异变化。 在测试完成之后,我们将发布pfSense 2.4.3版,对变体3进行修复。


变种1和2的漏洞需要更长时间才能解决,但对于大多数用户来说,这不应该成为问题。 变种1中实际存在弱点的案例数量很少,需要做更多的分析。 目前对于变种2来说,有一个叫做“retpoline”的概念,可以缓解这个问题,并可能被FreeBSD使用。


我们对pfSense软件用户的安全建议:


  • 我们大多数用户不应该担心,只要他们按照我们的基本指导方针来限制访问WebGUI,shell以及物理访问pfSense设备。


  • 如果您正在运行虚拟化的pfSense实例,请确保更新您的主机。 主要的虚拟化厂商已经发布了针对Meltdown和/Spectre的更新。


  • 我们的亚马逊网络服务和微软Azure客户是安全的,因为这两个提供商已经修补他们的基础设施对这些漏洞。


我们要感谢FreeBSD开发者在这个问题上的快速反应和他们的努力工作。



2017-1-9