英特尔Core及Xeon处理器上的安全漏洞可被利用来盗取芯片上数学处理单元中的敏感数据。恶意软件或恶意用户能利用该设计缺陷偷取其他软件在芯片上执行的计算输入或计算结果。
利用存储在FPU寄存器中运算输入数据和结果数据,攻击者可推算出用于保护系统中数据的加密密钥。比如说,英特尔的AES加解密指令就用FPU寄存器存放密钥。
简言之,该安全漏洞可用于在特定情况下抽取或猜出其他程序中的加密密钥。
现代Linux(2016年发布的4.9内核及其后续内核版本),包括 Server 2016 在内的最新Windows,以及最新版的 OpenSD 和 DragonflyBSD,不受该漏洞影响(CVE-2018-3665)。
Windows Server 2008 需打补丁,其他受影响的微软系和非微软系内核的补丁正在研发过程中。Linux内核团队正将缓解补丁应用到4.9之前的内核上。
总之,如果你的机器用了受影响的英特尔芯片,请关注相应补丁的发布情况。CVE-2018-3665不是世界末日,恶意软件需得已经植入系统才可以利用该漏洞,且即便能够利用该漏洞,一次也就能取到一点点数据。
这是又一个复杂的推测执行相关处理器设计缺陷,对行业观察家来说很有看点,对某些内核程序员来说相当讨厌,对系统管理员和普通用户来说是又一个需要打补丁的东西。比它更糟的漏洞不仅有,还有很多,Word字处理程序、PDF阅读器、Web浏览器等等等等,一大堆。
懒惰的协处理器是漏洞利用产生的源头
该安全缺陷源于所谓的懒FPU状态恢复。操作系统内核只会在程序真正用到数学单元时才会存储和恢复浮点运算单元(FPU)寄存器。
然而,如今,通过英特尔芯片设计中与幽灵-熔断变种3A相关的安全漏洞,该特性却能使程序从FPU中获取到其他程序的上下文。变种3A能让应用程序读取本应只能由特权代码查看的寄存器内容。
修复措施就是应用现代 Linux、Windows 和其他内核使用的急FPU状态恢复机制。该缓解措施不会带来性能下降的影响,事实上,急切状态切换反而能提升性能。
英特尔定于6月14日凌晨5点后发布该漏洞更多信息。其原计划是在6月27日才公开,但OpenBSD和DragonflyBSD项目本周早些时候就推出了相应的补丁包,将问题摆上了台面。BSD团队是在英特尔拒绝私下合作而选择与大型操作系统供应商共进退后,自行展开漏洞修复与披露行动的。
英特尔发言人表示,多名研究人员分别向这家占据芯片市场半壁江山的公司警示了该漏洞,包括亚马逊的研究人员:
这个被称为懒FPU状态恢复的问题与变种3A类似。操作系统和很多客户及数据中心产品中所用虚拟机管理程序早已解决了该问题。我们的业界合作伙伴目前为剩下的受影响环境开发相应软件更新,未来几周更新即会上线。
我们一直信奉协同披露策略,感谢亚马逊德国的 Julian Stecklina、Cyberus Technology GmbH 的 Thomas Prescher、SYSGO AG 的 Zdenek Sojka 和 Colin Percival 向我们报告该问题。我们强烈建议业界其他人士遵从协同披露策略。
英特尔认为该威胁不算太严重。谷歌称其系统不受懒FPU状态恢复漏洞影响。亚马逊和微软的发言人没有任何回复。
Red Hat 公布了更多技术细节,未修改过内核的 RHEL 5/6/7 和 Enterprise MRG 2 受此漏洞影响。在声明中,该Linux供应商阐明了这是潜在的“任务到任务”信息窃取:
Red Hat 已被告知该问题。运行在常见现代(x86)微处理器上的操作系统和虚拟机,在应用进程间上下文切换时可能选择浮点状态“懒恢复”策略,而不是用“急恢复”策略存储和恢复浮点寄存器状态。
攻击者可利用浮点状态懒恢复来获取其他应用活动的信息,包括加密操作。与其他最近的边信道漏洞类似,该漏洞也影响CPU预测执行。
利用该最新漏洞,进程被“懒恢复”的浮点寄存器可能被攻击者控制的其他进程读取。Red Hat 通过软件(内核)补丁和配置修改推出了各阶段的缓解措施。
缓解无需微代码更新。大多数案例中,Red Hat Enterprise Linux 7 客户无需采取任何操作,其他用户则可能需要应用一下软件更新。
AWS称其服务已受到保护。
英特尔发布的漏洞咨询中解释称:“系统软件可能在上下文切换时选择采用懒浮点状态恢复而非急恢复策略。懒恢复的状态可能会经由预测执行边信道漏洞利用泄露给其他进程。”
目前尚无已知漏洞利用代码切实针对该安全漏洞下手。Cyberus发布了一份该漏洞的背景介绍与咨询。