【2024-03-22 01:12:54爱思瑞网快讯】
苹果硅芯片中的一个新漏洞可能允许决心的攻击者通过窃取加密密钥来访问用户的数据,而修复此问题可能会严重影响加密性能。
研究人员发现了苹果的M系列芯片在处理加密操作(如文件加密)时存在问题。然而,由于这是芯片架构设计上的问题,因此很难加以缓解。
上周四,一群研究人员披露,ArsTechnica报道称,问题出在数据内存相关的预取器(DMP)上,该预取器用于预测当前运行代码最有可能访问的数据内存地址。通过预取数据,它成为恶意代码的探测目标。
这是因为预取器使用先前的访问模式来确定下一个要获取数据的位。攻击者可以利用这种工作方式来影响预取的数据,从而打开访问敏感数据的大门。
GoFetch攻击可以窃取加密密钥
研究人员将此攻击称为“GoFetch”,利用了苹果硅芯片中DMP使用的一个特例。具体而言,DMP会将内存内容与用于加载更多数据的指针值混淆,有时会将前者用作后者。
研究人员在解释该攻击时确认,可以使数据“看起来像”一个指针,这样DMP就会将其视为地址位置,并从缓存中拉取数据。地址在缓存中的出现是可见的,这意味着恶意代码可以看到它。
该攻击通过操纵加密算法中的数据,使其看起来像一个指针,使用选择的输入攻击。DMP会视数据值出现为地址,然后从该地址获取数据,地址本身也会泄漏出去。
该攻击不会立即破解加密密钥。但是,可以重复进行该攻击,逐渐揭示密钥。
GoFetch攻击使用与许多其他第三方macOS应用程序相同的用户权限,而不是根权限。这降低了实际运行该攻击的门槛,但这并不是整个故事的全部。
GoFetch应用程序运行的攻击还必须在与加密目标应用程序相同的芯片簇上运行,并且两者必须同时使用高效核心或性能核心。它是与簇相关的,这意味着如果将应用程序在同一簇内的不同核心上运行,该攻击仍将起效。
研究人员声称该攻击不仅适用于经典加密算法,还适用于新的量子抵御版本。
就其有效性而言,研究人员的测试应用程序能够在不到一小时的时间内提取出一个2048位的RSA密钥,以及在两小时多的时间内提取出一个2048位Diffie-Hellman密钥。提取Dilithium-2密钥需要十小时的数据提取时间,不包括脱机处理时间。
难以防范
该攻击的主要问题在于无法在苹果硅芯片本身中修补,因为它是设计的核心部分。相反,它需要加密软件的开发人员通过解决问题来实施缓解。
问题在于任何缓解措施的更改都会增加执行操作所需的工作量,从而影响性能。然而,这些影响应该只会影响使用加密并采用缓解措施的应用程序,而不是其他一般应用程序类型。
对于其中一种缓解措施,密文混淆,其有效性在不同的算法之间有所不同,可能需要两倍于通常的资源。
在只在高效核心上运行进程也是一种可能性,因为它们没有DMP功能。再次强调,由于不在更快的核心上运行,因此加密性能将受到影响。
第三个选项实际上适用于M3芯片,即可以通过翻转特定位来禁用DMP。研究人员承认他们不知道这样做会产生多大的性能损失。
苹果拒绝对此事发表评论。研究人员声称在公开发布之前向苹果进行了负责任的披露,并于2023年12月5日向该公司提供了信息。
其中一些研究人员此前曾就2022年的另一个关于苹果硅芯片DMP使用的漏洞进行研究。当时,所谓的Augury漏洞被认为不是“那么严重”,并且“可能只是一个沙盒威胁模型”。
历史重演
芯片漏洞可能对设备制造商构成严重问题,尤其是如果他们必须更改操作系统和软件以保持安全。
2018年,被发现了熔断和幻灯片芯片漏洞,它们影响了所有Mac和iOS设备,以及自1997年以来几乎所有生产的X86设备。
这些安全漏洞利用了“乱序执行”的功能,当芯片通过同时或甚至是无序地处理多个指令来提高速度时使用。顾名思义,CPU会在分支完成之前,推测性地继续执行路径上的指令。
熔断和幻灯片都使用这个功能来访问“特权内存”,其中可能包括CPU内核。
这些漏洞的发现引发了许多其他类似的攻击,主要针对英特尔芯片,包括Foreshadow和Zombieload。
这也不是首次发现苹果硅芯片设计上的问题。2022年,麻省理工学院的研究人员发现了一个无法修复的漏洞,被称为“PACMAN”,利用指针认证过程进行侧信道攻击。