近日,研究人员发现了一种名为Platypus的新型攻击,可以攻击Intel处理器的RAPL接口。RAPL代表RunningAveragePowerLimit,它是一个允许固件或软件应用程序监控CPU和DRAM功耗的组件。RAPL使固件和软件APP能够读取CPU执行任务所消耗的功率,并广泛用于跟踪和调试应用程序和硬件性能。通过IntelRAPL窃取加密密钥研究人员发现,Platypus攻击可以通过RAPL接口的值确定CPU中处理的数据。研究人员使用PLATYPUS证明,可以通过功耗的细微变化来区分不同的指令和不同的内存负载等,从而实现负载值的扰动。这些加载的值就是CPU中加载的数据。此数据可能是加密密钥、密码、敏感文件或其他类型的数据。这类访问的数据一般会受到KASLR(kerneladdressspacelayoutrandomization,内核地址空间布局随机化)或TEE(硬件隔离可信执行环境)的保护,比如IntelSGX。但研究人员发现,鸭嘴兽攻击可以通过查看电池消耗值的变化来绕过这些安全机制。在测试中,研究人员通过查看RAPL功耗值绕过KASLR,并在20秒内成功从Linux内核中提取数据。在另一项测试中,研究人员还成功地从英特尔SGXsecureenclave中提取了数据。利用Platypus攻击从SGXenclave窃取RSA私钥,攻击者需要监控RAPL数据约100分钟,从Linux内核内存空间提取AES-NI加密密钥需要26小时新交所飞地。LINUX系统不太安全研究人员说,Platypus攻击在Linux系统上效果最好。这是因为Linux内核中有一个powercap框架,它是RAPL接口和其他电控API的通用驱动,可以方便读取功耗值。Windows和macOS上的攻击也是可能的,但在这种情况下,必须在被攻击设备上安装IntelPowerGadget应用程序,攻击者使用该应用程序与RAPL界面进行交互。首次同类攻击其他团队还发现,通过将示波器连接到CPU以获取CPU功率读数,可以远程实现Platypus攻击。例如,攻击者的代码可以打包到安装在目标设备上的恶意应用程序中。这允许攻击者在没有物理访问被攻击系统的情况下发起攻击。补丁研究人员表示,Platypus可以攻击英特尔服务器、台式机和笔记本电脑的CPU。英特尔还证实,一些移动和嵌入式CPU也受到影响。英特尔还在11月10日发布了微代码更新,以阻止Platypus攻击。Linux内核也已更新,以限制具有更高权限的应用程序访问RAPL接口。该漏洞被分配了3个CVE编号,分别是CVE-2020-8694(Linux+Intel)、CVE-2020-8695(Intel)和CVE-2020-12912(Linux+AMD)。英特尔表示,尚未发现任何对该漏洞的野蛮利用。受Platypus攻击影响的CPU多为近期型号,Intel等设备厂商仍在支持,近期应该会再次发布相关补丁。有关一些受影响的CPU的列表,请参阅:https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00389.html除了Intel,研究人员还发现AMD也受到此次攻击的影响。AMD还发布了Linux驱动程序的更新。关于Platypus攻击的更多细节参见:https://platypusattack.com/Platypus攻击学术文章下载地址:https://platypusattack.com/platypus.pdf本文翻译自:https://www.zdnet。com/article/new-platypus-attack-can-steal-data-from-intel-cpus/如有转载请注明出处。
