Rootkits是植入操作系统最深处的恶意软件。虽然在理论上它们可能对攻击者有吸引力,但编制这种恶意软件存在巨大的技术挑战,即使最轻微的编程错误都有可能使受害机器完全崩溃。

卡巴斯基研究团队认为,尽管存在这些风险,但他们预计会有更多的攻击者具备开发此类工具所需的复杂程度和技术能力。嵌套在如此低级的操作系统中的恶意软件的主要吸引力之一是极难检测,并且在固件rootkits的情况下,即使重新安装操作系统或用户完全更换机器的硬盘驱动器,也将确保计算机保持受感染被控制状态。研究人员推测,固件威胁提供了终极隐身性和持久性——并且可能通过供应链中受污染的固件组件进行分发。

一个名为“CosmicStrand”的Windows固件 rootkit已经出现在网络威胁世界中,目标是统一可扩展固件接口(UEFI),以实现隐身和持久化。UEFI固件的任务是启动Windows 计算机,包括加载操作系统。因此,如果固件被恶意代码污染,该代码将在操作系统启动之前加载-这使得大多数安全措施和操作系统级防御对其视不可见。

卡巴斯基的研究人员在7月25日的一篇帖子中解释说:“由于固件驻留在与硬盘驱动器分开的芯片上,这使得对UEFI固件的攻击异常隐蔽和持久。” “无论操作系统重新安装多少次,恶意软件都会留在设备上。”

一旦触发,代码会在漫长的执行链后在 Windows操作系统中部署一个恶意组件。该组件连接到命令和控制服务器 (C2) 并等待指令下载额外的恶意代码片段,恶意软件将这些代码片段映射到内核空间并组装成 shellcode。

Kaspersky获得的一个shellcode样本,其功能是在受害者的机器上创建一个新用户并将其添加到本地管理员组中。

卡巴的文章由此推断,从C2服务器接收到的 shellcode可能是攻击者提供的PE可执行文件的暂存器,而且很可能存在更多。

卡巴大致还原的感染过程

在深入了解组成这个rootkit 的各种组件之前,卡巴想提供一个关于它试图完成的任务的高级视图。此执行链的目标是在每次启动时从受感染的UEFI组件开始将内核级植入部署到Windows系统中。

UEFI恶意软件作者面临一个独特的技术挑战:他们的植入程序在启动过程中很早就开始运行,以至于操作系统(在本例中为Windows)甚至还没有加载到内存中——到那时,UEFI执行上下文将终止。找到一种在各个启动阶段一直传递恶意代码的方法是rootkit完成的主要任务。

该工作流程包括连续设置挂钩,允许恶意代码持续存在直到操作系统启动之后。涉及的步骤是:

  • 初始受感染的固件引导整个链;

  • 该恶意软件在启动管理器中设置了一个恶意钩子,允许它在执行之前修改 Windows的内核加载程序;

  • 通过篡改操作系统加载程序,攻击者能够在Windows内核的功能中设置另一个钩子;

  • 当稍后在操作系统的正常启动过程中调用该函数时,恶意软件最后一次控制了执行流程;

  • 它在内存中部署一个shellcode并联系C2服务器以检索实际的恶意负载,以在受害者的机器上运行。

正如美国国土安全部 (DHS) 和商务部在3月份关于固件威胁的报告中所说,rootkit带来了巨大的风险。

政府机构在联合报告草案中指出:“攻击者可以破坏操作系统和虚拟机监控程序的可见性,绕过大多数安全防御系统,隐藏并在网络和设备中长时间存在,同时进行攻击操作,并造成不可挽回的损害。”

研究人员指出,这一特定活动似乎高度针对中国的特定个人,在伊朗和越南也出现了一些案例。目前尚不清楚Cosmic Strand的最终结局是什么,但它很可能是一场间谍活动;卡巴斯基将此活动归因于与MyKings僵尸网络团伙重叠的一种尚不为人知的讲中文的高级持续性威胁 (APT) 。

供应链安全之“邪恶女仆”的担忧

