一组学者今天披露了一种新的攻击方法,可以从英特尔CPU中提取数据。
这次攻击的目标是英特尔处理器的RAPL接口,名为“Platypus”,是“Power and Leavings of Attack”的首字母缩写,意为“攻击的目标是你的受保护的安全用户的机密”。
RAPL代表运行平均功率限制,是一个允许固件或软件应用程序监控CPU和DRAM中功耗的组件。
RAPL有效地让固件和软件应用程序读取CPU执行任务所需的电量,是一种多年来一直用于跟踪和调试应用程序和硬件性能的系统。
在今天发表的一篇研究论文中,格拉茨理工大学、伯明翰大学和CISPA Helmholtz信息安全中心的学者揭示了如何利用Platypus攻击通过查看RAPL接口报告的值来确定CPU内部正在处理哪些数据。
研究人员说,使用鸭嘴兽,我们可以观察到功耗的变化,以区分不同的指令以及操作数和内存负载的不同汉明重量,从而可以推断加载的值。
这些加载的值指的是加载到CPU中的数据。这些信息可以是加密密钥、密码、敏感文档或任何其他类型的信息。
访问此类数据通常受到一系列安全系统的保护,例如内核地址空间布局随机化(KASLR)或硬件隔离的可信执行环境(TES),如Intel SGX。
然而,研究人员表示,鸭嘴兽可以让攻击者通过观察耗电量的变化绕过所有这些安全系统。
在测试中,研究人员表示,他们绕过了KASLR,只观察了20秒的RAPL耗电量,然后他们从Linux内核检索了数据。在另一项测试中,他们还检索了在英特尔SGX安全飞地内处理的数据。
从SGX飞地检索RSA私钥的Platypus攻击需要攻击者监视RAPL数据100分钟,而从SGX飞地和Linux内核内存空间检索AES-NI加密密钥的攻击需要26小时。
根据研究小组的说法,鸭嘴兽攻击在Linux系统上效果最好。这是因为Linux内核附带了PowerCap框架,这是一个用于与RAPL接口和其他功率封顶API交互的通用驱动程序,允许轻松读取耗电量数值。
对Windows和MacOS的攻击也是可能的,但在这些情况下,必须在被攻击的设备上安装最新的英特尔Power Gadget应用程序,才能让攻击者与RAPL界面进行交互。
无论底层操作系统是什么,针对英特尔SGX飞地的鸭嘴兽攻击都会奏效,因为攻击者的目标是(独立的)SGX飞地,而不是底层操作系统及其(独立的)CPU内存。
鸭嘴兽的攻击是以鸭嘴兽用嘴感知电流的能力命名的,这是此类攻击中的第一次。
虽然其他研究团队已经通过将示波器连接到CPU来成功观察到CPU电量读数,但鸭嘴兽攻击可以远程进行。
例如,攻击代码可以打包在安装或植入到目标设备上的恶意应用程序(恶意软件)中。这使得攻击可以在没有威胁行为者需要物理访问被攻击系统的情况下进行。
鸭嘴兽还与另一种针对英特尔CPU电源电压接口的攻击--掠夺式电压(PlunderVolt)有所不同。然而,研究鸭嘴兽和PlunderVolt的研究人员之一莫里茨·利普(Moritz Lipp)告诉路透社ZDNet,这两次攻击是不同的。
不同的是,PlunderVolt是一种修改功率值的主动攻击,而Platypus是一种仅通过查看功耗数据来推断数据的被动攻击。
研究人员说,Platypus与英特尔服务器、台式机和笔记本电脑CPU对抗。英特尔还证实,一些移动和嵌入式CPU也受到了影响。
英特尔今天发布了微码(CPU固件)更新,以阻止Platypus攻击,该公司已经向行业合作伙伴提供了微码(CPU固件)更新,以便在他们的产品下一次安全更新中包含这些更新。
Linux内核也发布了更新。这一更新将RAPL界面的访问限制为只有权限提升的应用程序才能访问,这使得从低级应用程序内部发动攻击变得更加困难。
鸭嘴兽攻击的更新将包含对CVE-2020-8694(Linux+英特尔)、CVE-2020-8695(英特尔)和CVE-2020-12912(Linux+AMD)的引用,这三个标识符用于鸭嘴兽攻击期间利用的问题。
但在近期英特尔CPU漏洞频发的情况下,没有必要惊慌失措。英特尔还表示,在学术研究领域之外,没有发现任何利用该漏洞的攻击。
大多数受Platypus攻击影响的CPU都是最新的CPU型号,英特尔和设备制造商仍支持这些型号,它们很可能会在未来的更新中向用户分发英特尔的微码更新。
除了英特尔,几乎所有其他芯片制造商的产品也都配备了RAPL接口。研究团队表示,这些产品也可能受到影响;然而,由于研究时间和预算成本过高,他们并没有测试目前市场上所有可用的设备。
利普告诉ZDNet,我们已经在AMD上进行了一些实验,我们也观察到了能量消耗的泄漏(这在论文的附录中)。就AMD而言,它也发布了Linux驱动程序的更新。
我们也讨论了基于ARM的设备,但没有时间对其进行彻底评估。
有关鸭嘴兽攻击的更多细节,包括一篇研究论文[PDF],可以在一个专门的网站上找到。