新的PlunderVolt攻击通过调整CPU电压来攻击英特尔SGX飞地

一组网络安全研究人员展示了一种新的劫持Intel SGX的技术。Intel SGX是现代Intel CPU上一个硬件隔离的受信任空间,可以对极其敏感的数据进行加密,即使在系统受到攻击时也能保护其免受攻击。
配音掠夺伏特该攻击被追踪为CVE-2019-11157,它依赖于一个事实,即现代处理器允许在需要时调整频率和电压,根据研究人员的说法,可以以可控的方式修改频率和电压,通过翻转位在内存中引发错误。
位翻转是一种众所周知的Rowhammer攻击现象,攻击者通过将易受攻击的内存单元的值从1更改为0来劫持它们,反之亦然—;所有这些都是通过调整相邻存储单元的电荷来实现的。
然而,由于软件保护扩展插件(SGX)的enclave内存是加密的,因此Plundervolt攻击利用了相同的想法,即在将故障写入内存之前,通过在CPU中注入故障来翻转位。
Plundervolt与Foreshadow和Spectre等投机性执行攻击更为相似,但尽管Foreshadow和Spectre通过允许攻击者读取安全飞地的数据来攻击SGX飞地内存的机密性,但Plundervolt攻击SGX的完整性以实现同样的目的。
为了实现这一点,LoopVult依赖于第二种已知技术,即CLKMUX,它是一种先前记录的攻击向量,它利用CPU的能量管理来破坏硬件安全机制并控制目标系统。
研究人员说:“我们证明,拥有特权的对手能够将故障注入受保护的enclave计算。至关重要的是,由于故障发生在处理器包内,即在结果提交到内存之前,英特尔SGX的内存完整性保护无法抵御我们的攻击。”。
正如研究人员在视频中所展示的那样,通过微妙地增加或减少传送到目标CPU的电压,攻击者可以触发SGX enclaves使用的加密算法中的计算错误,从而使攻击者能够轻松解密SGX数据。
研究人员说:“我们通过向运行在SGX飞地中的英特尔RSA-CRT和AES-NI实现中注入错误来证明我们的攻击的有效性,我们用微不足道的计算工作量重建完整的加密密钥。”。
“给定同一明文上的一对正确和错误的密文,此攻击能够恢复完整的128位AES密钥,平均计算复杂度仅为232+256次加密。我们已经在实践中运行了此攻击,只需几分钟就从enclave中提取完整的AES密钥,包括两种错误注入以及关键的计算阶段。"
从伯明翰大学、格拉茨理工大学和库鲁文的六名欧洲研究人员在2019年6月发现了一个影响Skyx公司的英特尔核心处理器的PulvValt攻击,该攻击始于SkyLink一代,并于2019年6月私下向英特尔报告。
作为对研究人员发现的回应,英特尔昨天发布了微码和BIOS更新,通过将电压锁定为默认设置来解决Plundervolt,以及其他13个高、中严重性漏洞。
“英特尔已与系统供应商合作开发了一种微码更新,通过将电压锁定为默认设置来缓解问题,”英特尔今天发布的博客文章写道。“我们不知道这些问题在野外被使用,但一如既往,我们建议尽快安装安全更新。”
以下是受Plundervolt攻击影响的CPU型号列表:
- 英特尔第六、第七、第八、第九及;第10代核心处理器
- 英特尔至强处理器E3 v5&;v6
- 英特尔至强处理器E-2100&;E-2200家庭
- For the full list of affected products, you can head on to Intel's security advisory INTEL-SA-00289.