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