Lojax :入侵固件的 UEFI rootkit

ESET研究人员发布关于俄罗斯奇幻熊黑客组织所用统一可扩展固件接口(UEFI) rootkit 的更多细节。

该固件恶意代码别称Lojax,能将自身植入受感染Windows主机的主板固件,随计算机开机或重启而运行,是规避操作系统或杀毒工具检测和监视用户的理想恶意软件。固件在最底层执行,位于操作系统内核和应用程序之下,有完整的系统权限。

ESET在2018年9月就敲响了Lojax的警钟,但该恶意软件的运作机制却直到12月底混沌计算机俱乐部年度大会召开才公布,研究员 Frederic Vachon 在演讲中描述了该基于UEFI的rootkit是怎么隐藏到现代固件里的。ESET是在某家客户的计算机感染了该固件rootkit时弄到的Lojax副本。

简言之,Lojax脱胎于合法防盗软件Lojack,通过鱼叉式网络钓鱼电子邮件分发,被蒙蔽的受害者点击运行后便开始解压执行代码,劫持在主机启动时由UEFI固件加载的脆弱硬盘驱动,最终将rootkit植入闪存。

UEFI有个名为DXE的机制,可以在操作系统加载前找到并运行启动计算机所需的设备驱动。Lojax篡改其中一个驱动以便关闭固件的写保护,让芯片内容可以被覆写。然后,该恶意软件就能将自身rootkit注入固件,在后续启动或重启周期中运行。

于是,驱动被篡改以便能在下一次启动时解锁固件,然后Lojax修改闪存芯片内容注入rootkit,再下一次启动便可顺利加载运行间谍软件了。这都是因为固件得维护自身安全。

芯片集暴露出需被固件小心防护的写保护机制。因为没有默认BIOS写保护一类的东西,固件就得自己来做这个防护。

为关闭固件的写保护,Lojax利用了英特尔闪存控制器的已知竞争条件缺陷,抢在主板软件介入并自动禁用更新前反复启用BIOS更新和尝试写入闪存。

一旦竞争成功,Lojax就能将完整的rootkit写入UEFI固件,确保该恶意软件能在操作系统启动时安装并运行,除非主板SPI内存完全刷新,否则该恶意软件几乎无法清除。

幸运的是,供应商自己就能通过修复驱动漏洞或启用 Secure Boot 来抵御该攻击。这将令Lojax恶意软件自动终止安装尝试。Secure Boot 用加密确保固件内容不变篡改。另外,不用系统管理员权限打开电子邮件中发来的应用也很有帮助:该rootkit安装程序需要系统管理员权限才能执行。不过,该恶意软件也能利用提权漏洞来获取管理员权限,所以真正的解决方案还是在BIOS设置中启用 Secure Boot,并设置口令或其他防护措施来防止篡改。

该工具仅在平台错误配置时有效。如果固件供应商配置正确,该工具在刷新固件时就会失败。所以说,固件安全是多么重要!

上一篇:2018最酷的黑客手法

下一篇:如何滥用SMB挂载点绕过客户端符号链接保护策略