天地和兴工控安全研究院 编译

编者按:当今,针对各种固件的攻击已经成为一个活跃的攻击领域,这也成为现代组织面临的最大威胁之一,它涉及到政治、经济、军事等诸多领域。现在,攻击者越来越多地把目光投向了石油、天燃气、供水等关键基础设施领域,而这些领域的漏洞很多,防御能力往往较弱。如何应对威胁,抵御风险,Eclypsium公司的研究报告围绕固件攻击的发展过程及未来趋势,分别从固件和硬件攻击的兴起、攻击动机、固件攻击的基础、攻击向量、恶意技术、案例分析等进行了研究,重点分析了攻击者策略、攻击向量,以及各种各样的固件组件如何被用作持久攻击,并对固件安全风险提出预警。

针对设备硬件和固件的攻击是现代组织面临的最大威胁之一。固件保留最高权限,允许攻击者绕过传统控制,并提供更高级别的持久性。固件层也迅速成为网络安全最活跃的攻击领域之一,攻击者越来越多地把目光投向企业领域,而企业领域的漏洞很多,防御能力往往最弱。

固件和硬件攻击也明显不同于传统的恶意软件和网络威胁。安全团队必须准备好抵御一系列新的攻击者策略、攻击向量,以及了解各种各样的固件组件如何被用作持久攻击的一部分。这篇文章介绍了这些关键的主题,并描述了固件攻击的发展过程,包括:

  • 攻击者动机

  • 关键固件组件及其在攻击中的作用

  • 攻击固件的载体

  • 固件在持久攻击中的作用

  • 现实世界中固件威胁的例子

通过对固件攻击及其工作原理的剖析,组织可以做出明智的决定,更好地保护他们的数据和资产。

固件和硬件攻击的兴起

固件一直以来都是计算机的主要组成部分,但直到最近才成为一个活跃的攻击领域。对公司的兴趣上升是由多种因素造成的。首先,从2013年到2016年一系列引人注目的泄密事件(vault7,hackingteam,影子经纪人)揭示了一个持续的趋势。固件植入和后门是世界上最复杂的攻击者的一些常用工具,这些攻击者想要逃避检测,并保留在主机上。这要归功于软件和操作系统层安全性的提高,使得未受保护的固件成为阻力最小的攻击路径。

然而,同样的方式,就像民族国家利用漏洞进行攻击,如永恒之蓝被迅速纳入广泛的恶意软件运动(如:WannaCry,Trickbot),固件威胁同样稳步成为主流。例如,第一个广泛传播的恶意软件运动于2018年发起,其中包括UEFI(统一可扩展主机接口)rootkit,随后很快又出现了另外的大规模勒索软件运动和其他对固件的破坏性攻击。

同样,固件漏洞迅速成为安全研究中最活跃的领域之一,导致了从笔记本电脑到服务器和网络设备等各种设备中新发现的大量漏洞。固件不仅成为了阻力最小的攻击途径,而且在每个企业设备中无处不在。

这种活跃的威胁和大量漏洞的结合使得固件成为网络安全领导者的头等大事。NIST反复强调固件安全的重要性,并将其定义为符合《财政法》的主要组成部分。PCI-DSS [第三方支付行业(支付卡行业PCI DSS)数据安全标准]和其他法规已经根据FISMA(联邦信息安全管理法案)的要求制定了标准。包括GARTNER在内的行业分析师也同样强调了固件安全的重要性,他们都将其列为最高安全优先级,最近还预测“到2022年,70% 没有固件升级计划的组织将因为安全软件漏洞而被攻破”。

攻击动机

虽然现实世界的行动清楚地表明,固件是优先考虑的事情,但重要的是要了解原因。通过破坏固件,攻击者获得了传统攻击无法获得的多种优势,我们在下面对此进行概述。

最高级别的权限-攻击者自然会寻求最高的权限来继续他们的攻击。在用户级别,这通常意味着提高用户空间(ring 3)中的权限,从用户升级为管理员权限,或者在系统级别寻求内核权限(ring 0)。虽然这些是操作系统的最高权限,固件位于内核之下。因此,固件中的恶意代码有可能破坏kernelland,从而在概念上拥有比 ring 0更高的权限。这些权限有时被称为Ring-1到Ring-3。对这些层的控制为攻击者提供了设备上最高级别的权限,并且能够破坏所有更高层的权限。

