安全廠商 ESET 研究人員近日發現第一隻專門攻擊 Linux 系統的 UEFI bootkit,名為 Bootkitty 。
這對資安界來說十分重要,因為 UEFI bootkit 過去只攻擊 Windows 系統。現任微軟 Windows 核心部門研究人員 Andrea Allievi 在 2012 年發展出第一隻 Windows bootkit 的概念驗證程式,此後演變成真正的惡意程式,像是 2021 年 ESPecter 和 FinSpy,並在 2023 年出現惡意昭彰的 BlackLotus 。 Bootkitty 則鎖定 Linux 機器而來,這點將使其名留青史。
好消息是,根據 ESET 研究人員的研究,Bootkitty 應該目前只是概念驗證 (POC) 程式,還不是用於攻擊的惡意程式,例如它內含顯示 ASCII 文字的未使用功能,以及當中有一個多名作者的清單。
Bootkitty 主要功能是關閉 Linux 核心的簽章驗證功能,以及在 Linux 初始化 (init) 行程中預載 binary 。在實際運作上,透過關閉 Linux 核心的簽章驗證功能,它能讓未簽章的核心模組載入 Linux,而在初始化行程中,Bootkitty 也預載入 2 個未知的 ELF 二進位程式 (binary) 。
Bootkitty 使用了複雜技術來達成上述目標。在執行時,它會掛入 UEFI 安全驗證協定,操弄輸出以繞過整數驗證檢查。之後在解壓縮階段,Bootkitty 修改 Linux 核心映像檔。但是由於它缺少了 Linux 層的檢查,因而當它加入全隨機的程式碼或資料時會導致系統崩潰而不是悄悄駭入。此外,Bootkitty 需要有特定標記才能辨識要修改的函式,這點也減弱了它的攻擊力。因此,研究人員相信 Bootkitty 還很粗糙,可能還只是原型。
儘管如此,Bootkitty 還是有能力繞過 Linux 系統上的 UEFI Secure Boot 功能,這功能是用於防止系統啟動階段有未經許可的程式碼執行。因此 ESET 警告用戶應嚴防系統遭到 Bootkitty 入侵,必須確保 UEFI Secure Boot 已啟動,以及系統韌體、 OS 和 UEFI 憑證廢止清單 (revocation list) 更新到最新版本。
ESET 也在 GitHub 公佈入侵指標 (indicator of compromise, IoC) 供安全鑑識和防禦用途。
