Black Hat Asia 2019 | 芯片安全依然会“融毁”百度安全披露最新Meltdown攻击变种

国内新闻 浏览(1324)

?

世界上是否存在一种广泛存在于各种电子设备中的安全漏洞,极具破坏性且难以修复? 2018年1月,Google Project Zero和一些独立的安全研究人员发现了CPU芯片硬件级别漏洞Specter And 道路并不断争分夺秒。到目前为止,业界公认的防御计划是KPTI + SMAP +用户内核隔离。

然而,在3月26日至29日在新加坡举行的Black Hat Asia 2019上,来自百度安全实验室的Yueqiang Cheng,Zhaofeng Chen,Yulong Zhang,Yu Ding和Tao Wei发表了关于Meltdown新变种的创新研究。该问题报告侧重于现有的Meltdown和Spectre攻击如何被KPTI + SMAP +用户内核隔离的组合防御技术所击败,以及新Meltdown变体的首次披露,可以完全打破这种防御组合。据报道,这是业内第一个完全打破这种防御的新变种。

“最强”的防御组合拳击分析

处理器上有许多计算和执行单元,用于执行操作,逻辑,测试和访问等。为了提高性能,处理器使用称为推测执行的技术。

在发布分支指令之后,具有预测执行能力的处理器与传统处理器相比验证了这些假设。如果假设有效,则继续执行。如果无效,则停用执行,并根据实际情况开始处理。执行路径。然而,应该注意,当处理器处理指令时,它不是以指令的原始顺序严格执行的,并且通常根据指令的优先级进行排序。也就是说,当执行指令(无序执行的情况)时,处理器将无序执行。

由于处理器以较慢的速度访问主存储器,因此在处理器中内置多级高速缓存以高速缓存最近访问的主存储器数据,这便于处理器快速访问。这是缓存技术。

就Meltdown而言,这种类型的攻击主要利用当代处理器的无序执行功能,即使不需要系统授权,也可以读取任意内核内存位置,包括敏感数据和密码。整个内核地址空间。幽灵攻击利用处理器的分支猜测和缓存技术。

img_pic_1554882604_0.jpg

从理论上讲,这组漏洞可能会影响1995年发布的处理器。因为这个漏洞是一个架构缺陷,无论你使用什么系统(Windows,IOS,Android),什么样的设备(电脑,手机,服务器)可能是影响。脆弱性的严重破坏力不容低估。这将导致CPU的操作机制上的信息泄漏。低级别攻击者可以利用此漏洞远程泄露用户信息或在本地泄漏更高级别的内存信息。

从本质上讲,Meltdown和Spectre攻击的后果是从系统的任何地址空间“读取”数据。由于大多数操作系统将所有内核数据映射到用户进程空间,因此到目前为止业界认可的唯一防御措施是强制内核隔离(KPTI)。为了避免用户进程尽可能地在内核中映射数据,以防止“读取”内核数据的攻击。该解决方案在不同平台上具有不同的名称:Linux上的内核隔离(KPTI),Windows上的内核虚拟地址(KVA)阴影和OS X上的双映射(DM)。

img_pic_1554882604_1.png

在会议现场,百度安防的研究人员专注于“组合拳击”的防御系统。 KPTI/KVA/DM方案要求操作系统维护两个页表,一个用于用户程序,一个用于内核,并确保程序使用的页表不映射高优先级页,即页面内核。在两个页表之间切换将导致重新加载CR3,这将导致TLB刷新,从而降低内存访问的速度。如果某些应用程序方案需要大量内核和用户空间切换(在两个页表之间切换),则会导致高性能开销。为了降低这些性能开销,内核需要充分利用PCID功能来减少TLB刷新。

img_pic_1554882604_2.png

同时,SMAP(Supervisor模式访问保护)也使得Spectre的变体(内核空间中的小工具)无法成功获取内核数据。 SMAP机制不允许内核访问用户地址空间。任何非法访问都会触发CPU异常。

面对KPTI + SMAP +用户内核隔离的最强防御组合,人们认识到没有攻击可以允许低特权应用程序获取内核数据。

百度安全发现最新的Meltdown攻击变种

在今年的Black Hat Asia 2019中,百度安全发布的最新研究显示,有一个新的变种v3z允许恶意进程绕过kpti/kva/dm并可靠地读取任何内核数据。根据百度安全,v3z是第一个击败kpti/kva/dm的崩溃变种。这意味着该行业目前公认的唯一有效防御措施已被打破。 V3z主要使用用户页表和内核页表共存的内存区域,我们这里称之为间隔桥。通过探测桥来间接访问内核其他部分的数据。

V3z攻击的步骤包括以下步骤:

离线阶段

共享内存块的数据收集。收购的主要目的是减少后一种探测的时间成本。此步骤主要使用小工具将熔化的目标数据转换为l1d缓存。

img_pic_1554882604_3.png

在线阶段

在目标内核数据和共享内存间隔(网桥)之间建立数据依赖关系。这里还有一个特殊的小工具。

img_pic_1554882604_4.png

对于共享桥接间隔,请使用探测器的熔化。在优化之前,需要256 * 256探针。由于已知与槽对应的桥的数据,因此探测器的数量可以大大减少到256倍。

img_pic_1554882604_5.png

因此,百度安全最新的Meltdown变种V3z可以突破最强大的防御组合KPTI + SMAP +用户内核隔离。攻击者可以轻松窃取普通用户程序中的任务数据,例如内核中的机密数据(如RSA密钥)或其他敏感服务中的用户隐私(如密码)。

目前没有很好的防御此攻击,因为桥接间隔无法消除(此间隔中的代码需要处理异常和中断,系统调用等,因此无法完全删除)。在问题的最后,百度安全建议内核开发人员尽量减少桥接间隔的大小,并引入地址随机化以增加攻击者的难度。另一种可能的方法是消除可用的小工具,但内核中有很多第三方代码(例如设备驱动程序),这使得这项工作非常困难。简而言之,为了完全抵御v3z攻击,主要操作系统(Linux,MacOS和Windows)供应商需要做很多升级工作,以尽量减少v3z造成的危害。

关于黑帽

Black Hat是由传奇极客Jeff Moss于1997年创立的全球安全技术会议。它每年在亚洲,欧洲和美国举办三次。为确保会议内容的技术进步和客观性,Black Hat拥有严格的报告内容。审查机制报告说,入学率低于20%。

在3月26日至29日在新加坡举行的Black Hat Asia 2019上,百度安全成功选择了三项关于深度神经网络(DNN)模型算法安全性,Rowhammer的新攻击方法和Meltdown新变种的创新研究报告。本主题的选择也充分表明,百度安全在人工智能安全,系统安全和软件安全等重要安全领域拥有世界领先的技术储备。在会议上,他受到来自欧洲,澳大利亚,亚洲和美洲的许多研究人员的高度赞扬。

与此同时,百度安全还致力于呼吁业界加深对安全问题的重视和投入,从核心底层开始,整合架构和开发的安全性,巩固下一代网络安全的基石。