在网络安全史上,研究人员第二次发现真实世界中有恶意软件潜伏在统一可延伸固件界面(UEFI)之中,UEFI 是个低阶且高度不透明的固件,更是用来启动几乎每台现代电脑所需的固件。
做为将 PC 装置固件与其操作系统连接起来的软件,UEFI 本身就是一个操作系统。它位于焊接在电脑主板上的 SPI 界面快闪储存芯片之中,因此不论检测或更新修补程式码都很困难。它是打开电脑后运行的第一件事,让使得它可以影响甚至控制操作系统、安全应用程序以及随后的所有其他软件。
根据安全公司卡巴斯基实验室(Kaspersky Lab)周一发布的最新研究报告指出,这些特征使得 UEFI 成为藏匿恶意软件的完美场所,而这正是发动未知攻击的组织正在做的勾当。
去年,在这家总部位于莫斯科的资安公司将新的固件扫描工具整合成到自家防病毒产品之中后,研究人员从旗下某用户处复原了一个可疑 UEFI 映像档。经过进一步研究,卡巴斯基实验室在 2018 年发现另一位用户也感染了同一个 UEFI 映像档。两位受感染的使用户都是位于亚洲的外交人员。
寻求最大化潜伏期的超耐力恶意程式
分析最终显示,每次运行固件时,UEFI 映像档都会检查 Windows 启动资料夹中是否存在名为 IntelUpdate.exe 的档案。如果没有,该映像档会将该档放置到资料夹中。事实证明,在专为间谍活动和资料收集而构建的大型模组化框架中,IntelUpdate.exe 虽然很小却发挥了极其重要的作用。IntelUpdate.exe 扮演了整个攻击链中第一连结的角色。它回报资讯给攻击者控制服务器,以下载另一个连结,这个连结又会下载其他连结,所有这些连结都是根据受感染者的个人资料量身订制的。
这家安全公司将在自家线上安全分析师峰会(Security Analyst Summit @Home)上介绍最新调查结果。在一篇伴随着小组专题讨论而发表的部落格贴文中,作者 Mark Lechtik 和 Igor Kuznetsov 写道:
在本篇部落格贴文中所描述的攻击,清楚表明了恶意攻击者极尽所能地就是为了获得在受害机器上最高程度的持久性。在网络上看到日渐泛滥的 UEFI 固件遭劫持状况是极其罕见的,这通常是由于对固件攻击的可见度很低,将其部署在目标的 SPI 快闪芯片上需要更先进的手法,以及烧录敏感工具集或资产的风险很高。
考虑到这一点,我们看到 UEFI 仍然是 APT 骇客会感到兴趣的焦点,然而却普遍被安全厂商所忽视。我们的技术,再加上对当前及未来利用受感染固件之恶意活动的了解,有助于我们监控并通报专门针对此类目标的未来攻击。
原本用来保护的软件被改造成固件级攻击利器
如果 Rootkit 是一种很会钻洞并钻到无法被操作系统检测到之深度的恶意软件,那么“Bootkit”(至少是 UEFI 变种之一)也不遑多让,不同之处在于它在启动过程中能以固件级别运作。有鉴于其神乎其技的攻击能耐(在一个基本上看不到的芯片中,具备在启动之前写入、删除或修改任何内容的能力),安全从业人员长期以来就认为 UEFI bootkit 恶意程式早已存在。但该攻击想在真实世界中实作存在一些障碍,因为一些让 UEFI 受到攻击者青睐的相同优点,也成了让他们难以被滥用的缺点。
2014 年,卡巴斯基实验室发现,攻击者可以一种先见之明的方式来迎接挑战(透过滥用一种当时称之为 Absolute Computrace 的防盗追踪元件)。该元件后来改名为 LoJack,其具备一个可将自己嵌入至 UEFI 之中的模组。为了密切监控电脑,该模组会和 Absolute Computrace C&C 主控服务器维持持续连线的状态。
一旦电脑遗失或遭窃,该软件可以下载一个能让服务器远端控制 PC 的补救模组。合法所有人可以借此确认 PC 的 IP 位址、大概位置和其他详细资讯。所有人还可以选择远端清空硬盘内容或执行其他远端操作。因为该模组运行在 UEFI 中,所以即使该 PC 硬盘遭更换或操作系统被重灌,所有远端控制仍然可以正常执行。
卡巴斯基实验室在分析这个防盗追踪元件后发现,该软件(包括 UEFI 模组)在许多没有明显通知的情况下,就预先擅自安装在许多家用和商用笔电上。更令人担忧的是,Absolute Computrace 没有提供任何能控制服务器向笔电自我验明正身的方法。最坏的结果是:如果该软件被迫存取错误的服务器,那么位于地球另一端的骇客便可以控制和它连接的电脑。
“我们认为防盗技术本身是一个不错的想法,但前提是一切都应按照预期进行才对,”2014 年卡巴斯基官方贴文总结道。“一旦这中间出了任何差错,原本被开发用来保护的软件,有可能顿时被当作攻击的武器使用。我们没有证据表明 Absolute Computrace 被用做攻击平台,但是我们看到了这种可能性,并且一些令人震惊和莫名其妙的事实让这种可能性愈来愈大。”
4 年后,总部位于斯洛伐克的资安公司 ESET 发现,世界上最先进、最臭名昭彰的骇客组织之一就做了这样的勾当。ESET 复原的某软件工具能够通过先拆解固件,然后再透过恶意程式码修补并覆写固件的方式将 Absolute Computrace 彻底改造成恶意攻击平台。经修补后的固件导致电脑沦为向 Fancy Bear 俄罗斯国家赞助骇客组织旗下服务器汇报一切的傀儡电脑,该组织曾于 2016 年入侵美国民主党全国委员会(Democratic National Committee)。
这一发现可说是攻击者首次在真实世界中使用 UEFI booktkit 程式的案例。ESET 将其称之为 LoJax 恶意软件。在此一发现后 8 个月,安全公司 Netscout 的研究人员发现 LoJax 仍在运行中。
bootkit 攻击有可能来自华语骇客
如今卡巴斯基实验室发现了第二次在真实世界中积极使用 UEFI bootkit 恶意程式的勾当,但卡巴斯基实验室仍然不知道 bootkit 恶意程式是如何成功安装到受害电脑上的。一种可能是 PC 接收从远端来源的假冒 UEFI 更新,但是在卡巴斯基 AV 日志中并没有发生这样状况的任何迹象。
这一点让公司研究人员推测安装恶意固件的攻击者应该拥有实体存取权限。根据意大利知名骇客公司 Hacking Team 在 2015 年被骇而泄漏的源代码,该骇客公司提供了如何使用 USB 随身碟安装 UEFI bootkit 恶意程式的步骤式教学说明,该公司将这个教程称之为 VectorEDK。透过 USB Key,只需几分钟的时间,攻击者便可以启动目标电脑,并将该电脑设定成可透过 USB Key 启动。
如前所述,bootkit 的最终目标是允许安装庞大的恶意软件框架。卡巴斯基实验室将其称之为“MosaicRegressor”。当公司研究人员进一步研究发现组成该框架的许多模组时,他们发现自家数十位 AV 使用者也收到了(与 UEFI 不相关的)部分的框架。与前述感染 UEFI 映像档的两位使用者一样,新发现的受害者都是外交人员或非-组织成员。他们分布在非洲、亚洲和欧洲,而且他们的活动都与北朝鲜有关。
卡巴斯基实验室的研究人员还发现了证据,bootkit 恶意程式只是安装恶意框架的方式之一。在 MosaicRegressor 归档中的档案显示了两个可能采用鱼叉式网络钓鱼攻击的文件。两种引诱文件(一篇用俄语撰写,另篇种用英语撰写)都讨论到了涉及北朝鲜的事项。
据安全公司 ProtectWise 的研究人员指出,其中一个 MosaicRegressor 所连接的主控服务器过去曾被大规模威胁骇客团体“Winnti Umbrella”旗下恶意后门软件所使用,研究人员表示该骇客团体隶属于中国国家情报机构。
综合起来,有证据表明,这些攻击是由过去曾用过 Winnti 后门程式的华语骇客所发动的,卡巴斯基实验室研究人员表示。但他们提醒指出:“由于这是我们从自家调查研究与使用 Winnti 后门程式之任何骇客团体之间的唯一连结判断而出的,因此我们不太有把握地确定他们就是这些攻击背后的主使者。”
UEFI 成为电脑安全上的一大盲点
更紧迫的问题是,UEFI 仍然是电脑安全上的一大盲点。一些公司逐渐意识到恶意固件所可能构成的风险。例如,去年,Google 发布了开放源代码信任根(Root-of-Trust)芯片,它将“确保服务器或装置能以正确的固件启动,并且不会被低阶恶意软件感染”。
密码保护 UEFI 启动程式也是防止固件遭到恶意篡改的有效措施。使用全硬盘加密机制也可能会有帮助,因为一旦 UEFI 固件被骇,骇客也无法写入磁盘。
但是,整体而言,硬件和固件供应商仍然没有花费足够的资源来构建能让产品有效抵御攻击所需的防御措施。安全启动绝对不是解决方案,因为它只会在执行时间里保护启动程序。安全公司直到现在才开始为主流用户设计安全扫描机制。
如前所述,UEFI 固件依旧是一个难以存取的黑盒子。这既使得它对正义或邪恶两方都提供强大的功能,但同时也让攻击变得很困难,因为它们依赖大量的技能来编写固件,并以某种方式将其部署在目标电脑上。从 Hacking Team 所泄漏的资讯,再加上这次新的调查研究,莫不显示这类攻击几乎肯定会变得更加普遍。
- Custom-made UEFI bootkit found lurking in the wild
(首图来源:pixabay)