ESET研究人員發(fā)布關(guān)于俄羅斯奇幻熊黑客組織所用統(tǒng)一可擴展固件接口(UEFI) rootkit 的更多細(xì)節(jié)。
該固件惡意代碼別稱Lojax,能將自身植入受感染W(wǎng)indows主機的主板固件,隨計算機開機或重啟而運行,是規(guī)避操作系統(tǒng)或殺毒工具檢測和監(jiān)視用戶的理想惡意軟件。固件在最底層執(zhí)行,位于操作系統(tǒng)內(nèi)核和應(yīng)用程序之下,有完整的系統(tǒng)權(quán)限。
ESET在2018年9月就敲響了Lojax的警鐘,但該惡意軟件的運作機制卻直到12月底混沌計算機俱樂部年度大會召開才公布,研究員 Frederic Vachon 在演講中描述了該基于UEFI的rootkit是怎么隱藏到現(xiàn)代固件里的。ESET是在某家客戶的計算機感染了該固件rootkit時弄到的Lojax副本。
簡言之,Lojax脫胎于合法防盜軟件Lojack,通過魚叉式網(wǎng)絡(luò)釣魚電子郵件分發(fā),被蒙蔽的受害者點擊運行后便開始解壓執(zhí)行代碼,劫持在主機啟動時由UEFI固件加載的脆弱硬盤驅(qū)動,最終將rootkit植入閃存。
UEFI有個名為DXE的機制,可以在操作系統(tǒng)加載前找到并運行啟動計算機所需的設(shè)備驅(qū)動。Lojax篡改其中一個驅(qū)動以便關(guān)閉固件的寫保護(hù),讓芯片內(nèi)容可以被覆寫。然后,該惡意軟件就能將自身rootkit注入固件,在后續(xù)啟動或重啟周期中運行。
于是,驅(qū)動被篡改以便能在下一次啟動時解鎖固件,然后Lojax修改閃存芯片內(nèi)容注入rootkit,再下一次啟動便可順利加載運行間諜軟件了。這都是因為固件得維護(hù)自身安全。
芯片集暴露出需被固件小心防護(hù)的寫保護(hù)機制。因為沒有默認(rèn)BIOS寫保護(hù)一類的東西,固件就得自己來做這個防護(hù)。
為關(guān)閉固件的寫保護(hù),Lojax利用了英特爾閃存控制器的已知競爭條件缺陷,搶在主板軟件介入并自動禁用更新前反復(fù)啟用BIOS更新和嘗試寫入閃存。
一旦競爭成功,Lojax就能將完整的rootkit寫入UEFI固件,確保該惡意軟件能在操作系統(tǒng)啟動時安裝并運行,除非主板SPI內(nèi)存完全刷新,否則該惡意軟件幾乎無法清除。
幸運的是,供應(yīng)商自己就能通過修復(fù)驅(qū)動漏洞或啟用 Secure Boot 來抵御該攻擊。這將令Lojax惡意軟件自動終止安裝嘗試。Secure Boot 用加密確保固件內(nèi)容不變篡改。另外,不用系統(tǒng)管理員權(quán)限打開電子郵件中發(fā)來的應(yīng)用也很有幫助:該rootkit安裝程序需要系統(tǒng)管理員權(quán)限才能執(zhí)行。不過,該惡意軟件也能利用提權(quán)漏洞來獲取管理員權(quán)限,所以真正的解決方案還是在BIOS設(shè)置中啟用 Secure Boot,并設(shè)置口令或其他防護(hù)措施來防止篡改。
該工具僅在平臺錯誤配置時有效。如果固件供應(yīng)商配置正確,該工具在刷新固件時就會失敗。所以說,固件安全是多么重要!