Spectre变种攻击再现,SWAPGS漏洞几乎让所有Intel主流处理器中标

SWAPGS是种以Spectre为基础的旁路攻击(Side-Channel Attack),它能让恶意程序绕过现有的保护机制,读取未经授权的数据,进而达到窃取数据的目的。这个漏洞由安全公司Bitdefender进行负责任披露,而Microsoft也推出对应的Windows更新文件以修正问题。

SWAPGS属于Spectre的第一形态变种,并以列入通用漏洞披露编号CVE-2019-1125。根据Bitdefender提供的SWAPGS白皮书提到,旁路攻击并不是相当新的概念,它已经存在一阵时间,但Meltdown、Spectre、L1TF、MDS这类针对预测执行技术(Speculative Execution)进行旁路攻击则是种新手法,这种漏洞让攻击者可以跨过内存隔离保护,进而接触到原本无法访问的内存,并且预估会持续发展。

预测执行技术的概念是处理器会运用闲置的计算资源,预先处理尚未确实是否必需执行的指令,如果后续确定这条指令需要执行,就能直接送出结果以提升整体性能,例如分枝预测(Branch Prediction)就是运用这种技术。

如过遇到预测错误的情况,处理器就会舍弃预先处理的结果,虽然被舍弃的结果在处理器架构的角度并不会被系统“看见”,但它仍然会暂存于托管器或内存中。攻击者就是利用这个漏洞留下的缓存踪迹(Cache Trace)跨越内存的安全边界,举例来说,攻击者可以从特定处理程序(Process)窥探另一个处理程序,或是从用户模式权限窥探核心模式权限内存数据、从虚拟机的非Root限窥探Root权限、SGX安全区内存数据。

而根据Bitdefender官方网站的说明,SWAPGS的影响范围包括从2012年上市的Ivy Bridge时代处理器到当代市面上最新的Intel处理器。

白皮书中也指出SWAPGS漏洞仅存在于64进制x86架构处理器中,而Bitdefender测试的AMD处理器并没有这个问题,反而是AMD主动在官方网站披露,处理器可能会受到GS基础数值推测(GS base value speculation)影响,而建议通过Spectre第一形态变种更新文件修补问题。

Bitdefender在视频中展示了SWAPGS运行实证。

Bitdefender也在官方网站说明了SWAPGS对一般用户的风险,攻击者可能取得用户的密码、加密密钥、访问凭证,甚至是存储在计算机或浏览器中的信用卡信息等机密敏感数据,造成的影响不可忽视。

由于Bitdefender采用负责任披露形式公开漏洞,代表大众知道漏洞的时候,修正问题更新文件已经准备差不多了,但也代表攻击者知道这个漏洞,如果这时候不安装更新文件的话遭到攻击的风险也会随之提升。

Microsoft已于2019年7月9日就悄悄推出对应的Windows更新文件,能够修正Windows 7、Windows Server 2008以后的操作系统,而且不需更新处理器微码。

想要进一步了解SWAPGS信息的读者,可以参考Bitdefender官方网站的说明,或是去函获取SWAPGS白皮书。