绕过传统的安全措施-破解更高层次的能力,最重要的是允许攻击者避开运行在更高层次或只看到Ring0的控制和安全措施。这包括在操作系统和虚拟机层运行的传统安全性。例如,被破解的固件可以很容易地让攻击者控制系统如何启动,修补操作系统本身,从硬件读取特权数据,或者控制操作系统无法看到的资产。在服务器的情况下,受损害固件还可以让攻击者进一步危害虚拟机监控程序和虚拟机组织云资源中的计算机层。

持久性-隐藏和规避操作系统的能力为攻击者提供了一个在被攻陷设备上的极隐蔽的持久潜伏。除了规避控制外,硬件系统中的恶意代码自然而然地与设备的硬件相联系,而不是与软件相联系。这意味着攻击者的代码会自然而然地持续存在,甚至在系统的完整重镜像过程中也是如此。这种能力对于攻击者来说尤其具有战略意义,因为它通常通过维护C2(指挥和控制)点以及强化攻击行动来推进更广泛的攻击。

隐身-受到破坏的固件也使攻击者能够在不被发现的情况下执行多种关键攻击功能。例如,通过控制硬盘或SSD的固件,攻击者可以在没有向操作系统报告的磁盘区域中使用隐藏恶意软件,从而避免被防病毒工具扫描。同样地,对设备管理组件(如英特尔的管理工程)的攻击允许攻击者通过独立的信道发送命令和控制流量,这些信道不会被运行在操作系统级别的基于主机的防火墙监控。

危害-最后,访问固件层可以使攻击者对设备造成不可逆转的损害。通过破坏固件本身,攻击者可以将设备永久“砖”化。此外,有效禁用设备的行为会破坏企业的业务、服务和各种基础设施,从而给企业带来巨大的负面影响。

固件攻击的基础

固件攻击涉及多种组件和技术,这在传统的基于软件的攻击中是不常见的。在本节中,我们将介绍一些设备中最重要的固件组件,它们如何作为攻击的一部分被滥用,以及攻击者对它们使用的策略和技术。本节既不详尽,也不权威,而是介绍固件攻击的关键概念。

关键固件组件

说到固件,首先想到的往往是系统固件,如BIOS或其更现代的替代品UEFI。这个系统固件特别强大,但它只是现代设备中依赖固件并能在攻击中扮演关键角色的许多组件中的一个。下表介绍了几个关键组件及其在攻击中的作用。不过,为了更彻底地分析固件组件及其泄露情况,我们鼓励您参考eclypsium 网站,在线了解您自己的设备资源。

固件组件攻击中的角色
系统固件和其他启动固件(bios、 uefi、 efi、 mbr)这个关键固件是启动时运行的第一个代码,破坏操作系统,可以通过更改引导代码、修补操作系统内核以及破坏管理程序和虚拟机。系统固件也可以用来向系统中的其他组件发送恶意固件。
系统管理模式(SMM)SMM和类似的固件专注于设备的运行时操作,允许系统完全独立于操作系统来管理系统上的底层行为。这可以让攻击者在不知道操作系统的情况下,自由进入系统。
处理器利用中央处理器的漏洞,攻击者可以查看受保护的资料,例如通常保留在特权内存中的密钥。程序或漏洞也有可能被远程利用,这进一步增加了他们的风险。CPU 中的漏洞尤其令人担忧,因为即使软件中没有漏洞,并且启用了所有操作系统级别的保护,它们也可能影响任何系统或操作系统。此外,修补处理器漏洞可能具有挑战性,需要安装固件更新、处理器微代码更新、操作系统更新、vmm 更新和软件更新。
英特尔的管理引擎英特尔的管理引擎(me)是内置在个人电脑中的一个通用组件,用于启用设备的带外管理。ME也被称为TXE在SKYLAKE微架构和更新平台上的CSME。ME 中的固件包括所谓的主动管理技术(amt) ,其功能和网络完全独立于主机操作系统,可供攻击者用于指挥控制、数据外泄和其他各种功能。
基板管理控制器(BMC)BMC为服务器提供带外管理,同样有自己的独立服务器、网络、固件和资源。对BMC的攻击可使攻击者完成控制服务器及其包含的所有更高层数据和服务,甚至可以用于永久性地将服务器完全阻塞。
Usb设备Usb 设备可以在其固件中包含恶意软件,从而可以允许它们欺骗其他 usb设备,利用操作系统内核和驱动程序,甚至可以将恶意软件或恶意固件传递给其他易受攻击或未受保护的组件。
网卡和移动设备PCIE总线提供与各种关键组件的连接,如 gpu、网络接口等等。PCIE卡和PCIE连接设备的固件可以通过软件和网络被感染。当被攻破的时候,它可以执行破坏性的DMA攻击,在受害者操作系统上读写系统内存并执行恶意代码。
附加组件和模块实际上,系统中的每个设备或组件都依赖于固件,而且它们在攻击中的用途会根据组件的功能而变化。 DRAM、GPU、网络接口和驱动器只是其中的几个例子。有关详细信息,请参阅“了解您自己的设备”页面。

