总部位于斯洛伐克布拉迪斯拉发的世界知名电脑安全软件公司ESET于本周四(9月27日)发布的一份题为《LOJAX :First UEFI rootkit found in the wild, courtesy of the Sednit group》的白皮书中公开披露了据称是第一个在现实攻击活动中被捕获的UEFI rootkit,它具备很强的生存能力,即使是在受害者重装系统、更换硬盘之后也依然能够存活。
什么是UEFI rootkit?
无论是“UEFI”还是“Rootkit”,有些读者可能都会对它们感到陌生。没关系,百度百科已经给了我们较详细的科普。
UEFI,全称“统一可扩展固件接口(Unified Extensible Firmware Interface)”,是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。它是传统BIOS的替代品,是计算机的核心和关键固件组件。
Rootkit,一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,通常与木马、后门等其他恶意程序结合使用。
在了解了这两个关键名词之后,相信大家对UEFI rootkit就已经有了一个初步的概念。它实质上就是一种能够攻击UEFI固件的计算机病毒,而下面要介绍的就是最新被发现的一个UEFI rootkit——Lojax。
LoJax与APT28有关
ESET的安全研究人员表示,被称为LoJax的UEFI rootkit不出意外应该是臭名昭著的Sednit组织(又名APT28、Fancy Bear、Strontium和Sofacy)所进行的恶意软件活动的一部分,目标是巴尔干以及欧洲中东部的几个政府组织。
Sednit组织至少开始运营于2007年,且被认为是一个有着国家背景的黑客组织,据信是俄罗斯军事情报机构GRU(General Staff Main Intelligence Directorate)的一个部门。该黑客组织与许多轰动一时的网络攻击事件有关,包括在美国2016年总统大选之前针对美国民主党全国委员会(DNC)的攻击。
为什么被称作LoJax?
根据ESET研究人员的说法,LoJax原本是Absolute Software公司在2017年初推出的一款深受用户欢迎的合法笔记本电脑防盗软件,能够向用户报告其笔记本电脑的实时位置。即使是在操作系统被重新安装或者硬盘被更换的情况下依然能够工作,而这是通过LoJax软件将其代理安装到系统的BIOS中来实现的。
此次被公开披露的这个UEFI rootkit便是黑客对LoJax软件稍作修改之后而来的,同样具备覆盖UEFI固件的能力,但改变了与Absolute Software服务器通信的后台进程,使得它会向Sednit组织的C&C服务器进行报告。
在分析了LoJax恶意软件样本之后,研究人员发现Sednit组织使用了一个名为“ReWriter_binary”的组件来重写易受攻击的UEFI芯片——用他们的恶意代码替换了芯片供应商的代码。
LoJax很难被清除
LoJax恶意软件能够将恶意UEFI固件副本写入系统的SPI闪存,允许BIOS固件在启动过程中在计算机硬盘内部安装和执行恶意软件。具体来说,这个UEFI rootkit在实施攻击的过程中,会涉及到使用多个模块以及多种攻击方法。
在攻击开始之前,它会先释放模块用于收集固件的详细信息,然后通过读取UEFI固件所在的SPI闪存模块来创建携带LoJax恶意软件的固件副本,接着再将副本写回到系统的SPI闪存。
在完成了最后的步骤之后,这个UEFI rootkit也就拥有了对设备和操作系统造成持续性破坏的能力。即使是被发现,受害者也不会有太好的办法来处理它。
简单来说,Lojax恶意软件被安装在目标系统的底层深处。也正是因为如此,它具备很强的生存能力——能够在操作系统启动之前重新感染系统。因此,即使是重新安装操作系统、格式化硬盘,甚至是更换新硬盘都不足以清除这种感染。
如何清除、如何防御?
ESET的安全研究人员表示,清除此类UEFI rootkit的唯一方法是使用合法软件刷新被感染的固件。然而,对于大多数普通计算机用户而言,这通常不会是一项简单的任务。
值得庆幸的是,研究人员指出,由于这个UEFI rootkit并没有正确的签名,因此大家可以通过启用安全启动机制来保护自己的计算机免受LoJax恶意软件的感染,从而确保系统固件加载的每一个组件都使用的是有效证书并进行了正确的签名。
如果你已经感染了该恶意软件,那么你能做的也就只剩下使用对应主板的干净固件映像重新刷新SPI闪存。这是一个非常繁琐的过程,必须手动进行且需要掌握相应的专业知识。当然,这里还有一个更简单、直接的办法——更换受感染的主板。