多個主流安卓手機芯片廠商(shāng)的Bootloader存在漏洞

發布日期:2017-09-06首頁 > 安全資(zī)訊

9月6日訊 衆多安全專家認爲,即使操作系統遭遇攻擊,智能手機Bootloader固件應當尚是安全的。然而,美國加州大(dà)學聖塔芭芭拉分(fēn)校一(yī)組研究人員(yuán)發現知(zhī)名芯片廠商(shāng)的安卓Bootloader組件存在六大(dà)漏洞,會将設備置于危險之中(zhōng)。

BootStomp工(gōng)具自動檢測安全漏洞

研究人員(yuán)開(kāi)發了一(yī)款工(gōng)具“BootStomp”,用來自動檢測Bootloader中(zhōng)存在的安全漏洞。

Bootloader(百度百科):當設備開(kāi)啓時,Bootloader主要負責正确調用内核來加載操作系統。Bootloader是嵌入式系統在加電(diàn)後執行的第一(yī)段代碼,在它完成CPU和相關硬件的初始化之後,再将操作系統映像或固化的嵌入式應用程序裝在到内存中(zhōng)然後跳轉到操作系統所在的空間,啓動操作系統運行。

分(fēn)析四大(dà)芯片組廠商(shāng)(包括高通、聯發科技、英偉達和華爲)的Bootloader組件代碼後,研究人員(yuán)在兩個Bootloader中(zhōng)發現6個0Day漏洞。并且高通Bootloader中(zhōng)存在一(yī)個已知(zhī)拒絕服務漏洞(CVE-2014-9798),影響了舊(jiù)版的高通Bootloader。另外(wài)5個漏洞屬于新漏洞,并已獲得這幾大(dà)廠商(shāng)證實。其中(zhōng)一(yī)個影響了英偉達Bootloader,另外(wài)的影響了華爲安卓Bootloader。

研究人員(yuán)指出,由于Bootloader屬于閉源,且往往缺乏程序頭等典型元數據(元數據一(yī)般存在于合法程序中(zhōng),協助進行逆向分(fēn)析和安全審計),因此難以逆向分(fēn)析和安全審計,解刨Bootloader就不那麽容易了。然而,BootStomp克服了這些問題。

研究人員(yuán)解釋稱,BootStomp的目标是自動識别與濫用/使用攻擊者控制的非易失性存儲器、受Bootloader信任相關的安全漏洞。

研究人員(yuán)指出,他們将系統設想爲自動系統,将Bootloader作爲輸入,輸出安全漏洞的警報,之後,分(fēn)析師便能分(fēn)析這些警報,快速判斷突出功能是否存在安全威脅。

多個主流安卓手機芯片廠商(shāng)的Bootloader存在漏洞-E安全

确保Bootloader的完整性對谷歌Verified Boot和ARM的Trusted Boot至關重要, Bootloader在其中(zhōng)負責核實完整性,創建所謂的“信任鏈”。如果有人篡改Bootloader組件,内核、文件系統映像或設備應無法使用。

研究人員(yuán)指出,該過程應是相當嚴格的,即使安卓操作系統被黑,該過程也能阻止Bootloader被攻擊。然而,硬件廠商(shāng)爲了滿足産品需求,在Bootloader中(zhōng)增加了靈活性。

借助BootStomp,研究人員(yuán)在bootload流程發現中(zhōng)36個潛在威脅,其中(zhōng)超過三分(fēn)之一(yī)爲漏洞。

多個主流安卓手機芯片廠商(shāng)的Bootloader存在漏洞-E安全

BootStomp概述

研究人員(yuán)指出,攻擊者可利用其中(zhōng)部分(fēn)漏洞獲取安卓操作系統的Root權限,充當Bootloader的部分(fēn)功能執行任意代碼。這樣一(yī)來,整個信任鏈都會遭受攻擊,攻擊者能實現惡意操作,例如訪問信任區内的代碼和存儲,并執行永久的拒絕服務攻擊,例如将設備變闆磚。

研究人員(yuán)還表示,BootStomp還發現攻擊者可獲取操作系統上的Root權限解鎖兩款Bootloader。

研究人員(yuán)選擇了四個廠商(shāng)的五個bootloader來研究:

  • 華爲/海思芯片組(華爲P8 ALE-L23)

  • 聯發科技芯片組(索尼Xperia XA)

  • 英偉達Tegra芯片組(Nexus 9)

  • 高通的新LK Bootloader

  • 高通的舊(jiù)LK Bootloader

研究人員(yuán)還指出,華爲Bootloader的設計使得漏洞“相當嚴重”,一(yī)旦被攻擊者利用可打破信任鏈,長期潛伏在設備中(zhōng),且不易被用戶發現。

緩解措施

由于現代設備的複雜(zá)性,要完全糾正Bootloader的漏洞相當困難,但采取以下(xià)幾步措施能顯著減少攻擊面。

Trusted Boot和Verified Boot的目标是防止惡意軟件持續影響操作系統和固件的完整性。研究人員(yuán)發現的這些攻擊依賴攻擊者寫入到非易失性存儲器分(fēn)區的能力。研究人員(yuán)建議使用大(dà)多數現代設備中(zhōng)的硬件功能移除這項能力。

“捆綁”安全:

谷歌采用Verified Boot将設備的安全狀态(包括鎖定/解鎖字節)與加密和解密用戶數據的密鑰生(shēng)成綁定。雖然沒有特别要求安全狀态的特定存儲,但這樣可以确定安全狀态是否發生(shēng)變化,用戶數據不爲攻擊者所用,如果不恢複出廠設置,系統将無法引導(boot)。這種方法,再加上Verified Boot要求的加密驗證,雖然無法讓Bootloader完全屏蔽掉攻擊者的任意輸入,但能驗證分(fēn)區或檢查安全狀态。

分(fēn)區保護:

大(dà)多數現在移動設備利用非易失性存儲器滿足eMMC規範。eMMC規定了操作系統用來讀取、編寫數據、管理分(fēn)區以及納入硬件安全功能的一(yī)組命令。自2009年發布版本4.4之後,eMMC支持Power-on Write-Lock,允許對個别分(fēn)區進行選擇性寫保護,并且隻在設備重啓時禁用。eMMC Power-on Write-Lock能防止Bootloader必讀分(fēn)區被獲取Root權限的攻擊者控制。