研究人员对rootkit是如何进入人们的机器知之甚少。尽管如此,根据卡巴斯基的说法,供应链的弱点是可能的,“在网上发现的未经证实的账户表明一些用户在网上订购硬件组件时收到了做过手脚的设备。”

通过修补特定驱动程序以重定向到在系统启动期间执行的恶意代码,这类修改被专门引入特定驱动程序。

卡巴斯基研究人员指出:“我们评估[对驱动程序]的修改可能是使用自动修补程序执行的。” “如果是这样,那么攻击者可以事先访问受害者的计算机,以提取、修改和覆盖主板的固件。这可以通过已经部署在计算机上的前体恶意软件植入物,或者依赖于物理访问(即邪恶的女仆攻击场景)。”

卡巴研究人员补充说,在攻击中,植入物特别注入到了共享H81芯片组的技嘉和华硕主板。这为最初的入侵突破提供了另一种可能性。

报告称:“这表明可能存在一个常见漏洞,允许攻击者将他们的rootkit注入到固件的映像中。”

CosmicStrand最早出现在2016

非常值得注意的是,自2016年底以来,CosmicStrand似乎已经在野外使用,这早于UEFI攻击被认为是重大问题。

“尽管最近被发现,CosmicStrand UEFI固件 rootkit似乎已经部署了很长时间,”卡巴斯基全球研究与分析团队 (GReAT) 的高级安全研究员Ivan Kwiatkowski 说。“这表明一些威胁参与者拥有非常先进的能力,自2017年以来他们一直设法保持低调。我们想知道他们在此期间制造了哪些我们尚未发现的新工具。”

UEFI rootkit在野外仍然很少见,这要归功于它们开发的复杂性和难度——但它们也不是神话。2017年,奇虎360研究团队观察到第一个野外应用,疑是被某国支持的APT使用;卡巴斯基认为CosmicStrand与该威胁有关,该威胁被称为Spy Shadow Trojan。即使这样,卡巴研究团队认为他们没有足够的信息将CosmicStrand与现有的已知攻击组织联系起来。

然后,ESET在2018年发现了一个被俄罗斯国家赞助的威胁组织APT28(又名Fancy Bear、Sednit或Sofacy)使用。它之所以被称为LoJax ,是因为它的底层代码是 Absolute Software 的笔记本电脑LoJack恢复软件的修改版本。

从那以后,其他的就很少曝光了,比如卡巴斯基分别在2020年和2022年发现的MosaicRegressor和MoonBounce 。

卡巴斯基研究人员警告说,这些类型的 rootkit仍然比较神秘,目前所知道的并不多,值得分析师社区更多关注。

卡巴斯基的结论认为,“CosmicStrand是一个复杂的UEFI固件 rootkit [它]似乎已经使用了几年,但仍然存在许多谜团,”他们指出。“还有多少植入物和 C2服务器仍然在躲避我们?哪些最后阶段的有效载荷正在交付给受害者?而且,CosmicStrand真的有可能通过‘拦截’包接触到它的一些受害者吗?无论如何,到目前为止发现的多个rootkit证明了我们行业中的一个盲点,需要尽快解决。”

一个自然而然的问题是,如果这种UEFI植入物似乎自2016年底以来就已被广泛使用——早在UEFI攻击开始被公开描述之前。这一发现引出了最后一个问题:如果这就是攻击者当时使用的东西,那么他们今天使用的是什么?

上述由国土安全部牵头的联合报告草案指出,固件呈现出“一个巨大且不断扩大的攻击面”。他们补充说,固件安全性经常被忽视,尽管它是攻击者可以大规模破坏设备的最隐秘方法之一。

参考资源

1、https://securelist.com/cosmicstrand-uefi-firmware-rootkit/106973/

2、https://www.darkreading.com/endpoint/rare-cosmicstrand-uefi-rootkit-cybercrime-orbit

3、https://www.dhs.gov/sites/default/files/2022-02/ICT%20Supply%20Chain%20Report_0.pdf

声明:本文来自网空闲话,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。