Hertzbleed 是影响现代 CPU 的一系列新的旁道攻击

来自德克萨斯大学、伊利诺伊大学和华盛顿大学的一组研究人员披露了有关代号为 Hertzbleed 的新型侧信道攻击(CVE-2022-23823、CVE-2022-24436)的信息。 所提出的攻击方法基于现代处理器中动态频率控制的特征,影响所有当前的 Intel 和 AMD CPU。 该问题也可能出现在支持动态频率变化的其他制造商的处理器中,例如在 ARM 系统中,但该研究仅限于测试英特尔和 AMD 芯片。 包含攻击方法实现的源文本发布在 GitHub 上(该实现在具有 Intel i7-9700 CPU 的计算机上进行了测试)。

为了优化功耗并防止过热,处理器根据负载动态改变频率,这会导致性能变化并影响操作的执行时间(频率变化 1 Hz 会导致性能变化每 1 个时钟周期)第二)。 研究发现,在AMD和Intel处理器上的某些条件下,频率的变化与正在处理的数据直接相关,例如,这导致“2022 + 23823”运算的计算时间和“2022 + 24436”会有所不同。 通过分析不同数据的运算执行时间的差异,可以间接还原计算中使用的信息。 同时,在具有可预测恒定延迟的高速网络中,可以通过估计请求的执行时间来远程实施攻击。

如果攻击成功,所识别的问题使得可以根据对密码库中的计算时间的分析来确定私钥,这些密码库使用的算法始终在恒定时间内执行数学计算,无论正在处理的数据的性质如何。 此类库被认为可以免受旁道攻击,但事实证明,计算时间不仅取决于算法,还取决于处理器的特性。

作为展示该方法可行性的实例,演示了对SIKE(超奇异同源密钥封装)密钥封装机制实现的攻击,该机制被列入美国举办的后量子密码系统竞赛的决赛中美国国家标准与技术研究院 (NIST),并被定位为免受侧信道攻击。 在实验过程中,使用基于选定密文的新攻击变体(基于密文操作并获得解密的逐步选择),可以通过从远程系统进行测量来完全恢复用于加密的密钥,尽管使用具有恒定计算时间的 SIKE 实现。 使用 CIRCL 实现确定 364 位密钥需要 36 小时,PQCrypto-SIDH 需要 89 小时。

英特尔和 AMD 已承认其处理器存在该问题的漏洞,但不打算通过微代码更新来阻止该漏洞,因为不可能在不对硬件性能产生重大影响的情况下消除硬件中的漏洞。 相反,密码库的开发人员会获得有关如何在执行机密计算时以编程方式阻止信息泄漏的建议。 Cloudflare 和 Microsoft 已经为其 SIKE 实施添加了类似的保护,这导致 CI​​RCL 的性能下降了 5%,PQCrypto-SIDH 的性能下降了 11%。 阻止该漏洞的另一个解决方法是在 BIOS 或驱动程序中禁用 Turbo Boost、Turbo Core 或 Precision Boost 模式,但这种更改将导致性能急剧下降。

英特尔、Cloudflare 和微软于 2021 年第三季度收到了有关该问题的通知,AMD 于 2022 年第一季度收到了有关该问题的通知,但应英特尔的要求,该问题的公开披露被推迟到 14 年 2022 月 8 日。 基于第 11-2 代 Intel Core 微架构的台式机和笔记本电脑处理器,以及各种台式机、移动和服务器处理器 AMD Ryzen、Athlon、A-Series 和 EPYC(研究人员演示了该方法)均存在该问题在具有 Zen 微架构 3 和 Zen XNUMX 的 Ryzen CPU 上)。

来源: opennet.ru

添加评论