你的CPU数据,可能存在被窃取的风险。
这个最新被发现的英特尔CPU漏洞,让攻击者直接通过监视功耗的变化,便可以轻松获取你的CPU数据。
漏洞一经发现,英特尔立即对此作出了补救。不过,这并不仅仅是英特尔一家的事情,其他各大厂商也都在打补丁。
那么,究竟是出了什么问题?
直击RAPL的Platypus
问题,便是出在RAPL上。
RAPL,表示的是运行时平均功率限制,是允许固件或软件应用程序监控CPU和DRAM功耗的一个组件。
而关于具体的攻击原理,研究人员是这么介绍道:
通过观察功耗的变化,区分不同的指令、操作数和内存负载的不同汉明权重,攻击者便可以推断加载的值。
这么简单?对,就是这么简单。
虽然有着KASLR、TEEs等保护一系列安全系统的保护,但是攻击者仅仅通过RAPL,利用监视功耗值的变化,便可以绕过所有这些安全系统,获取我们CPU的数据。
这个漏洞,是由来自格拉茨技术大学、伯明翰大学等高校的科学家发现并进行了报道。
而这种攻击方法,被研究者命名为Platypus,是「漏电攻击:针对你受保护的用户机密」(Power Leakage Attacks: Targeting Your Protected User Secrets) 的首字母缩写。
利用监视功耗值变化的这一漏洞,研究者们也顺藤摸瓜,有了不少发现和预警。
首先,Platypus的攻击在Linux系统上是最有效的,这是因为Linux内核附带了PowerCap框架。
PowerCap是一个通用驱动程序,其用于与RAPL接口和其他功率限额API进行交互。而这,将允许攻击者轻松读取功耗值。
这也是Linux作为开源系统,对于功耗监视的访问权限偏低所带来的一个问题。
所以相比之下,Windows和macOS系统是安全的。
但是,如果你的设备上安装英特尔的Power Gadget,那么攻击者便可以与RAPL接口进行交互。于是,攻击也便成了可能。
此外,不论OS如何,针对英特尔SGX安全区的攻击都可以进行,因为攻击者针对的是SGX安全区,而非OS及CPU内存。
对此,研究者们做了攻击测试进行验证:
- 监视了RAPL功耗值仅20秒钟,攻击者便绕过了KASLR,开始从Linux内核中检索数据;
- 监视100分钟的RAPL数据,便从SGX安全区取得了RSA私钥;
- 从SGX安全区和Linux内核内存空间取得AES-NI加密密钥的攻击稍久,需要26小时。
攻击非常有效,而且功耗监视进行攻击,这还是第一次。
除此之外,远程操作让这类攻击是隐秘性更上了一层楼。
在远程攻击中,攻击者只需将攻击的代码打包在的恶意软件之中。只要目标设备安装或植入了该软件,攻击者便可以经由软件进行功耗监视。
攻击者无需物理访问或者主动进攻系统,便可以悄无声息地「偷走」设备主人的关键信息。
针对漏洞的补救
悄无声息地攻击,是不是意味着已经有大量的数据用户已经泄露了?
这个倒不用担心,英特尔表示:
目前在学术研究领域之外,尚未发现有任何利用这种漏洞的攻击。
虽说如此,漏洞的一经宣布,还是立即触动了各大厂家的神经,各类补丁也纷纷发布。
首先是英特尔及其芯片制造商,其紧急发布了一项微代码(CPU固件)更新,用以防止Platypus或其他经由RAPL的攻击。
其次,Linux内核也发布了一个更新:该更新将对RAPL界面的访问限制在「特权较高」的应用程序,使得从低级应用程序内部发起攻击变得更加困难。
最后,AMD也发布了关于RAPL的Linux驱动程序更新。
值得一提的是,除英特尔外,几乎所有其他芯片制造商的产品中都包含功率上限系统,包括NVIDIA,Marvell和Ampere。
虽然由于时间和成本问题,研究者并未进所有设备进行测试,但是并不代表这些设备不存在此类风险。
可以相信的是,最近各大厂商都会陆续发布相关的程序更新,读者们留意一下及时更新,切莫让自己的隐私被偷偷带走了。
参考链接:
https://www.zdnet.com/article/new-platypus-attack-can-steal-data-from-intel-cpus/
https://platypusattack.com/platypus.pdf
“