BlackHat 2018 | 華碩和華擎產品的固件更新機制存在漏洞,可被植入惡意代碼
前言
自Eclypsium的研究人員在華碩和華擎的固件中發(fā)現(xiàn)了緩沖區(qū)溢出漏洞,該漏洞的源頭在于UEFI固件更新功能,使得黑客能夠遠程發(fā)起中間人攻擊。研究人員在Black Hat 2018大會上展示了華碩和華擎產品的固件更新機制存在的缺陷。具體來說,是統(tǒng)一可擴展固件接口(UEFI)存在問題,這是一種操作系統(tǒng)和平臺固件之間的軟件接口規(guī)范。
Eclypsium創(chuàng)始人兼首席執(zhí)行官Yuriy Bulygin告訴媒體:“這是第一次公開披露的對UEFI的遠程攻擊。到目前為止,大多數相關研究都需要在本地運行惡意代碼,但我們發(fā)現(xiàn)網絡中的這些漏洞現(xiàn)在可以被遠程利用。”
UEFI取代BIOS的步伐越來越快(英特爾計劃從2020年起所有的推出芯片組僅使用UEFI)。雖然BIOS和UEFI都是在操作系統(tǒng)開始載入之前啟動的,但使用UEFI啟動時間更短,并支持更容量更大的硬盤驅動器。此外還有一項功能是BIOS不支持的,即通過網絡遠程更新UEFI固件,諸如華碩、華擎和惠普等廠商的產品均支持該功能。
問題解構
當華碩和華擎產品固件啟用更新機制時,它使用動態(tài)主機配置協(xié)議配置網絡,然后向遠程服務器發(fā)出純HTTP請求,以檢查UEFI BIOS固件是否可以更新。這個過程中沒有SSL保護,也沒有驗證是否與正確的遠程服務器進行通信。
也就是說,如果通過MITM攔截此請求或將此請求重定向到其他服務器(例如DNS/ARP/路由污染等),就可以修改返回給客戶端的響應并利用該漏洞發(fā)送惡意代碼。
華碩和華擎用于驗證遠程服務器響應的代碼未能正確驗證文件中某些嵌入字段的大小,這樣一來,只要檢測到新的文件版本號,就可以導致緩沖區(qū)溢出和任意代碼的執(zhí)行。在硬件固件保護尚未啟用的情況下,黑客可以將惡意代碼寫入SPI閃存,每次系統(tǒng)啟動后都會運行,這樣的影響無法從操作系統(tǒng)的層面加以解決。
由于代碼擁有高級權限并且在操作系統(tǒng)加載之前運行,黑客可以利用它來執(zhí)行一系列操作:
- 使用NTFS EFI驅動將惡意軟件植入操作系統(tǒng);
- 使用NTFS EFI驅動從硬盤驅動器中竊取文件或使用勒索軟件加密它們;
- 安裝SMM rootkit,然后讓操作系統(tǒng)正常加載以攻擊其他數據。
研究人員表示,華擎和華碩都已收到該漏洞的通知。華擎已刪除該更新機制,但華碩尚未提供解決措施。
總結
該漏洞揭示了平臺固件相關應用帶來風險,這是Yuriy在今年的Black Hat 2018大會上密切關注的一個議題。
“我們花費了大量時間來保護應用軟件并尋找該領域中的漏洞,但很多針對的固件惡意活動非常隱蔽,難以被人察覺。整個行業(yè)都存在這個問題,我們需要傾注更多的注意力防范來自固件的風險。”Yuriy總結道。