攻击向量

现在,我们已经确定了一些固件的关键部分的受攻击面,我们可以看看攻击者用来攻击固件的方法。攻击者通常需要建立到固件的路径,这可以通过几种一般的方式来实现。要么攻击者可以从传统的网络或软件层下移到固件层,要么从硬件层上移。

软件下载

固件的“软件下载”方法通常遵循与传统恶意软件感染相似的路径。最初的攻击可能来自网络钓鱼,驱动程序下载,或者社会工程。在这一点上,攻击者可以直接攻击脆弱固件中的漏洞,以提供一个植入或可以使用其他工具,如脆弱的驱动程序升级特权,以便按需要控制固件。对于攻击者来说,两种选择都非常简单。第一种是直接利用漏洞,第二种是恶意软件使用多年的标准木马/Dropper模式。

不幸的是,缺乏更新和修补,使得固件漏洞非常普遍。事实上,eclypsium 已经发现超过95% 的设备在现实环境中包含至少一个漏洞。脆弱性可以很简单,比如一个组件不需要固件更新签名,这样攻击者就可以用恶意镜像替换固件。

然而,攻击者也可以使用各种工具从用户空间转移到固件。像 rweverything (读写一切)这样的工具可以让攻击者直接在组件上写固件。具有讽刺意味的是,我们的研究表明,一些最强大的工具通常是驱动程序设计来管理硬件和组件本身。这些驱动程序可以被滥用来安装攻击者代码到UEFI和其他组件。这些技术最近也在 lojax 恶意软件和 APT攻击中使用过。

硬件升级

攻击者还可以采用更加聚焦于硬件的方法来攻击固件,这种策略可以采用多种形式。破坏供应链中的设备是通往设备硬件及其固件的最直接途径之一。如果厂商或其供应商之一受到损害,则可以将恶意或故意易受攻击的固件引入产品。考虑到现代设备中包含许多组件和广泛的基础供应链,这实际上是一个很大的攻击面。同样,如最近的ShadowHammer攻击所示,即使在交付设备后也可以通过破坏供应商提供的官方更新来攻击供应链。在这两种情况下,攻击者都可以破坏组织通常认为安全的系统。

接下来,攻击者可以通过物理访问系统来破坏固件。USB设备中的恶意固件可以通过“邪恶女仆”攻击在几分钟之内破坏受害者系统的固件。超声波螺丝刀植入物也证明了Thunderbolt端口也是潜在的进入方法。在某些情况下,当通过虚拟介质服务提供USB端口时,甚至可以远程发起这种攻击。

最后,系统和组件固件可以直接通过网络攻击。UEFI、BMCS和其他固件组件通常具有自己独立的网络功能,专门用于提供超出存储范围的数据。这可能会将易受攻击的组件直接暴露在互联网上。类似地,更新过程中的弱点可能允许攻击者直接远程破坏组件固件。

恶意技术

一旦固件被攻陷,攻击者自然会利用这个位置继续攻击。这可能包括建立持久性,破坏附加固件组件,捕获特权信息,泄露数据,影响性能,甚至完全禁用设备。

更改启动过程-通过破坏系统固件或可信平台模块内的固件,攻击者可以通过破坏系统的安全启动过程来建立持久性。这可以包括将系统定向到攻击者提供的启动映像,直接修补操作系统内核,或者在启动时绕开固件完整性检查。攻击者也可以在启动时使用选项 rom 攻击来改变其他的硬件。事实上,几乎任何固件组件都可以改变引导过程。例如,受损的 NIC 或BMC 可以在引导过程中进行DMA攻击,受损的SSD 可以改变引导过程中使用的数据,绕过引导时的全磁盘加密等。

Option ROM攻击-这种攻击可以用作初始感染的一部分,或从一个组件到另一个组件传播恶意固件。在启动过程中,组件通常使用 OptionROM获取适当的固件。破坏固件选项,提供初始感染方法,提供引导过程的持续修改,而不直接修改系统UEFI固件。

