研究人员创建了感染BIOS、网卡的概念验证恶意软件

安全研究员jonathanbrossard创建了一个名为Rakshasa的概念验证硬件后门,它取代了计算机的BIOS(基本输入输出系统),可以在引导时破坏操作系统,而不会在硬盘上留下痕迹。

Brossard是法国安全公司Toucan System的首席执行官和安全研究工程师,他在上周六的Defcon黑客大会上演示了恶意软件的工作原理,并在周四的黑帽安全大会上展示了该软件。

Rakshasa,以印度教神话中的一个恶魔命名,并不是第一个针对BIOS的恶意软件,BIOS是初始化其他硬件组件的低级主板固件。然而,它通过使用新的技巧来实现持久性和逃避检测,从而将自己与类似的威胁区分开来。

Rakshasa取代了主板BIOS,但也会感染网卡或CD-rom等其他外围设备的PCI固件,以实现高度冗余。

Rakshasa是用开源软件构建的。它用Coreboot和SeaBIOS的组合取代了供应商提供的BIOS,这两种方法可以在不同制造商的各种主板上工作,还将一种称为iPXE的开源网络引导固件写入计算机的网卡。

所有这些组件都经过了修改,因此它们不会显示任何可能在引导过程中泄露其存在的内容。Coreboot甚至支持定制的SplashScreen,可以模仿被替换的Bios。

布罗萨德说:“现有的计算机体系结构使每个外围设备都能平等地访问RAM(随机存取存储器)。”光驱可以很好地控制网卡。”

布罗萨德说,这意味着,即使有人要恢复原来的BIOS,网卡或CD-ROM上的rogue固件也可以用来刷新rogue固件。

摆脱恶意软件的唯一方法是关闭电脑,手动刷新每个外设,这种方法对大多数用户来说是不切实际的,因为它需要专门的设备和先进的知识。

Brossard创建Rakshasa是为了证明硬件后门是可行的,可以在供应链的某个地方,在计算机交付给最终用户之前完成。他指出,包括mac在内的大多数电脑都来自中国。

但是,如果攻击者通过不同的恶意软件感染或利用漏洞获得计算机上的系统权限,理论上他们也可以刷新BIOS以部署Rakshasa。

Brossard说,这种远程攻击方法并非在所有情况下都有效,因为有些PCI设备有一个物理交换机,需要移动该交换机才能闪存新固件,有些BioSe具有数字签名。

但是,Coreboot能够加载优先于写入网卡的PCI扩展固件的PCI扩展固件,因此可以绕过物理交换机问题。

Brossard说,这种攻击“在你有物理访问权限的情况下完全有效,但远程攻击只在99%的时间有效。”。

在网卡上运行的iPXE固件被配置为加载一个bootkit,这是一种恶意代码,在任何安全产品启动之前都会被执行到操作系统或感染。

一些已知的恶意软件程序将引导套件代码存储在硬盘的主引导记录(MBR)中。这使得计算机取证专家和防病毒产品很容易找到和删除。

Rakshasa是不同的,因为它使用iPXE固件从远程位置下载引导包,并在每次计算机引导时将其加载到RAM中。

“我们从不接触文件系统,”布罗萨德说。他说,如果你把硬盘送到一家公司,让他们分析是否有恶意软件,他们就找不到了。

此外,在bootkit完成了它的工作后,也就是对内核(操作系统的最高特权部分)执行恶意修改,就可以从内存中卸载内核了。这意味着对计算机内存的实时分析也无法找到它。

检测这种危害非常困难,因为在操作系统中运行的程序从内核获取信息。Brossard说,bootkit很可能伪造这些信息。

iPXE固件能够通过以太网、Wi-Fi或Wimax进行通信,并支持多种协议,包括HTTP、HTTPS和FTP。这给了潜在的攻击者很多选择。

例如,Rakshasa可以从一个随机的博客下载bootkit,作为一个扩展名为.pdf的文件。它还可以将受感染计算机的IP地址和其他网络信息发送到预定义的电子邮件地址。

攻击者可以通过与网卡固件直接通信,通过加密的HTTPS连接推送配置更新或恶意软件的新版本,并且命令和控制服务器可以在不同的网站之间轮换,使执法人员或安全研究人员更难将其取下。

布罗萨德没有公开释放拉克沙萨。然而,由于它的大部分组件都是开源的,所以有足够知识和资源的人可以复制它。网上有一篇详细解释恶意软件实现的研究论文。