研究人员公开解析了一款统一可扩展固件接口(UEFI) rootkit,据称是俄罗斯间谍以防盗软件的名义打造,用来监视欧洲政府的。

rootkit是隐藏在计算机系统里的一类软件,利用其root或管理员权限盗取及篡改文档,监视用户,或者搞些令用户头疼的恶作剧。UEFI rootkit 潜伏在主板固件中,也就是说能在操作系统和杀软运行前启动,将自身深埋在受感染主机中,不会被检测到,且具备高级访问权限。

信息安全公司ESET透露,名为LoJax的一款固件rootkit攻击了巴尔干半岛和中东欧政府组织所用的Windows计算机。该款恶意软件背后的最大嫌疑人是著名的“奇幻熊( Fancy Bear )”黑客团伙,亦称Sednit/Sofacy/APT28,还有人指认是俄罗斯军事情报部门。

据称奇幻熊曾黑进美国民主党的服务器、法国电视网TV5及其他一些重要目标。

LoJax固件rootkit以 Absolute Software 出品的合法应用 LoJack for Laptops 为蓝本。LoJack for Laptops 是一款常安装在笔记本电脑上的设备防盗软件,其代码隐身于UEFI固件中,通过互联网回连其后端服务器。因此,一旦计算机被盗,它就可以秘密向其真正的主人揭示自己的当前位置。

今年5月,Netscout公司旗下 Arbor Networks 发现LoJack防盗/寻回软件被奇幻熊黑客团伙重用来开发LoJax。如今,ESET发布报告,详细描述了该间谍软件的内部机制,列出了可用于检测和清除该恶意软件的特征码。

基本上,黑客先入侵一台主机,获取到管理员权限,然后试图修改主板固件植入恶意UEFI模块。如果成功植入,计算机每次正常启动时便都会安装并运行LoJax。

该恶意代码因而得以在操作系统和杀软加载前就运行起来。换硬盘或重装操作系统都无济于事,该恶意软件存储在系统的内置串口闪存( SPI flash )中,会在新硬盘或被清理过的硬盘上重装自身。

一旦启动起来,LoJax会联系伪装成正常网站的命令与控制(C&C)服务器,然后下载指令并执行之。当然,这些C&C服务器据说是俄罗斯情报机构运作的。

9月27日,ESET团队写道:

我们的调查已确认,该恶意UEFI模块至少有一次被成功写入了主机的串口闪存。该模块能够在引导启动过程中往磁盘上释放并执行恶意软件。

该驻留方法极具侵入性,因为不仅能挺过系统重装,甚至换掉硬盘都清除不了。而且,清除主机的UEFI固件意味着刷新固件,该操作并不常用,也肯定不是普通用户做得来的。

事实证明,LoJack,或者说Computrace,是设计隐秘固件级间谍软件相当不错的模板。ESET表示:研究LoJax的过程中,他们发现了几个有趣的事实,使他们认为这些黑客可能试图模仿Computrace的驻留方法

LoJax使用了内核驱动RwDrv.sys来重写UEFI闪存固件及其设置来存储自身,以便当PC重启时可以将自身拷贝到硬盘执行。该内核驱动是从名为RWEverything的合法应用中偷来的。

ESET称,启用  Secure Boot 应能阻止LoJax将自身注入固件存储,因为该代码没有有效数字签名,在启动时就会被拒绝。但要注意的是,这需要足够健壮的  Secure Boot 配置:应能挫败带UEFI存储读写权限的管理员级恶意软件。

固件设置只要禁用写操作就能挫败闪存安装。如果关闭BIOS写,启用BIOS锁定,开启 SMM(系统管理模式) BIOS 写保护,那该恶意软件就无法将自身写进主板的闪存了。

另外,擦除硬盘和固件存储也能干掉该rootkit。

现代系统应能扛住恶意固件覆写——虽然ESET称其发现了至少一例存在于主机串口闪存的LoJax。

虽然难以修改系统的UEFI镜像,却也几乎没有解决方案能扫描系统的UEFI模块并检测恶意UEFI模块。而且,清除主机的UEFI固件意味着刷新固件,该操作并不常用,也肯定不是普通用户做得来的。这些优势解释了为什么资源丰富且有决心的攻击者将继续攻击主机的UEFI。

想将恶意软件注入固件需要采取一些步骤和措施,但最终结果却很简单:创建固守主机的软件恶魔,确保伴随的恶意软件可在被黑系统启动时加载。

9月27日的2018微软蓝帽子大会上,ESET呈现了其对该 UEFI rootkit 的研究成果,可参看ESET发布的PDF报告,获取更深入的详细信息。

ESET报告原文地址:

https://www.welivesecurity.com/wp-content/uploads/2018/09/ESET-LoJax.pdf

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