Platypus攻击可从Intel CPU中窃取数据
番茄系统家园 · 2022-05-14 05:37:16

近日,研究人员发现一种名为Platypus的新的攻击活动,可以对Intel 处理器的RAPL接口进行攻击。RAPL表示运行平均功率限制(RunningAverage Power Limit)是一个允许固件或软件应用监控CPU和DRAM 电量消耗的组件。RAPL可以使固件和软件APP 读取CPU执行任务所消耗的电量,被广泛应用于追踪和调试应用和硬件性能。
通过Intel RAPL 窃取加密密钥
研究人员分析发现Platypus 攻击可以通过 RAPL 接口的值来确定CPU内处理的数据。使用PLATYPUS研究人员证明了电量消耗的细微变化可以用来区分不同的指令和不同的内存加载等,以实现对加载值的干扰。
这些加载的值就是CPU 中加载的数据。这些数据可能是加密密钥、口令、敏感文件或其他类型的数据。
访问的这类数据一般是由KASLR (kernel地址空间布局随机化,kernel address space layoutrandomization)或TEE(硬件隔离的可信执行环境,hardware-isolated trusted executionenvironments)来保护的,比如IntelSGX。
但研究人员发现Platypus攻击可以查看电量消耗值的变化来绕过这些安全机制。在测试中,研究人员在20秒内就通过查看RAPL电量消耗值绕过了KASLR,并成功从Linuxkernel中提取了数据。在另一个测试中,研究人员也成功从Intel SGX secureenclave中提取了数据。
要利用Platypus 攻击从SGX enclave窃取RSA 私钥,攻击者需要监控RAPL 数据约100分钟,而从SGXenclave的Linuxkernel内存空间提取AES-NI 加密密钥需要26个小时。
LINUX 系统更不安全
研究人员称,Platypus 攻击在Linux 系统上的效果最好。这是因为Linux kernel中有一个powercap框架,该框架是与RAPL接口和其他电控制 API的通用驱动,实现电量消耗值的轻松读取。
对Windows和macOS 的攻击也是可能的,但是这种情况下, Intel PowerGadgetapp必须安装在被攻击的设备上,攻击者利用该app实现了与RAPL 接口的交互。
首次此类攻击
其他团队也发现可以通过连接示波器到CPU 来获取CPU电量读数,Platypus攻击可以远程实现。比如,攻击者的代码可以打包到安装在目标设备上的恶意app中。这样攻击者就可以在无需物理访问被攻击系统的情况下发起攻击。
补丁
研究人员称Platypus 可以攻击Intel 服务器、台式机和笔记本CPU。Intel 也确认了一些移动和嵌入式CPU也受到影响。Intel也于11月10日发布了微代码更新来拦截Platypus 攻击。Linux kernel也发布了更新将对RAPL接口的访问只限于有更高权限的app。
该漏洞共获得3个CVE编号,分别是CVE-2020-8694 (Linux+Intel), CVE-2020-8695(Intel)和CVE-2020-12912 (Linux+AMD)。
Intel称目前没有发现关于该漏洞的在野利用。受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://m.nndssk.com/dngz/332692xdKmYn.html。
