GOFETCH侧信道攻击针对苹果系统,允许秘密密钥的提取

admin 2024年3月26日21:51:15评论4 views字数 1113阅读3分42秒阅读模式

GOFETCH侧信道攻击针对苹果系统,允许秘密密钥的提取

来自多家美国大学的研究团队展示了一种名为GoFetch的新微体系结构侧信道攻击,可以让攻击者从使用苹果CPU的系统中提取秘密密钥。

GoFetch侧信道攻击可以通过数据内存相关预取器(DMPs)从常量时间加密实现中提取秘密密钥。数据内存相关预取器(DMPs)是一种用于现代处理器的硬件优化技术,旨在提高性能。

研究人员解释说,DMPs存在于许多苹果CPU中,他们演示了如何从OpenSSL Diffie-Hellman、Go RSA以及CRYSTALS Kyber和Dilithium中提取密钥。研究人员对苹果m系列CPU上的DMP进行了逆向工程,并发现DMP会激活并尝试对从内存加载的类似指针的数据进行解引用。“这明确违反了常量时间编程范式的要求,禁止混合数据和内存访问模式。”研究人员发表的报告中写道。“为了利用DMP,我们以一种方式精心制作加密操作的选择输入,其中只有在我们正确猜测了一些秘密密钥比特时,才会出现类似指针的值。我们通过缓存时间分析监视这些猜测是否准确。一旦我们做出正确的猜测,我们就会继续猜测下一批密钥比特。利用这种方法,我们展示了对经典(OpenSSL Diffie-Hellman密钥交换、Go RSA解密)和后量子密码学(CRYSTALS-Kyber和CRYSTALS-Dilithium)流行的常量时间实现的端到端密钥提取攻击。”

研究人员展示了对搭载m1处理器的苹果系统的GoFetch攻击,但他们认为基于m2和m3 CPU的系统也存在漏洞。针对苹果m系列DMP的第一种攻击方法是由Augury于2022年发现的。GoFetch基于Augury,但更为激进。“具体来说,我们发现从内存加载的任何值都有可能被解引用(真的!)。这使我们能够规避Augury的许多限制,并展示对真实常量时间代码的端到端攻击。

研究人员解释说,只有一些处理器可以禁用DMP。在苹果m3 CPU上,可以通过设置DIT位来禁用DMP。研究人员计划很快发布一个概念验证(PoC)利用程序,他们还确认已于2023年12月5日向苹果披露了他们的发现。“对于用户,我们建议使用最新版本的软件,并定期进行更新。加密库的开发人员可以设置DOIT位和DIT位,这将在某些CPU上禁用DMP。

研究人员表示。“此外,输入盲化可以帮助一些加密方案避免具有受攻击者控制的中间值,从而避免密钥相关的DMP激活。最后,防止攻击者首先测量DMP激活,例如通过避免硬件共享,可以进一步增强加密协议的安全性。”专家们发表了一篇包含研究细节的论文,他们还发布了一段关于该攻击的视频PoC。

原文始发于微信公众号(黑猫安全):GOFETCH侧信道攻击针对苹果系统,允许秘密密钥的提取

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月26日21:51:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GOFETCH侧信道攻击针对苹果系统,允许秘密密钥的提取https://cn-sec.com/archives/2605302.html

发表评论

匿名网友 填写信息