研究人員創(chuàng)建可入侵BIOS和網(wǎng)卡的惡意軟件
安全研究人員Jonathan Brossard創(chuàng)建了一個(gè)概念驗(yàn)證的硬件后門(mén),叫做Rakshasa,據(jù)說(shuō)可替換掉電腦的BIOS(基本輸入輸出系統(tǒng))并可在啟動(dòng)時(shí)危害到操作系統(tǒng),但卻不會(huì)在硬盤(pán)上留下任何痕跡。
Brossard現(xiàn)任法國(guó)一家安全公司Toucan系統(tǒng)的CEO和安全研究工程師,他在周六的Defcon黑客大會(huì)上演示了這個(gè)惡意軟件的工作原理。而在周四的黑帽大會(huì)上,他也演示了同樣的內(nèi)容。
Rakshasa是印度神話中的魔鬼羅剎的名字,它也并非頭一個(gè)以BIOS(底層主板固件,主要功能是初始化其他硬件元件)為目標(biāo)的惡意軟件。然而,它與其他相似的惡意軟件大相徑庭的是使用了新的欺騙手段,可避開(kāi)探測(cè),持續(xù)駐留。
羅剎可替換掉主板上的BIOS,同時(shí)也可感染其他外設(shè)的PCI固件,例如網(wǎng)卡或CD-ROM,這是為了達(dá)到很高的冗余度。
羅剎是用開(kāi)源軟件開(kāi)發(fā)的,可用Coreboot和SeaBIOS的一種組合取代廠商的BIOS,可以完成不同廠商的各種主板的工作。Brossard還為電腦的網(wǎng)卡編寫(xiě)了一個(gè)叫iPXE的開(kāi)源網(wǎng)絡(luò)啟動(dòng)固件。
所有這些組件均已被修改,所以不會(huì)顯示任何東西,不會(huì)在啟動(dòng)過(guò)程中留下任何痕跡。Coreboot甚至還可模仿被取代的BIOS中用戶定制的啟動(dòng)屏幕。
現(xiàn)有的電腦架構(gòu)給每種外設(shè)都提供了訪問(wèn)RAM的同等權(quán)限,Brossard說(shuō)。“所以CD-ROM驅(qū)動(dòng)器也能夠非常完美地控制網(wǎng)卡。”
這就是說(shuō),即便某人想要恢復(fù)原來(lái)的BIOS,這個(gè)駐留在網(wǎng)卡上或者CD-ROM上的無(wú)賴(lài)惡意軟件也能夠再次將其刷新為無(wú)賴(lài)的BIOS,Brossard說(shuō)。
能讓讓這個(gè)惡意軟件失靈的唯一辦法就是關(guān)掉電腦,手動(dòng)刷新每一個(gè)外設(shè),但是這種方法對(duì)于大多數(shù)用戶來(lái)說(shuō)是行不通的,因?yàn)檫@需要專(zhuān)業(yè)的設(shè)備和高級(jí)技能。
Brossard之所以要?jiǎng)?chuàng)建羅剎,是為了證明硬件后門(mén)是實(shí)際存在的,而且可以在一臺(tái)電腦交付給最終用戶的整條供應(yīng)鏈中的某個(gè)地方加入。他指出,如今的大多數(shù)電腦,包括Mac機(jī)在內(nèi),多數(shù)都來(lái)自中國(guó)。
然而,如果有攻擊者通過(guò)不同的惡意軟件感染或者利用漏洞而獲得電腦上的系統(tǒng)特權(quán),理論上講他們也能夠擦寫(xiě)B(tài)IOS,部署羅剎。
不過(guò)Brossard也承認(rèn),這種遠(yuǎn)程攻擊方法并不能每次都奏效,因?yàn)橛行㏄CI設(shè)備為了擦寫(xiě)新的固件都有一個(gè)物理開(kāi)關(guān),有些BIOS還有數(shù)字簽名。
但是Coreboot在擦寫(xiě)網(wǎng)卡之前有優(yōu)先權(quán)可以上傳一個(gè)PCI擴(kuò)展固件,因此可繞開(kāi)物理開(kāi)關(guān)的問(wèn)題。
Brossard說(shuō),如果你可以在現(xiàn)實(shí)中進(jìn)入電腦的話,那么攻擊什么時(shí)候都可以進(jìn)行,但如果只能遠(yuǎn)程的話,那就只有99%的時(shí)間可能進(jìn)行。
在網(wǎng)卡上運(yùn)行的iPXE固件被配置成可上傳一個(gè)bootkit——一段惡意代碼,可先于操作系統(tǒng)被加載,并在任何安全軟件開(kāi)始加載之前摧毀它們。
一些著名的惡意軟件程序都把bootkit代碼存儲(chǔ)在硬盤(pán)主引導(dǎo)記錄(MBR)內(nèi),這就讓電腦檢查專(zhuān)家和防病毒軟件很容易發(fā)現(xiàn)并去除之。
羅剎之所以不同,就是因?yàn)樗捎昧薸PXE固件,可以遠(yuǎn)程下載bootkit,每次在電腦啟動(dòng)時(shí)將其加載到RAM中。
Brossard說(shuō),“我們從不觸碰文件系統(tǒng)。”如果你把硬盤(pán)交給一家公司去分析,他們肯定查不到這個(gè)惡意軟件的存在。
除此之外,在bootkit完成其工作之后,亦即對(duì)內(nèi)核進(jìn)行惡意修改之后,它便可從內(nèi)存中卸載。這就是說(shuō)電腦RAM的內(nèi)核檢查也發(fā)現(xiàn)不了它。
Brossard說(shuō),想要檢測(cè)這種類(lèi)型的威脅非常困難,因?yàn)檫@些程序駐留在操作系統(tǒng)內(nèi),而操作系統(tǒng)需要從內(nèi)核獲取信息。Bootkit可以很好地偽裝這些信息。
iPXE固件還可通過(guò)以太網(wǎng)、Wi-Fi或Wimax進(jìn)行通信,支持包括HTTP、HTTPS和FTP在內(nèi)的多種通信協(xié)議。這也給潛在的攻擊者提供了多種選擇。
例如羅剎可以從任意一篇帶有.pdf后綴的博客文章中下載bootkit。還可以發(fā)送受感染電腦的IP地址和其他網(wǎng)絡(luò)信息給預(yù)先設(shè)定的某個(gè)郵箱。
攻擊者可以在加密的HTTPS連接上直接與網(wǎng)卡固件通信,推送配置升級(jí)或者惡意軟件的新版本,而接受指令和控制的服務(wù)器也可在不同網(wǎng)站間來(lái)回循環(huán),使得執(zhí)法更加困難,安全研究人員也很難將其清除。
Brossard沒(méi)有公開(kāi)發(fā)布羅剎惡意軟件。但是由于其大部分組件都是開(kāi)源的,所以只要有足夠的知識(shí)和資源的人應(yīng)該是可以復(fù)制出來(lái)的。目前網(wǎng)上已經(jīng)有了一篇研究性論文,詳細(xì)解釋了這個(gè)惡意軟件的實(shí)現(xiàn)。