来源:互联网 时间:2020-03-11 16:18:29
研究人员设计了一种针对Intel CPU的新攻击,该攻击可以泄漏存储在SGX安全飞地中的敏感机密,至少从理论上讲,可以从跨越安全边界(例如内核空间,虚拟机和虚拟机管理程序)的特权进程中泄漏这些机密。这种新的攻击称为负载值注入(LVI),它基于其他CPU漏洞(例如Spectre,Meltdown和微体系结构数据采样(MDS))中使用的技术,但有所不同,更重要的是,它绕过了针对以下方面的缓解措施这些缺陷。
[紧跟8个热门网络安全趋势(和4个趋冷)。顶级安全认证可助您一臂之力:它们的用途,成本和需求。|订阅CSO新闻通讯。]
“至关重要的是,LVI比以前的攻击要难得多,因为它几乎可以影响任何对内存的访问,”来自KU Leuven,伍斯特理工学院,格拉茨科技大学和密歇根大学的研究人员小组在网站上说。致力于新的漏洞利用。“与以前的所有Meltdown型攻击不同,LVI无法在现有处理器中透明地缓解,并且需要昂贵的软件补丁,这可能会使Intel SGX区域的计算速度减慢多达19倍。”
一组学术研究人员在将近一年前于2019年4月向英特尔报告了这次攻击。此后,此问题一直应英特尔的要求进行禁运,因此该公司可以制定缓解措施。2月,来自安全公司Bitdefender的研究人员还独立发现并向英特尔报告了一种LVI变体,称为行填充缓冲区中的负载值注入(LVI-LFB)。
LVI漏洞如何工作?
像Meltdown和Spectre一样,LVI在现代CPU中利用瞬时或推测执行。这是一种性能增强功能,在这种功能中,CPU通过预测可能的结果在完成当前命令之前先计算指令。目的是节省时间,如果预测错误,则将预先执行的指令的结果丢弃。
但是,这些推测性执行可能会在CPU的内部高速缓存或缓冲区中留下痕迹,然后攻击者可以将其用作辅助渠道来重建敏感数据。如果攻击者无法控制正在执行的内容,则在缓存和缓冲区中保留推测性执行的剩余部分并不会太糟糕,但可以使用Spectre和Meltdown等漏洞来影响分支预测,从而生成对目标感兴趣的数据。攻击者。LVI扭转了这种攻击。
“我们不是直接从受害者那里泄漏数据到攻击者,而是朝相反的方向进行:我们将“攻击者”的数据通过隐藏的处理器缓冲区走私(“注入”)到受害者程序中,并劫持瞬时执行以获取敏感信息,例如受害者的指纹或密码。研究人员说。
攻击者首先用选定的值毒化了一个隐藏的处理器缓冲区,然后在受害程序中引发“故障”或“辅助加载”,因此恶意代码是由代码小工具(指令序列)从缓冲区中加载的,受害者程序在其内存中。使用恶意值执行小工具会留下与秘密有关的跟踪,攻击者可以在CPU检测到错误并回滚操作之前通过已知的辅助通道获取这些跟踪。
SGX是现代Intel CPU中存在的一个受信任的执行环境,即使操作系统完全受到威胁,它也应该为加密操作提供机密性和完整性。使用SGX安全区的应用程序将在该安全区(而不是主机OS)只能读取的内存页内执行加密操作,然后返回结果。这意味着加密密钥永远不会暴露在OS内存中。
例如,使用LVI,攻击者可以在CPU的缓冲区中填充零,并迫使SGX将零用作AES加密回合的密钥,然后通过边信道捕获生成的密文。AES加密每轮执行一次,每轮输出与下一轮相关。了解圆形密钥和生成的密文可以帮助攻击者恢复主密钥。研究人员发布了演示这种攻击的视频。
LVI漏洞的影响是什么?
LVI攻击依赖于能够在目标进程中触发故障或辅助负载,并依赖于在该进程的内存中找到特定的可利用小工具。尽管对于SGX可以可靠地完成此操作,但对于其他进程而言却不那么容易,因为操作系统针对先前的攻击和漏洞已采取了多种防御措施。这并不意味着不可能,但是还没有被证明。
研究人员说:“在我们目前的评估中,我们认为LVI主要仅与Intel SGX飞地有关。”“但是,在学术论文中,我们表明LVI的任何成分都不是Intel SGX独有的,LVI攻击原则上不能应用于非SGX传统的跨进程,跨虚拟机或用户到内核的环境。然而,我们没有找到任何可以实际利用的实用LVI小工具,但仅在插入我们自己的LVI小工具的综合场景中探索了这种非SGX攻击。”
独立发现并报告了LVI-LFB变体的Bitdefender研究人员Andrei Lutas和Dan Lutas在他们的论文中说,他们相信该技术可用于引发从内核空间到用户空间甚至跨安全管理程序等安全边界的泄漏。他们也开发了综合的概念证明,这意味着他们创建了受害者进程和攻击者进程以进行测试,以证明受害者进程将使用攻击者进程放置在缓冲区中的恶意值。但是,由于他们创建了受害者进程及其配件来满足他们的需求,因此它不能证明对真实世界中存在的应用程序有利用。
“英特尔目前尚不了解应用程序中操作系统,VM中的VMM [Virtual Machine Manager],虚拟化环境中的来宾之间,不同应用程序之间以及应用程序内部的操作系统的任何特定于负载值注入的通用或非通用小工具,并且尚不知道。发布针对这些环境的其他缓解措施。”英特尔在其安全公告中表示。“作为最佳实践,英特尔建议用户更新到系统供应商提供的最新操作系统和VMM。”
LVI缓解
英特尔已经发布了SGX平台软件(PSW)和SGX SDK的更新,供应用程序开发人员用来创建SGX安全区。该公司还为开发人员发布了软件缓解技术,并正在与合作伙伴一起添加编译器选项,以增强应用程序抵御此类攻击的能力。
“取决于Intel SGX隔离区工作负载的执行属性(例如,CPU绑定与I / O绑定,缓存位置),缓解所有潜在的Load + Transmit,Load + Load + Transmit和Load的性能影响+分行小工具将取决于工作负载而变化,但可能在某些情况下显著,”公司及其在说LVI深潜文档。“如果减轻所有负载所带来的开销是不可接受的,并且他们的特定威胁模型允许这样做,那么独立软件供应商(ISV)也可能选择仅应用部分减轻措施。”
尽管英特尔尚未发布针对这些缓解措施的具体性能影响数字,但在研究人员团队进行的测试中,发现应用缓解措施后,SGX计算速度降低了2到19倍。
值得记住的是,这是一种新的攻击技术,因此研究人员才刚刚开始对其进行研究。在公开Spectre和Meltdown的两年中,这些漏洞的许多变体都暴露出来了,其中一些击败了最初的缓解措施。没有理由认为LVI会有所不同,特别是因为LVI不仅会影响到SGX,而且比Spectre和Meltdown更难且在计算上也要减轻很多。
这个故事“新的CPU攻击技术可以泄露英特尔SGX安全区的机密”最初是由CSO发布的。
相关推荐
猜你喜欢