Grub2爆出CVE-2020-10713漏洞,面臨龐大的修補工程,牽涉到Grub2、各大Linux版本以及相關的開源專案、裝置商以及微軟。(情境示意圖,Photo by Jilbert Ebrahimi on Unsplash)

專研裝置與韌體安全的Eclypsium,於周三(7/29)揭露了一藏匿在啟動程式Grub2的安全漏洞,並以BootHole弱點稱之,將允許駭客繞過安全啟動(Secure Boot)保護機制,於作業系統之前植入任意程式,宣稱從個人電腦、伺服器、工作站到IoT裝置都無一倖免。

Grub2為一來自GNU專案的啟動程式,可用來啟動任何硬體上的作業系統,它允許使用者在同一裝置上安裝多個作業系統,並在啟動時選擇所要執行的作業系統,而絕大多數的Linux版本都採用了Grub2。

根據Linux安全業者Capsule8的解釋,一個支援Secure Boot的裝置啟動程序如下:韌體會先載入含有可靠憑證的初始啟動程式(shim);由shim載入Grub2並進行驗證;Grub2再裝載grub.cfg所描述的任何配置,包括核心載入位置;透過韌體簽章資料庫驗證核心;再把控制權交給核心;最後由核心啟動作業系統。上述的shim指的是含有業者憑證,及可用來驗證與執行Grub2的小型程式。

安全研究人員所發現的CVE-2020-10713漏洞,即出現在第三個步驟。因為Grub2是利用文字解析器來讀取grub.cfg配置檔案,一般而言,當一個配置檔的文字太多時,就會退出,但Grub2卻直接把它移到緩衝記憶體去執行,造成緩衝區溢位,而允許駭客在系統記憶體中寫入任何程式。

另一方面,Secure Boot原本是用來確保在進入作業系統之前,裝置韌體所執行的任何程式碼,都是可靠且經過驗證的,但grub.cfg是個文字檔案,因此不需檢驗,而讓駭客得以在作業系統啟動之前便植入惡意程式,長期進駐在裝置上。

首當其衝的除了Linux平臺之外,任何採用Secure Boot及UEFI CA的Windows裝置也都會受到波及,因此從個人電腦、伺服器、工作站到IoT裝置都難逃一劫。

Capsule8警告,CVE-2020-10713非常適合用來植入勒索軟體、鍵盤側錄程式、挖礦工具或進行間諜行為,因為這些惡意程式碼都能在載入作業系統之前就開始運作,還能閃避安裝在作業系統之上的安全程式。

值得注意的是,修補CVE-2020-10713漏洞將是個龐大的工程,最基本的是要修補Grub2,繼之是各大Linux版本,以及相關的開源專案,同時業者也得更新啟動程式與安裝程式,微軟亦必須重新簽署新的shim。

不過,開採該漏洞必須以管理權限存取EFI系統分區,代表駭客必須先能滲透系統及擴張權限。

在Eclypsium揭露CVE-2020-10713漏洞的同一天,微軟、UEFI論壇、Debian、Canonical、紅帽、SUSE、HP、HPE、VMware與Grub2專案,也都同步發表了安全公告。

 消息更新  Linux發行商針對Grub2的BootHole漏洞釋出首波修補卻出師不利,一度造成系統無法重開、雲端服務當機


Advertisement

更多 iThome相關內容