安全研究人员Jonathan Brossard创建了一个概念验证的硬件后门,叫做Rakshasa,据说可替换掉电脑的BIOS(基本输入输出系统)并可在启动时危害到操作系统,但却不会在硬盘上留下任何痕迹。
Brossard现任法国一家安全公司Toucan系统的CEO和安全研究工程师,他在周六的Defcon黑客大会上演示了这个恶意软件的工作原理。而在周四的黑帽大会上,他也演示了同样的内容。
Rakshasa是印度神话中的魔鬼罗刹的名字,它也并非头一个以BIOS(底层主板固件,主要功能是初始化其他硬件元件)为目标的恶意软件。然而,它与其他相似的恶意软件大相径庭的是使用了新的欺骗手段,可避开探测,持续驻留。
罗刹可替换掉主板上的BIOS,同时也可感染其他外设的PCI固件,例如网卡或CD-ROM,这是为了达到很高的冗余度。
罗刹是用开源软件开发的,可用Coreboot和SeaBIOS的一种组合取代厂商的BIOS,可以完成不同厂商的各种主板的工作。Brossard还为电脑的网卡编写了一个叫iPXE的开源网络启动固件。
所有这些组件均已被修改,所以不会显示任何东西,不会在启动过程中留下任何痕迹。Coreboot甚至还可模仿被取代的BIOS中用户定制的启动屏幕。
现有的电脑架构给每种外设都提供了访问RAM的同等权限,Brossard说。“所以CD-ROM驱动器也能够非常完美地控制网卡。”
这就是说,即便某人想要恢复原来的BIOS,这个驻留在网卡上或者CD-ROM上的无赖恶意软件也能够再次将其刷新为无赖的BIOS,Brossard说。
能让让这个恶意软件失灵的唯一办法就是关掉电脑,手动刷新每一个外设,但是这种方法对于大多数用户来说是行不通的,因为这需要专业的设备和高级技能。
Brossard之所以要创建罗刹,是为了证明硬件后门是实际存在的,而且可以在一台电脑交付给最终用户的整条供应链中的某个地方加入。他指出,如今的大多数电脑,包括Mac机在内,多数都来自中国。
然而,如果有攻击者通过不同的恶意软件感染或者利用漏洞而获得电脑上的系统特权,理论上讲他们也能够擦写BIOS,部署罗刹。
不过Brossard也承认,这种远程攻击方法并不能每次都奏效,因为有些PCI设备为了擦写新的固件都有一个物理开关,有些BIOS还有数字签名。
但是Coreboot在擦写网卡之前有优先权可以上传一个PCI扩展固件,因此可绕开物理开关的问题。
Brossard说,如果你可以在现实中进入电脑的话,那么攻击什么时候都可以进行,但如果只能远程的话,那就只有99%的时间可能进行。
在网卡上运行的iPXE固件被配置成可上传一个bootkit——一段恶意代码,可先于操作系统被加载,并在任何安全软件开始加载之前摧毁它们。
一些著名的恶意软件程序都把bootkit代码存储在硬盘主引导记录(MBR)内,这就让电脑检查专家和防病毒软件很容易发现并去除之。
罗刹之所以不同,就是因为它采用了iPXE固件,可以远程下载bootkit,每次在电脑启动时将其加载到RAM中。
Brossard说,“我们从不触碰文件系统。”如果你把硬盘交给一家公司去分析,他们肯定查不到这个恶意软件的存在。
除此之外,在bootkit完成其工作之后,亦即对内核进行恶意修改之后,它便可从内存中卸载。这就是说电脑RAM的内核检查也发现不了它。
Brossard说,想要检测这种类型的威胁非常困难,因为这些程序驻留在操作系统内,而操作系统需要从内核获取信息。Bootkit可以很好地伪装这些信息。
iPXE固件还可通过以太网、Wi-Fi或Wimax进行通信,支持包括HTTP、HTTPS和FTP在内的多种通信协议。这也给潜在的攻击者提供了多种选择。
例如罗刹可以从任意一篇带有.pdf后缀的博客文章中下载bootkit。还可以发送受感染电脑的IP地址和其他网络信息给预先设定的某个邮箱。
攻击者可以在加密的HTTPS连接上直接与网卡固件通信,推送配置升级或者恶意软件的新版本,而接受指令和控制的服务器也可在不同网站间来回循环,使得执法更加困难,安全研究人员也很难将其清除。
Brossard没有公开发布罗刹恶意软件。但是由于其大部分组件都是开源的,所以只要有足够的知识和资源的人应该是可以复制出来的。目前网上已经有了一篇研究性论文,详细解释了这个恶意软件的实现。