全球數十億筆電與伺服器危矣!BootHole 漏洞無差別攻擊 Linux 及 Windows 作業系統
企業安全廠商 Eclypsium 發現一項可讓攻擊者突破 UEFI Secure Boot 的防護而接管 Windows 和 Linux 系統的漏洞。研究人員表示從筆電、桌機、伺服器、工作站到其他工業、醫療、金融及其他產業的專用設備,幾乎所有現代電腦都受到影響,使這項漏洞變得十分危險。
BootHole 如何入侵?
BootHole 攻擊是開採 UEFI Secure Boot 中 GRUB2 組態檔中的緩衝溢位漏洞(編號 CVE-2020-10713)而得名。Secure Boot 作用是在電腦開機過程中,以加密簽章來驗證各種程式,使主機板只能載入經過認證過的 OS 或者硬體驅動程式,藉以防止惡意軟體。Secure Boot 以 GRUB(Grand Unified Bootloader) 元件負責處理載入系統,並在開機時將控制權轉交作業系統。Bootloader 執行權限高於 OS 根權限或管理員,而它唯一驗證是透過簽章或認證過的程式碼。如果 bootloader 被駭客置換成有問題的版本,則 Secure Boot 就無法發生把關作用,惡意程式就可能植入電腦。
不幸的是,GRUB2 組態檔是一個文字檔,防護不如其他檔案和執行檔。駭客藉由傳送大量文字造成緩衝溢位,而得以在 GRUB2 寫入任意程式碼,進而置換成惡意 bootloader,達成弱化 Secure Boot 防護的目的。
所有 Linux 都包含 Bootloader,因此 Linux 是首先曝險者,但不是唯一一個。因為 GRUB2 被微軟第三方 UEFI CA(certificate authority)視為己認證的 bootloader,因此任何信任微軟第三方 UEFI CA 的電腦也都會受 BootHole 影響,這意思是幾乎全部現有的電腦和伺服器。
危險在於重灌系統也殺不掉
幸好攻擊者必須要有較高權限(但不需實際接觸到裝置)即可開採漏洞,外部人士若不了解組織情況或從其他管道取得存取憑證,就很難發動攻擊。但是如果他真的成功了,後果會很嚴重。系統遭惡意程式入侵後也不會異樣,使惡意程式碼常駐在 bootloader 中,即使作業系統重灌也清不掉。
CVE-2020-10713 漏洞在 CVSS 3.0 評分表中被列為 8.2 分,意謂攻擊者可藉由開採漏洞取得幾乎系統全部控制權。
本周多家 OS、電腦廠商及美國電腦緊急應變小組 (CERT) 聯合公佈這項漏洞,這些公司包括微軟、Oracle、Canonical(Ubuntu)、SuSE、Debian、Citrix 及多家電腦品牌和軟體業者,他們也個別發佈聲明,說明產品修補狀況。
發現該漏洞的 Eclypsium 安全研究人員呼籲應廣泛升級且重新簽章 GRUB2,但他坦承全部廠商修補需要好一陣子,甚至好幾年。
但是使用者也不必太驚慌,在修補好之前還是有一些權宜性的緩解方式,包括安裝 OEM 及 Linux 發行廠商沒有的安全更新,以及小心不要任意執行要求重要存取權的程式,以防止 GRUB2 bootloader 被駭客置換掉。雖然在 Linux 上置換要比 Windows 上來得難,不過用戶還是不能掉以輕心。