ESETi uurijad on avastanud uue Bootkitty nimesuguse bootkit'i, mis paigaldatakse süsteemi ründamise järel GRUBi bootloaderi asemel ja kasutatakse Linuxi tuumas pahatahtlike komponentide süstimiseks, mis seejärel võimaldavad ründajal süsteemi varjatult kontrollida ja seal oma tegevust teostada. Väidetavalt on see esimene UEFI bootkit, mis on suunatud Linuxi süsteemide ründamisele.
Bootkitty paigutatakse EFI süsteemipartitsiooni grubx64.efi faili (EFI system partition, /boot/efi/EFI/ubuntu) tavapärase GRUBi bootloaderi asemel. Pärast UEFI püsivara aktiveerimist laadib bootkit mällu tõelise GRUB2 bootloaderi ja muudab GRUB2 kettas olevat koodi, et keelata edasiste komponentide terviklikkuse kontroll ning lisab käitleja, mis käivitatakse pärast Linuxi tuuma pildi mällu lahtipakkimist. See käitleja muudab laetud mällu funktsioonide tuuma koodi (keelab moodulite digitaalallkirja kontrollimise) ning muudab initsialiseerimisprotsessi käivitamise rida "init" asemel "LD_PRELOAD=/opt/injector.so /init".
Raamatukogu injector.so salvestab teatud SELinuxi toiminguid ja init_module funktsiooni, mida seejärel kasutatakse mooduli tuuma laadimiseks /opt/dropper.ko. Moodul tuum dropper.ko loob ja käivitab käivitatava faili /opt/observer, seejärel varjab iseennast tuuma moodulite nimekirjas ja seondab süsteemikõnede käitlejad, nagu getdents ja tcp4_seq_show, faili /opt/observer ja teatud võrguliiklust varjamiseks. Käivitatav fail /opt/observer laadib tuuma mooduli /opt/rootkit_loader.ko, mis on rütikite loader /opt/rootkit.

Bootkiti seadistamiseks on vajalik privileege omav juurdepääs süsteemile ja tavaliselt kasutatakse neid pahatahtlikke tarkvarasid ründajate poolt pärast süsteemi edukat ründamist või kompromiteerimist oma edasise kohaloleku kindlustamiseks ja pahatahtliku tegevuse varjamiseks. Raamatukogu injector.so ja pahatahtlikud tuuma moodulid paigutatakse ründaja poolt algse RAM-disk'i kujutisse või failisüsteemi. Bootloader grubx64.efi paigutatakse UEFI failide osasse.
Bootkitty variandis, mis uurijate kätte sattus, viidi tuuma mälus funktsioonide modifikatsioon läbi ette määratud silmade alusel, kontrollimata nende silmade korrektsust laaditud tuuma versiooni jaoks. Bootkitty's kasutatud silmad kehtisid ainult teatud Ubuntu väljalaskeversioonide tuuma ja GRUB versioonide jaoks, muudes süsteemides põhjustades käivitamisvigu. Bootkitty laadija (grubx64.efi) autentimisprotsessi verifitseerimiseks kasutati isetöödeldud sertifikaati, mis ei võimaldanud bootkit'i kasutamist süsteemides, kus on aktiveeritud UEFI Secure Boot režiim, ilma et ründaja sertifikaat oleks lisatud UEFI usaldusväärsete sertifikaatide loendisse. Sellised omadused tõid uurijatele mõtte, et Bootkitty on vaid bootkit'i prototüüp, mis ei ole veel reaalses rünnakus kasutusel.
ESET'i avaldatud teavet uurides märkisid Binarly REsearchi uurijad Bootkittyga seotud artefaktide seas BMP-pilte, mida kasutatakse LogoFAIL haavatavuse ära kasutamiseks, võimaldades koodi käivitamist UEFI püsivara tasemel ja UEFI Secure Boot mehhanismi ümbersuunamist. Bootkitty kontekstis kasutati LogoFAIL haavatavust agressori isetöödeldud sertifikaadi lisamiseks UEFI lubatud sertifikaatide loendisse, millega sertifitseeriti bootkit'i laadija grubx64.efi, võimaldades bootkit'i käivitada süsteemides, kus on aktiveeritud UEFI Secure Boot, ilma et sertifikaati oleks vaja käsitsi lisada.
Rünnak viiakse läbi spetsiaalselt vormindatud BMP-pildi paigutamisega ESP (EFI System Partition) sektsiooni, et see näidataks UEFI püsivara poolt tootja logona. UEFI püsivara kasutatavate haavatavate raamatukogude tõttu, mis töötavad piltidega, võib spetsiaalselt vormindatud pildi töötlemine põhjustada puhverserveri ülevoolu ja koodi täitmist UEFI püsivara õigustega. LogoFAIL haavatavus tuvastati aastat tagasi ja see mõjutas UEFI püsivara, sealhulgas neid, mida kasutati Aceri, HP, Fujitsu ja Lenovo sülearvutites. Uusimates UEFI püsivara versioonides on probleem lahendatud, kuid paljud kasutuses olevad seadmed jätkavad töötamist haavatavate püsivara versioonidega.

Allikas: opennet.ru
