ESETi teadlased tuvastasid uue butiki «Bootkitty», mis installitakse süsteemi häkkimise järel GRUB-i laadija asemel ja kasutatakse pahatahtlike komponentide sisestamiseks Linuxi kernelisse, mis võimaldab ründajal süsteemi salaja kontrollida ja tegevusi sooritada. Väidetavalt on see esimene UEFI-butik, mis on suunatud Linuxi süsteemide ründamisele.
Bootkitty asub failis grubx64.efi EFI süsteemiosas (EFI system partition, /boot/efi/EFI/ubuntu) tavalise GRUB-i laadija asemel. Pärast UEFI-firmware'i aktiveerimist laadib butiki mälu reaalse GRUB2 laadija ja muudab mälus oleva GRUB2 koodi, keelates hiljem laaditavate komponentide terviklikkuse kontrollimise ning lisab käitleja, mis kutsutakse välja pärast Linuxi kernelipildi mälu lahtipakkimist. Antud käitleja muudab mällu laaditud kernelifunktsioone (keelab moodulite digitaalallkiri kontrollimise) ning muudab initsialiseerimise protsessi käivitamisrida «/init» väärtusele «LD_PRELOAD=/opt/injector.so /init».
Injector.so raamatukogu püüab kinni mõned SELinuxi toimingud ja init_module funktsiooni, mida seejärel kasutatakse tuumamooduli /opt/dropper.ko laadimiseks. Tuumamoodul dropper.ko loob ja käivitab täidetava faili /opt/observer, seejärel peidab end tuumamoodulite nimekirjast ja seab süsteemikutsungite käitlejad, nagu getdents ja tcp4_seq_show, et varjata faili /opt/observer ja teatud võrgu liiklust. Täidetav fail /opt/observer laadib tuumamooduli /opt/rootkit_loader.ko, mis on rootkiti /opt/rootkit laadija.

Bootkiti installimiseks on vajalik privileege omav juurdepääs süsteemile ning selliseid pahavara vorme kasutatakse tavaliselt ründajate poolt pärast edukat sissetungi või süsteemi kompromiteerimist, et kindlustada oma edasine kohalolek ja varjata teostatavat pahatahtlikku tegevust. Injector.so raamatukogu ja pahatahtlikud tuumamoodulid paigutatakse ründaja poolt algse RAM-diski kujutisse või failisüsteemi. Grubx64.efi laadija paigutatakse UEFI failide sektsiooni.
Bootkitty versioonis, mis jõudis uurijate kätte, tehti tuumafunktsioonide muudatused mälus eelnevalt määratletud offset'ide kaudu, ilma et nende offset'ide õigsust laaditud tuumaversiooni suhtes kontrollitaks. Bootkitty's kasutatud offset'id kehtisid vaid teatud Ubuntu versioonide ja GRUB'i puhul, kuid muudes süsteemides tõid nad kaasa laadimisvea. Bootkitty laadija (grubx64.efi) allkirjastamiseks kasutati iseallkirjastatud sertifikaati, mis ei lubanud alglaadimiskit kasutada süsteemides, kus on lubatud UEFI Secure Boot režiim, ilma et ründaja sertifikaat oleks lisatud UEFI usaldusväärsete sertifikaatide nimekirja. Sellised omadused tekitasid uurijates kahtlusi, et Bootkitty on vaid prototüüp ja pole veel tegelikes rünnakutes kasutusel.
Uurides avaldatud ESET teavet, märkisid Binarly Researchi teadlased Bootkitiga seotud artefaktide seas BMP-pilte, mida on kasutatud LogoFAIL haavatavuse ärakasutamiseks. See haavatavus võimaldab käivitada koodi UEFI-firmware tasemel ja ületada UEFI Secure Boot mehhanismi. Bootkiti kontekstis kasutati LogoFAIL haavatavuse ärakasutamist, et lisada UEFI heakskiidetud sertifikaatide nimekirja ründaja enda allkirjastatud sertifikaat, millega on allkirjastatud Bootkiti laadija grubx64.efi, võimaldades seeläbi Bootkiti käivitada süsteemides, kus on aktiivne UEFI Secure Boot, ilma sertifikaati käsitsi lisamata.
Rünnak toimub ESP (EFI süsteemiparteil) spetsiaalselt kujundatud BMP-formaadis pildi paigutamise kaudu, et see UEFI püsivara tootja logo välja tuua. UEFI-püsivara pilditöötluseks kasutatavate haavatavate raamatukogude tõttu võib spetsiaalselt kujundatud pildi töötlemine põhjustada puhverserveri ülekoormust ning UEFI püsivara privileegidega koodi täitmist. LogoFAIL haavatavus tuvastati aasta tagasi ning see mõjutab UEFI-püsivara, sealhulgas neid, mida kasutatakse Acer, HP, Fujitsu ja Lenovo sülearvutites. Uusimates UEFI-püsivara versioonides on probleem lahendatud, kuid paljud laialdaselt kasutatavad seadmed töötavad endiselt haavatavate püsivara versioonidega.

Allikas: opennet.ru
