来自欧洲三所大学的学者早些时披露了一种新攻击,该攻击会影响存储在英特尔SGX(英特尔CPU的高度安全区域)中的数据的完整性。
研究人员将这种攻击称为“ Plundervolt”,利用了操作系统可以控制英特尔处理器电压和频率的接口,该接口允许游戏玩家超频其CPU。
学者表示,他们发现通过修改CPU接收到的电压和频率,他们可以更改SGX内部的位,从而导致错误,这些错误可以在数据离开SGX安全区域后的稍后时间加以利用。
他们说,Plundervolt可用于恢复加密密钥或在以前安全的软件中引入错误。
英特尔台式机,服务器和移动CPU受到影响。本文底部提供了易受攻击的CPU的完整列表。
英特尔已发布了微码(CPU固件)和BIOS更新,以解决Plundervolt攻击。
Plundervolt的工作原理
Plundervolt攻击专门针对Intel Software Guard扩展(SGX)。
英特尔SGX是所有现代英特尔CPU中都具有的非常强大的安全功能。它使开发人员可以将应用程序隔离在安全的“区域”中,在此区域中,他们可以通过敏感信息信任CPU,因为他们知道数据相对于操作系统上运行的其他应用程序是安全的。
SGX隔离区在主Intel CPU内存的一小部分上运行,通常在硬件级别(SGX内存与其余CPU内存分开)和软件级别(SGX数据已加密)隔离。
今年早些时候,来自英国伯明翰大学,比利时鲁汶大学和奥地利格拉茨技术大学的六名学者组成的团队已经意识到,他们可以结合过去两次其他攻击背后的概念来攻击内部数据英特尔SGX。
第一种是Rowhammer攻击,它表明当您修补存储单元的电荷时,可以使它的位值从1变为0,反之亦然。
第二个是CLKSCREW,它显示了如何使用称为动态电压和频率缩放(DVFS)的CPU能源管理系统来接管计算机。
Plundervolt结合了这两种攻击的原理。它使用CPU的能量管理接口来更改SGX存储单元内部的电压和频率,从而导致SGX数据的不必要更改。
但是,这些只是很小的改动,并且不会破坏SGX的保密性。相反,它们在SGX操作及其处理的数据中引入了错误和错误。换句话说,Plundervolt不会破坏SGX,而只会破坏其输出。
例如,Plundervolt可用于在SGX内部执行的加密算法/操作中引入错误,从而使加密内容一旦离开SGX飞地就很容易破解,从而使攻击者可以恢复用于加密数据的加密密钥。第一名。
伯明翰大学的学者戴维·奥斯瓦尔德(David Oswald)上周表示: “欠电压会导致CPU指令本身发生位翻转,例如乘法或AES回合(AES-NI)。”
他补充说:“由于SGX仅在读取/写入内存时对数据进行加密(但不在CPU内部),因此SGX的内存保护不能防止这些错误(因为错误的值本身已写入内存),”。
电压过高攻击还不仅限于削弱SGX保护的数据的加密。他们还可以在以前安全的应用程序中引入错误,从而使这些应用程序离开SGX时受到攻击。
但是修改CPU的电压和频率通常会导致问题,可能是因为操作系统崩溃,甚至是CPU损坏。
然而,奥斯瓦尔德(Oswald)觉得,Plundervolt攻击并不是特别具有侵入性,而且通常很安全。
他说:“我们在偶尔发生这种翻转的边界上操作CPU,以免系统本身崩溃。”
除了不使系统崩溃之外,还有其他一些细节使Plundervolt成为危险的攻击。它的速度非常快-至少比其他大多数针对Intel CPU的攻击(例如Spectre,Meltdown,Zombieload,RIDL等)要快。
奥斯瓦尔德说:“通常,我们可以很快地在乘法或AES中获得比特翻转。例如,提取AES密钥需要花费几分钟,其中包括从错误密文中获取密钥所需的计算。”
Plundervolt攻击不是远程攻击
不过,尽管听起来像是一个非常糟糕的BUG,但Plundervolt并不像听起来那样严重。首先,不能远程利用Plundervolt,例如诱使用户访问网站并通过JavaScript进行攻击。
Plundervolt需要使用root或admin特权从受感染主机上的应用程序运行。这不是不可能的攻击方案,但如果要在野外的什么地方使用Plundervolt攻击,是这需要一些社会工程学和其他方面事物的利用。
此外,Plundervolt无法在虚拟环境(例如虚拟机和云计算服务)中运行,在这些环境中,主机OS通常会限制来宾OS访问管理CPU电压和频率的接口。
受什么影响以及在何处获得修复
尽管如此,Plundervolt是一个严重的问题。该研究小组表示,它已于6月通知英特尔,并且该供应商不懈地努力准备补丁。
微代码和BIOS更新今天作为安全通报INTEL-SA-00289的一部分发布。这些更新为管理员提供了一个新的BIOS选项,可以在他们不使用系统或认为Plundervolt(CVE-2019-11157)构成真正风险的情况下禁用系统上的电压和频率控制界面。
据英特尔称,以下CPU系列容易受到Plundervolt攻击:
- 英特尔®第6、7、8、9和10代CoreTM处理器
- 英特尔®至强®处理器E3 v5和v6
- 英特尔®至强®处理器E-2100和E-2200家族
终端用户不必担心Plundervolt。对于恶意软件作者来说,这是一种攻击媒介,因为它难以大规模自动化,因此几乎没有兴趣。但是,它是可以针对特定选择的目标进行针对性攻击的武器。如果Plundervolt是严重威胁,则取决于每个用户的威胁矩阵。
可以从此网站下载描述Plundervolt攻击的研究论文。该论文的标题为“ Plundervolt:针对Intel SGX的基于软件的故障注入攻击”。
用于复制攻击的概念验证代码将已在GitHub上发布。
*编译整理:Domino
*参考来源:ZDNET