眾多安全專家認(rèn)為,即使操作系統(tǒng)遭遇攻擊,智能手機(jī)Bootloader固件應(yīng)當(dāng)尚是安全的。然而,美國(guó)加州大學(xué)圣塔芭芭拉分校一組研究人員發(fā)現(xiàn)知名芯片廠商的安卓Bootloader組件存在六大漏洞,會(huì)將設(shè)備置于危險(xiǎn)之中。
BootStomp工具自動(dòng)檢測(cè)安全漏洞研究人員開(kāi)發(fā)了一款工具“BootStomp”,用來(lái)自動(dòng)檢測(cè)Bootloader中存在的安全漏洞。
Bootloader(百度百科):當(dāng)設(shè)備開(kāi)啟時(shí),Bootloader主要負(fù)責(zé)正確調(diào)用內(nèi)核來(lái)加載操作系統(tǒng)。Bootloader是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,在它完成CPU和相關(guān)硬件的初始化之后,再將操作系統(tǒng)映像或固化的嵌入式應(yīng)用程序裝在到內(nèi)存中然后跳轉(zhuǎn)到操作系統(tǒng)所在的空間,啟動(dòng)操作系統(tǒng)運(yùn)行。
分析四大芯片組廠商(包括高通、聯(lián)發(fā)科技、英偉達(dá)和華為)的Bootloader組件代碼后,研究人員在兩個(gè)Bootloader中發(fā)現(xiàn)6個(gè)0Day漏洞。并且高通Bootloader中存在一個(gè)已知拒絕服務(wù)漏洞(CVE-2014-9798),影響了舊版的高通Bootloader。另外5個(gè)漏洞屬于新漏洞,并已獲得這幾大廠商證實(shí)。其中一個(gè)影響了英偉達(dá)Bootloader,另外的影響了華為安卓Bootloader。
研究人員指出,由于Bootloader屬于閉源,且往往缺乏程序頭等典型元數(shù)據(jù)(元數(shù)據(jù)一般存在于合法程序中,協(xié)助進(jìn)行逆向分析和安全審計(jì)),因此難以逆向分析和安全審計(jì),解刨Bootloader就不那么容易了。然而,BootStomp克服了這些問(wèn)題。
研究人員解釋稱,BootStomp的目標(biāo)是自動(dòng)識(shí)別與濫用/使用攻擊者控制的非易失性存儲(chǔ)器、受Bootloader信任相關(guān)的安全漏洞。
研究人員指出,他們將系統(tǒng)設(shè)想為自動(dòng)系統(tǒng),將Bootloader作為輸入,輸出安全漏洞的警報(bào),之后,分析師便能分析這些警報(bào),快速判斷突出功能是否存在安全威脅。
確保Bootloader的完整性對(duì)谷歌Verified Boot和ARM的Trusted Boot至關(guān)重要, Bootloader在其中負(fù)責(zé)核實(shí)完整性,創(chuàng)建所謂的“信任鏈”。如果有人篡改Bootloader組件,內(nèi)核、文件系統(tǒng)映像或設(shè)備應(yīng)無(wú)法使用。
研究人員指出,該過(guò)程應(yīng)是相當(dāng)嚴(yán)格的,即使安卓操作系統(tǒng)被黑,該過(guò)程也能阻止Bootloader被攻擊。然而,硬件廠商為了滿足產(chǎn)品需求,在Bootloader中增加了靈活性。
借助BootStomp,研究人員在bootload流程發(fā)現(xiàn)中36個(gè)潛在威脅,其中超過(guò)三分之一為漏洞。
BootStomp概述
研究人員指出,攻擊者可利用其中部分漏洞獲取安卓操作系統(tǒng)的Root權(quán)限,充當(dāng)Bootloader的部分功能執(zhí)行任意代碼。這樣一來(lái),整個(gè)信任鏈都會(huì)遭受攻擊,攻擊者能實(shí)現(xiàn)惡意操作,例如訪問(wèn)信任區(qū)內(nèi)的代碼和存儲(chǔ),并執(zhí)行永久的拒絕服務(wù)攻擊,例如將設(shè)備變板磚。
研究人員還表示,BootStomp還發(fā)現(xiàn)攻擊者可獲取操作系統(tǒng)上的Root權(quán)限解鎖兩款Bootloader。
研究人員選擇了四個(gè)廠商的五個(gè)bootloader來(lái)研究:
華為/海思芯片組(華為P8 ALE-L23)
聯(lián)發(fā)科技芯片組(索尼Xperia XA)
英偉達(dá)Tegra芯片組(Nexus 9)
高通的新LK Bootloader
高通的舊LK Bootloader
研究人員還指出,華為Bootloader的設(shè)計(jì)使得漏洞“相當(dāng)嚴(yán)重”,一旦被攻擊者利用可打破信任鏈,長(zhǎng)期潛伏在設(shè)備中,且不易被用戶發(fā)現(xiàn)。
緩解措施由于現(xiàn)代設(shè)備的復(fù)雜性,要完全糾正Bootloader的漏洞相當(dāng)困難,但采取以下幾步措施能顯著減少攻擊面。
Trusted Boot和Verified Boot的目標(biāo)是防止惡意軟件持續(xù)影響操作系統(tǒng)和固件的完整性。研究人員發(fā)現(xiàn)的這些攻擊依賴攻擊者寫入到非易失性存儲(chǔ)器分區(qū)的能力。研究人員建議使用大多數(shù)現(xiàn)代設(shè)備中的硬件功能移除這項(xiàng)能力。
“捆綁”安全:谷歌采用Verified Boot將設(shè)備的安全狀態(tài)(包括鎖定/解鎖字節(jié))與加密和解密用戶數(shù)據(jù)的密鑰生成綁定。雖然沒(méi)有特別要求安全狀態(tài)的特定存儲(chǔ),但這樣可以確定安全狀態(tài)是否發(fā)生變化,用戶數(shù)據(jù)不為攻擊者所用,如果不恢復(fù)出廠設(shè)置,系統(tǒng)將無(wú)法引導(dǎo)(boot)。這種方法,再加上Verified Boot要求的加密驗(yàn)證,雖然無(wú)法讓Bootloader完全屏蔽掉攻擊者的任意輸入,但能驗(yàn)證分區(qū)或檢查安全狀態(tài)。
分區(qū)保護(hù):大多數(shù)現(xiàn)在移動(dòng)設(shè)備利用非易失性存儲(chǔ)器滿足eMMC規(guī)范。eMMC規(guī)定了操作系統(tǒng)用來(lái)讀取、編寫數(shù)據(jù)、管理分區(qū)以及納入硬件安全功能的一組命令。自2009年發(fā)布版本4.4之后,eMMC支持Power-on Write-Lock,允許對(duì)個(gè)別分區(qū)進(jìn)行選擇性寫保護(hù),并且只在設(shè)備重啟時(shí)禁用。eMMC Power-on Write-Lock能防止Bootloader必讀分區(qū)被獲取Root權(quán)限的攻擊者控制。