Zistený UEFI bootkit Bootkitty, vkladajúci škodlivý kód do načítaného jadra Linuxu

Výskumníci zo spoločnosti ESET identifikovali nový bootkit „Bootkitty“, ktorý sa inštaluje po prelomení systému namiesto bootloadera GRUB a používa sa na zavádzanie škodlivých komponentov do jadra Linuxu, čo útočníkovi umožňuje skryto kontrolovať systém a vykonávať v ňom svoje akcie. Tvrdí sa, že ide o prvý UEFI bootkit zameraný na napadnutie systémov Linux.

Bootkitty je umiestnený v súbore grubx64.efi v systémovom oddieli EFI (EFI system partition, /boot/efi/EFI/ubuntu) namiesto štandardného bootloadera GRUB. Po aktivácii UEFI firmvérom bootkit načíta do pamäte skutočný bootloader GRUB2 a vykonáva v pamäti zmeny v kóde GRUB2, ktoré vypínajú overovanie integrity komponentov, ktoré sa budú nahrávať neskôr, a tiež pridáva obslužnú rutinu, ktorá je vyvolaná po rozbalení obrazu jadra Linuxu do pamäte. Uvedená obslužná rutina vykonáva zmeny v nahratých funkciách jadra (vypína overovanie modulov podľa digitálneho podpisu) a tiež mení príkazový riadok procesu inicializácie z „/init“ na „LD_PRELOAD=/opt/injector.so /init)“.

Knižnica injector.so zachytáva niektoré operácie SELinux a funkciu init_module, ktorá sa potom používa na načítanie modulu jadra /opt/dropper.ko. Modul jadra dropper.ko vytvára a spúšťa vykonateľný súbor /opt/observer, potom sa skrýva v zozname modulov jadra a nastavuje obslužné rutiny systémových volaní, ako sú getdents a tcp4_seq_show, na skrytie súboru /opt/observer a určitého sieťového prenosu. Vykonateľný súbor /opt/observer načíta modul jadra /opt/rootkit_loader.ko, ktorý je loaderom rootkitu /opt/rootkit.

Zistený UEFI bootkit Bootkitty, vkladajúci škodlivý kód do načítaného jadra Linuxu

Na inštaláciu bootkitu je potrebný privilegovaný prístup k systému a podobné typy škodlivého softvéru sa zvyčajne používajú útočníkmi po úspešnom prelomení alebo kompromitácii systému na zabezpečenie svojho ďalšieho prítomnosti a skrytie vykonávanej škodlivej aktivity. Knižnica injector.so a škodlivé moduly jadra sú umiestnené v obraze počiatočného RAM disku alebo súborovom systéme útočníkom. Bootloader grubx64.efi je umiestnený v oddiele so súbormi pre UEFI.

Vo variante Bootkitty, ktorá sa dostala do rúk výskumníkov, sa modifikácia funkcií v pamäti jadra vykonávala podľa vopred definovaných posunov bez overovania správnosti týchto posunov pre načítanú verziu jadra. Používané v Bootkitty posuny sa uplatnili len na verzie jadra a GRUB dodávané v určitých vydaniach Ubuntu, zatiaľ čo v ostatných systémoch viedli k zlyhaniu pri načítaní. Na overenie bootloadera Bootkitty (grubx64.efi) sa používal vlastný certifikát, čo neumožňovalo aplikovať bootkit na systémoch s povoleným režimom UEFI Secure Boot bez pridania certifikátu útočníka do zoznamu dôveryhodných certifikátov v UEFI. Takéto špecifiká vzbudili u výskumníkov myšlienku, že Bootkitty je zatiaľ len prototyp bootkitu, ktorý sa ešte nepoužíva na reálne útoky.

Po preskúmaní zverejnenej informácie spoločnosti ESET si výskumníci z firmy Binarly REsearch všimli medzi artefaktmi súvisiacimi s Bootkitty BMP-obrázky, ktoré sa používajú na využitie zraniteľnosti LogoFAIL, umožňujúcej vykonávanie kódu na úrovni UEFI firmvéru a obídenie mechanizmu UEFI Secure Boot. V kontexte Bootkitty sa zraniteľnosť LogoFAIL využívala na pridanie vlastného certifikátu útočníka do zoznamu schválených certifikátov UEFI, ktorým bol podpísaný bootloader bootkitu grubx64.efi, čo umožnilo spustiť bootkit na systémoch s aktívnym UEFI Secure Boot bez manuálneho pridávania certifikátu.

Útok sa uskutočňuje umiestnením špeciálne upraveného obrázka vo formáte BMP do oddielu ESP (EFI System Partition) na jeho zobrazenie UEFI firmvérom ako loga výrobcu. Kvôli využívaniu zraniteľných knižníc v UEFI firmvéroch pre prácu s obrázkami môže spracovanie špeciálne upraveného obrázka viesť k pretečeniu vyrovnávacej pamäte a vykonaniu kódu s privilégiami UEFI firmvéru. Zraniteľnosť LogoFAIL bola identifikovaná pred rokom a zasahovala do UEFI firmvérov, medzi ktoré patrili aj zariadenia Acer, HP, Fujitsu a Lenovo. V nových verziách UEFI firmvérov bola táto chyba odstránená, ale mnohé zariadenia v obehové stále používajú zraniteľné verzie firmvéru.

Zistený UEFI bootkit Bootkitty, vkladajúci škodlivý kód do načítaného jadra Linuxu


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster