Windows静默修复英特尔CPU最新预测执行漏洞:补丁已推送,性能影响未可知
微软上个月向Windows操作系统推送了静默更新,修复了一个CPU预测执行漏洞。该漏洞于周二被安全公司人员披露。通过滥用预测执行,攻击者可以打开一条旁路,泄漏加密密钥、密码、私人对话以及其它被保护的秘密数据。
这个漏洞现在被称为“SWAPGS”,在12个月前被发现并由安全研究人员私下向英特尔报告。类似2018年公开的Spectre(幽灵)和Meltdown(熔断)漏洞。通过滥用预测执行,攻击者可以通过这一漏洞打开一条旁路,泄漏加密密钥、密码、私人对话以及其它被保护的秘密。
安全公司Bitdefender的研究人员周二披露了该漏洞,漏洞影响2012年之后的所有英特尔CPU。关于这个漏洞,Red Hat发表声明称它应该会出现在AMD和英特尔的CPU产品上,但只有Bitdefender安全研究人员证明它可以在Intel平台上运行。微软已经在上个月的“Patch Tuesday”更新针对这个漏洞实施了修复,因此如果您最近更新了操作系统,那么您已经受到对SWAPGS的保护措施。补丁不需要微码更新,漏洞编号 CVE-2019-1125。
AMD也发表声明,其中称:“AMD已经意识到新的研究声称可能允许访问特权内核数据的新推测性执行攻击。基于外部和内部分析,AMD认为它们不容易受到SWAPGS变体的影响攻击是因为AMD产品的设计不是为了推测SWAPGS之后的新GS值。“
SWAPGS的工作原理
SWAPGS是一种Spectre类型的漏洞,它利用了处理器的分支预测(预测何时切换指令序列以提高性能)。处理器推测哪个指令序列最有可能在下一个运行,并为此准备其内部状态。在观察这些指令时,可以通过观察时序结果来揭示可能的敏感数据。
它是一种类似于幽灵的攻击,以名为SWAPGS的x86-64指令命名,该指令交换GS寄存器(只有一个构建完整存储器地址的段寄存器),其值应在内核操作期间使用。由于其性质,SWAPGS不会对其使用的数据执行任何类型的更正,因此可以执行攻击。在交换期间,攻击者可以插入任何值而不会收到处理器的错误或警告。
缓解措施
就像现在所知道的那样,对于幽灵和熔断这种漏洞,硬件中没有太多缓解措施,而且业界仍然在很大程度上依赖于对性能产生负面影响的软件/固件级的补丁缓解。只有AMD和英特尔最新的处理器型号具有硬件缓解功能。目前微软已经将更新补丁推送到其Windows操作系统,并且任何基于Linux的操作系统的内核补丁也应该在GitHub上有所讨论。虽然在日常使用中很难利用到SWAPGS漏洞,但安全人员还是强烈建议安装这些补丁,但它们的性能影响仍然未知。
幽灵与熔断,图源:TPU