直接内存访问(DMA)-DMA攻击是另一种基于固件的攻击常用技术。DMA通常用于给组件直接访问系统内存,而不需要通过操作系统。这种方法提供了部件和外围性能。但是,此访问可能允许泄露组件读取内存和权限信息以及内存中的其他数据。攻击者同样可以使用此访问在系统上安装恶意代码。DMA 攻击是非常常见的PCI连接设备和设备的DRAM。

处理器级漏洞利用-像rowhammer 这样的攻击可以让攻击者在RAM区域内翻转位元,以提升权限。同样,现在臭名昭著的幽灵和熔毁漏洞允许通道访问处理器上可能受到保护的信息。

禁用设备-最后,固件可以用来暂时或永久禁用设备。固件提供了一种自然的方式来解除设备,因为它是运行的第一个代码,并在引导过程的其余部分发挥关键作用。这些技术可以用来对付任何设备,包括服务器。

案例分析

案例分析:LoJax攻击

接下来我们可以看看最近的一个恶意软件活动,看看固件是如何在现实世界中使用的。Lojax 恶意软件攻击有多种潜在途径。

例如,初始突破可能来自许多传统的恶意软件感染介质,包括电子邮件附件,随身下载,XSS攻击,插入USB驱动器或来自攻击者的物理访问,仅举几例。虽然LoJax攻击活动主要是通过电子邮件网络钓鱼来驱动的,但是类似的攻击很容易通过受感染的USB或“恶意女仆”攻击而开始。

当用户打开恶意附件时,恶意软件使用了易受攻击的驱动程序(如我们的“ Screwed Drivers”研究中所述),以获取对平台内物理总线的任意访问权。然后,它利用这种直接的硬件访问与芯片组中的SPI控制器进行对话,该SPI控制器控制对包含UEFI系统固件的SPI芯片的访问。下一步是使用此访问权限,将恶意的DXE应用程序写入UEFI系统固件,该固件将在每次后续启动时运行。当此添加的DXE应用程序在引导过程中运行时,它将嵌入式自身的应用程序放入包含操作系统的驱动器中,并在Windows启动之前修改注册表,以确保其服务在每次引导时都运行,即使系统已擦除并重新映像 。

接下来,通过对操作系统的控制,恶意软件能够驱动正在进行的攻击过程。这包括读取系统上的文件和收集数据的能力,对其他系统和服务启动攻击,以及使用RPC创建命令和控制通道的能力。

总结

固件攻击是当今组织面临的最严重的威胁之一。这些基本能力几乎可以应用于任何攻击阶段,从指挥控制到横向移动,从秘密窃取到破坏数据和资产。

通过利用固件或易受攻击的驱动程序的弱点,攻击者可以将传统软件和基于恶意软件的攻击扩展到固件层。此外,攻击者可以直接通过硬件供应链、公开端口,甚至通过网络远程介质或固件更新过程攻击硬件。

这些只是目前固件受到攻击的一些方式。作为我们正在进行的研究的一部分,我们将继续用最新的技术、策略和例子来更新这些资源。如果您对本文提供的信息有任何疑问,或者想了解更多关于Eclypsium解决方案的信息,请联系我们 info@eclypsium. com。

关于Eclypsium

Eclypsium长期致力于对固件威胁方面的研究, Eclypsium的新安全层,可以保护企业的不受保护的固件和硬件层-包括笔记本电脑,服务器和网络基础结构。现代攻击者知道,传统的安全工具在系统级别和硬件组件内部都无法看到固件,并且越来越多地使用固件植入和后门来绕过安全控制,长期破坏组织的基础架构。Eclypsium检测并警告诸如硬件植入,后门和Rootkit之类的威胁。通过利用IOC,静态行为和启发式分析来发现已知或未知威胁或固件完整性更改。总部位于俄勒冈州比弗顿,Eclypsium 拥有业界最大的全球固件声誉数据库,通过丰富行业经验和研究提供新的安全层,提供了最完整的解决方案,可保护组织免受固件威胁。其行业领先的客户和合作伙伴包括Madrona Venture Group、Andreessen Horowitz、Intel Capital、Ubiquity Ventures、 FS-ISAC、SINET、CyberOregon。

了解更多信息请访问www.eclypsium.com

参考资源

https://www.eclypsium.com

https://www.fsisac.com/

https://www.security-innovation.org

https://cyberoregon.com

https://www.madrona.com/

Gartner研究:如何减轻数据中心,公共云和私有云中的固件安全风险,2019年7月3日

https://eclypsium.com/2019/12/20/anatomy-of-a-firmware-attack/

声明:本文来自关键基础设施安全应急响应中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。