GoFetch:苹果芯片易受加密密钥窃取攻击 传媒
Apple M系列芯片的安全隐患
主要要点
Apple M系列芯片M1、M2、M3易受到名为“GoFetch”的侧信道攻击,攻击者利用数据内存依赖预取器DMP提取加密密钥。DMP利用内存访问模式预测有用数据,将其预加载到高速缓存中以加快访问速度。攻击者通过调整输入,分析DMP的预取行为,从而推测出目标加密密钥。GoFetch攻击有效针对经典和量子抵抗加密,包括Go RSA2048和OpenSSL DiffieHellman密钥交换。Apple尚未为DMP提供直接修复,但有一定的缓解措施可降低攻击风险。Apple M系列芯片正在面临一种名为“GoFetch”的侧信道攻击,这种攻击利用数据内存依赖预取器DMP来提取秘密加密密钥。DMP是一些现代处理器的一项特性,通过利用内存访问模式来预测哪些数据将是有用的,并提前将这些数据加载到缓存内以便快速访问。
研究人员发现,Apple M系列芯片M1、M2和M3中的DMP过程可以使用攻击者选择的输入进行探测,并通过分析其预取行为最终预测出目标生成的加密密钥。这一发现以论文形式发布。
“这个漏洞可以提取加密密钥,这对使用TLS的服务器或那些需要用户加密信息的组织构成问题。主要可能是对那些高度安全的环境影响最大,但任何运行Apple CPU并使用加密的组织都应该对此保持警惕,”Bambanek Consulting的总裁John Bambanek在电子邮件中告诉SC Media。
GoFetch攻击对经典和量子抵抗加密的有效性
研究人员的GoFetch攻击涉及将“猜测”输入到目标加密应用中,并观察系统内存访问的变化,以指示预取模式。通过根据观察到的变化调整输入,并将来自DMP的信号与加密数据的位相关联,攻击者最终可以推断目标加密密钥。
该攻击基本上绕过了恒定时间加密的安全措施,这种措施通过消除秘密数据内容和执行时间之间的关系来阻止侧信道提取加密密钥。
GoFetch研究团队展示了他们的概念验证攻击能够成功对Go RSA2048加密、OpenSSL DiffieHellman密钥交换DHKE,甚至后量子加密协议CRYSTALSKyber和CRYSTALSDilithium进行攻击。攻击平均完成所需的时间为最少约49分钟针对Go RSA密钥和最长15小时针对Dilithium密钥。
蘑菇加速器pc端虽然攻击主要是在Apple的M1处理器上进行测试,但研究组对M2和M3 CPU的调查也显示出相似的DMP激活模式,表明它们很可能也容易受到同样的攻击。
相较之下,英特尔第13代Raptor Lake处理器虽然也使用DMP,但研究人员发现由于其更严格的激活标准,该处理器并不容易受到此类攻击。
Apple M芯片的DMP无法修复;但有一些缓解措施可用
由于DMP是Apple芯片的微架构硬件特性,GoFetch攻击所针对的DMP无法直接“修复”。不过,有一些缓解措施可以防止或降低被攻击的可能性。
攻击要求攻击者的GoFetch过程探测和监视DMP在与目标过程同一台机器上运行,因此避免安装可疑程序是一种防御方式。
Apple在给SC Media的电子邮件中提到,可以启用数据独立定时DIT作为对GoFetch的缓解措施。启用DIT在M3处理器上可用将禁用易受攻击的DMP特性,Ars Technica报道。
研究人员还指出,DMP未在Apple的Icestorm效率核心上激活。将加密过程限制到这些
