有研究人员表示,他们在来自英特尔、AMD 和其他公司的微处理器中发现了新的漏洞,远程攻击者可以利用该漏洞获取硬件传输密钥和其他加密数据。来自德克萨斯大学奥斯汀分校、伊利诺伊大学厄巴纳 - 香槟分校等机构的研究者,将本次攻击方式命名为 Hertzbleed。
图片
Hertzbleed 攻击的核心在于动态电压和频率缩放(DVFS,dynamic voltage and frequency scaling),即用于节能和减少芯片产生热量的功率和热管理功能。
硬件制造商表示黑客通过测量芯片在处理数据时消耗的功率,来从芯片中提取加密数据。幸运的是,黑客针对微处理器的功耗分析攻击手段是有限的,因为攻击者在处理加密数据时几乎没有可行的方法来远程测量功耗。现在,研究人员已经找到了如何将功耗分析攻击转化为另一类要求相对较低的侧信道(side-channel)攻击。
他们在论文《 Hertzbleed: Turning Power Side-Channel Attacks Into Remote Timing Attacks on x86 》中对这一攻击进行了详细的说明。
图片
论文地址:https://www.hertzbleed.com/hertzbleed.pdf。
针对 DVFS 的攻击
该研究团队发现,DVFS 允许攻击者通过监控服务器响应查询所需的时间来推断功耗的变化,这一发现大大减少了研究者所需的工作量。在了解了 DVFS 特性的工作原理后,电源侧信道攻击将变得更加简单,可以远程进行定时攻击。
该漏洞被跟踪为 Intel 芯片的 CVE-2022-24436 和 AMD CPU 的 CVE-2022-23823。研究人员已经展示了如何利用其开发的漏洞技术从运行 SIKE 的服务器中提取加密密钥(SIKE 是一种加密算法,用于在双方之间通过不安全的通信信道建立密钥)。
研究人员表示,他们成功地重现了对 Intel CPU 从第 8 代到第 11 代 Core 微架构的攻击。他们还声称该技术可以在 Intel Xeon CPU 上运行,并证明了 AMD Ryzen 处理器易受攻击,并启用了针对 Intel 芯片的相同 SIKE 攻击。研究人员认为,其他制造商的芯片也可能受到影响。
在一篇解释这一发现的博客文章中,研究团队成员写道:
「Hertzbleed 是一个新的侧信道攻击家族:频率侧信道。在最坏的情况下,这些攻击可以让攻击者从以前被认为是安全的远程服务器中提取加密密钥。
实验表明,在某些情况下,现代 x86 处理器的动态频率缩放取决于正在处理的数据。这意味着,在现代处理器上,相同的程序在计算时可以以不同的 CPU 频率运行(因此需要不同的运行时间)。Hertzbleed 对加密软件来说确实是一个威胁。」
与此同时,英特尔安全通信和事件响应高级总监 Jerry Bryant 对该技术的实用性提出了质疑。他表示:虽然从研究的角度来看这个问题很有趣,但我们认为这种攻击在实验室环境之外是不可行的。另外,针对电源侧信道攻击而加强的加密实现不易受到这类攻击。
英特尔和 AMD 厂商都没有发布微指令来改变这一漏洞。相反,他们支持 Microsoft 和 Cloudflare 分别对其 PQCrypto-SIDH 和 CIRCL 加密代码库所做的更改。研究人员估计,这种缓解措施为 PQCrypto SIDH 和 CIRCL 分别增加了 11% 和 5% 的去封装性能开销。
AMD 拒绝在取消协调披露禁令之前发表评论。
在解释 Hertzbleed 攻击时,研究人员在论文中写道:「该研究展示了在现代英特尔 (和 AMD) x86 CPU 上,功耗分析攻击可以转变为计时攻击,这提升了对功耗测量接口的需求。该研究是通过 CPU 的 DVFS 实现的,DVFS 是一种常用的技术,通过动态调整 CPU 频率来降低功耗(在 CPU 低负载期间),并确保系统保持在功率和发热限制(在 CPU 高负载期间) 内。
该研究发现,在某些情况下,DVFS 引起的 CPU 频率调整取决于当前以毫秒为单位的功耗。因此,由于功耗与数据相关,因此 CPU 频率调整也与数据相关。
更糟糕的是,该研究表明无需任何特殊权限甚至远程,攻击者都可以观察到与数据相关的频率调整。原因是 CPU 频率偏差直接转化为执行时间偏差(如 1 赫兹 = 每秒 1 个周期)。」
尽管尚未提供修补程序来解决本次漏洞,但英特尔已经建议加密开发人员遵循其指导,加强其库和应用程序,以防频率限制信息泄露。