UEFI Bootkit: Bootkitty pada Linux dan warisan BlackLotus

Kemaskini terakhir: 26 September 2025
Pengarang TecnoDigital
  • Bootkitty ialah PoC bootkit UEFI pertama untuk Linux dengan sokongan terhad dan cangkuk ke UEFI/GRUB.
  • BlackLotus mengeksploitasi CVE-2022-21894 untuk memintas Secure Boot dan melumpuhkan pertahanan pada Windows.
  • Pengesanan IoC, MITRE ATT&CK dan Sigma membantu memantau gangguan but dan kernel.

Ilustrasi tentang bootkit UEFI

Bootkit UEFI telah menjadi salah satu vektor yang paling membimbangkan dalam landskap ancaman moden: ia berjalan sebelum sistem pengendalian, boleh melumpuhkan pertahanan dan mencapai kegigihan dengan keistimewaan yang lebih tinggi. Dalam beberapa tahun kebelakangan ini, kita telah beralih daripada sekadar bukti konsep kepada kes dunia sebenar yang aktif seperti BlackLotus pada Windows, dan kini reka bentuk berorientasikan Linux pertama, yang digelar Bootkitty, telah muncul, mengantar era baharu untuk ekosistem perisian percuma.

Artikel ini mengumpulkan dan menyusun maklumat penting daripada pelbagai sumber yang bereputasi untuk menerangkan cara bootkit UEFI beroperasi , apa yang membezakan Bootkitty pada Linux, mengapa BlackLotus merupakan pengubah keadaan untuk Windows, petunjuk kompromi yang perlu diperhatikan dan langkah pertahanan yang perlu dilaksanakan. Ia juga membincangkan kes-kes berkaitan seperti LoJax, ESPecter, MoonBounce dan MosaicRegressor, serta peraturan pengesanan berkaitan dan taktik MITRE ATT&CK.

Apakah itu bootkit UEFI dan mengapa ia menimbulkan risiko yang serius?

Bootkit UEFI ialah kod berniat jahat yang dilaksanakan semasa peringkat awal boot, apabila firmware memulakan peranti dan sebelum sistem pengendalian mengambil alih kawalan. Dengan beroperasi pada tahap yang rendah, ia boleh melumpuhkan mekanisme seperti pengesahan tandatangan atau pemuatan pemacu yang sah, menggunakan muatan dalam mod kernel atau pengguna dan kekal tersembunyi daripada kebanyakan langkah balas tradisional.

Adalah penting untuk membezakan antara tahap perisian but berniat jahat yang berbeza: implan perisian tegar (contohnya, LoJax pada tahun 2018) mengubah suai flash SPI secara langsung, manakala bootkit biasanya berada dalam partition sistem EFI (ESP), yang lebih mudah diakses tetapi mempunyai keupayaan yang serupa untuk mengawal proses but awal.

Evolusi kerentanan dalam UEFI baru-baru ini dan kekurangan pembatalan binari yang rosak dalam pangkalan data pembatalan (dbx) yang tepat pada masanya telah memudahkan pelaku yang menyinggung perasaan menyalahgunakan komponen yang ditandatangani tetapi terdedah untuk memintas Secure Boot , seperti yang berlaku dengan eksploitasi CVE-2022-21894 (Baton Drop) dalam kes BlackLotus.

Konteks sejarah: daripada PoC pada Windows kepada kes di alam liar

Demonstrasi awam utama pertama bagi bootkit UEFI moden bermula pada tahun 2012, apabila Andrea Allievi mendokumentasikan bukti konsep (PoC) yang mampu beroperasi dalam persekitaran Windows dengan UEFI. Ini diikuti oleh ujian lain—EfiGuard, Boot Backdoor, UEFI-bootkit—yang menunjukkan kebolehlaksanaan teknikal pendekatan tersebut.

Selepas fasa eksperimen awal itu, ancaman aktif mengambil masa bertahun-tahun untuk muncul pada sistem sebenar. Pada tahun 2021, ESPecter (disiasat oleh ESET) dan bootkit FinSpy (dianalisis oleh Kaspersky) telah dikeluarkan, dan pada tahun 2023, BlackLotus muncul, bootkit pertama yang diketahui memintas UEFI Secure Boot pada sistem Windows 11 yang dikemas kini sepenuhnya .

Sehingga baru-baru ini, semua kes ini berkongsi satu sifat yang sama: ia tertumpu secara eksklusif pada Windows . Paradigma ini dipecahkan dengan penemuan Bootkitty, yang berpusat pada Ubuntu dan, oleh itu, pada dunia Linux.

Keselamatan dan but UEFI

Bootkitty: bootkit UEFI pertama memfokuskan pada Linux

Pada November 2024, aplikasi UEFI yang tidak diketahui ( bootkit.efi ) muncul di VirusTotal. Analisis mendedahkan ia adalah Bootkitty, bootkit UEFI pertama yang direka untuk Linux , khusus untuk versi Ubuntu tertentu. Menurut telemetri yang ada, tiada bukti penggunaan wild-world; semuanya menunjukkan bukti awal konsep , dengan pelbagai artifak pembangunan.

Kemas kini penting: Pada awal Disember 2024, telah disahkan bahawa ini adalah projek akademik yang dibangunkan oleh peserta dalam program Terbaik Terbaik Korea (BoB). Objektif yang dinyatakan adalah untuk meningkatkan kesedaran tentang risiko dan menggalakkan langkah proaktif. Ini selaras dengan pemerhatian penganalisis: kit but berfungsi dengan sokongan terhad dan tanda-tanda bukti konsep, bukan senjata siap untuk kempen besar-besaran.

Keserasian PoC, tandatangan dan isyarat

Bootkitty didatangkan dengan sijil yang ditandatangani sendiri , jadi ia tidak boleh berjalan jika But Selamat diaktifkan melainkan sijil penyerang ditambah secara manual. Walaupun begitu, logiknya cuba membenarkan proses but kernel diteruskan secara normal dengan menampal fungsi pengesahan dalam memori sebelum GRUB melepaskan kawalan.

  Kata laluan selamat: panduan lengkap untuk melindungi akaun anda

Keserasiannya terhad. Untuk mencari fungsi yang hendak diubah suai, ia menggunakan corak bait yang dikodkan yang tidak meliputi berbilang versi kernel atau GRUB, menjadikannya hanya beroperasi dalam konfigurasi tertentu dan berkemungkinan menyebabkan ranap jika ofset tidak sepadan dengan versi semasa.

Antara artifak bukti konsep ialah dua rutin yang mencetak seni ASCII dengan nama Bootkitty dan senarai pengarang yang mungkin; di samping itu, semasa permulaan ia memaparkan rentetan dan rujukan tertentu seperti "BlackCat," yang tidak berkaitan dengan kumpulan ransomware ALPHV/BlackCat. Binari juga menulis ganti rentetan dan sepanduk versi Linux dengan teks "BoB13."

Rantai pelaksanaan dan cangkuk dalam UEFI dan GRUB

Setelah dimulakan, Bootkitty menyemak status SecureBoot dengan membaca pembolehubah UEFI yang sepadan. Kemudian, ia memasang cangkuk pada protokol pengesahan UEFI—EFI_SECURITY2_ARCH_PROTOCOL.FileAuthentication dan EFI_SECURITY_ARCH_PROTOCOL.FileAuthenticationState—untuk memaksa EFI_SUCCESS sebagai hasilnya, mengatasi penilaian sebenar integriti imej UEFI PE.

Seterusnya, ia memuatkan GRUB yang sah daripada ESP, yang terletak di laluan berkod keras /EFI/ubuntu/grubx64-real.efi (mungkin salinan yang disimpan oleh penyerang). Dengan GRUB dalam memori, tetapi belum dilaksanakan, bootkit menampal dan menghubungkan beberapa titik kritikal, termasuk:

  • peimage::start_image (dibenamkan dalam GRUB), untuk memintas saat stub kernel EFI (vmlinuz.efi) dimuatkan ke dalam memori. Dari sini, Bootkitty mencari dan menampal rutin yang bertanggungjawab untuk penyahmampatan kernel, kemungkinan besar zstd_decompress_dctx bergantung kepada binaan.
  • shim_lock_verifier_init, sebahagian daripada shim_lock dalam GRUB, walaupun cangkuk yang digunakan tidak relevan kerana cangkuk lain menghalangnya daripada dilaksanakan, dan pengubahsuaian juga memperkenalkan bendera GRUB_VERIFY_FLAGS_SINGLE_CHUNK, yang secara teorinya mengeras pengesahan.
  • grub_verifiers_open, yang diubah untuk kembali serta-merta tanpa menggunakan semakan tandatangan, sekali gus meneutralkan aliran biasa pengesahan dalam GRUB.

Cangkuk penyahmampatan kernel dan tampalan memori

Penyahmampatan kernel hook over memulihkan bait asal buat sementara waktu, membolehkan fungsi autentik menyahmampatkan imej, dan kemudian menggunakan tampalan pada memori kernel yang kini dikembangkan. Fasa ini penting untuk melumpuhkan kawalan dan bersedia untuk memuatkan modul atau binari tambahan.

Secara khususnya, logik yang diperhatikan menulis semula rentetan versi dengan "BoB13" , mengubah suai fungsi module_sig_check untuk mengembalikan 0 (oleh itu kernel menerima modul yang tidak ditandatangani walaupun dengan Secure Boot diaktifkan, dengan CONFIG_MODULE_SIG_FORCE atau dengan module.sig_enforce=1), dan menggantikan pembolehubah persekitaran pertama proses init dengan "LD_PRELOAD=/opt/injector.so /init".

Idea di sebalik LD_PRELOAD adalah untuk memaksa pemuatan keutamaan fail ELF yang dikongsi untuk menulis ganti fungsi atau memasukkan logik tambahan, teknik biasa dalam serangan userland. Kehadiran "/init" dalam nilai LD_PRELOAD adalah penting; maksud tepatnya tidak sepenuhnya jelas dan mengukuhkan tafsiran bahawa ini adalah peringkat pembangunan awal.

Semasa ujian makmal, sistem menunjukkan kernel sebagai tercemar selepas but dengan Bootkitty; tambahan pula, rentetan dan jejak pembolehubah LD_PRELOAD yang diubah suai dapat dilihat dalam dmesg, yang juga boleh dilihat dalam /proc/1/environ . Pada sistem dengan But Selamat diaktifkan, petunjuk empirikal ialah kernel menerima pemuatan modul yang tidak ditandatangani semasa masa jalan, yang sepatutnya tidak berlaku tanpa penampalan terlebih dahulu.

BCDropper dan BCObserver: bahagian tambahan yang berkaitan

Secara selari, modul kernel yang tidak ditandatangani yang digelar BCDropper telah ditemui , dimuat naik ke VirusTotal oleh pengirim yang sama seperti bootkit. Ia mengandungi rujukan kepada "BlackCat" dalam rentetan dan laluan debug dan fungsi penyembunyian fail (menapis nama dengan awalan seperti " penyuntik ", selaras dengan LD_PRELOAD yang menunjuk ke /opt/injector.so).

BCDropper mengekstrak fail ELF terbenam yang dipanggil BCObserver daripada /opt/observer dan melaksanakannya menggunakan /bin/bash. Ia juga mengalih keluar jejaknya sendiri daripada senarai modul yang dimuatkan dan menyediakan fungsi rootkit biasa (menyembunyikan fail, proses, port), walaupun dropper tidak mengeksploitasi kesemuanya secara langsung.

BCObserver, bagi pihaknya, menunggu pengurus paparan gdm3 bermula dan kemudian cuba memuatkan /opt/rootkit_loader.ko menggunakan syscall finit_module , memastikan modul disuntik apabila sistem telah menyelesaikan but grafik.

Tiada kepastian mutlak bahawa karya-karya ini dikaitkan dengan pengarang yang sama seperti Bootkitty, tetapi penampalan module_sig_check menunjukkan bahawa tujuannya adalah untuk membolehkan pemuatan modul yang tidak ditandatangani, sesuai dengan apa yang dilakukan oleh BCDropper/BCObserver.

IoC dan Teknik MITRE ATT&CK yang berkaitan

Petunjuk penglibatan dan klasifikasi berikut boleh membantu dalam pencarian isyarat awal dalam persekitaran Linux di mana PoC mungkin telah diuji:

  NTFS PLUS pada Linux dan sistem fail penting yang lain
SHA-1 nama Pengesanan Huraian
35ADF3AED60440DA7B80F3C452047079E54364C1 bootkit.efi EFI/Agen.A Bootkitty Kit but UEFI.
BDDF2A7B3152942D3A829E63C03C7427F038B86D penitis.ko Linux/Rootkit.Agent.FM BCDropper.
E8AF4ED17F293665136E17612D856FA62F96702D pemerhati Linux/Rootkit.Agent.FM BCObserver.

Pemetaan MITRE ATT&CK yang paling menonjol untuk set bahagian dan tingkah laku yang diperhatikan ini, berguna untuk Model Ancaman asas :

Taktik ID nama Huraian
Pembangunan Sumber T1587.001 Membangunkan Keupayaan: Perisian hasad Bootkitty ialah seorang Kit but UEFI baru.
T1587.002 Membangunkan Keupayaan: Sijil Menandatangani Kod Sampel ditandatangani dengan disahkan ditandatangani sendiri.
Pelaksanaan T1106 API asli Kegunaan BCObserver modul_finit untuk memuatkan LKM.
T1129 Modul Dikongsi Kekuatan bootkitty LD_PRELAD dalam init.
Kegigihan T1574.006 Aliran Pelaksanaan Rampasan: Rampasan Penghubung Dinamik Menampal Persekitaran INIT dengan LD_PRELOAD.
T1542.003 But Pra-OS: Bootkit Kerahan dalam ESP.
Pengelakan Pertahanan T1014 rootkit BCDropper sebagai LKM untuk penyembunyian.
T1562 Menjejaskan Pertahanan Lumpuhkan pengesahan bagi firma dalam GRUB dan kernel.
T1564 Sembunyikan Artifak Sembunyikan modul anda daripada senarai modul daripada kernel.

Jejak pada sistem Linux dan cadangan mitigasi

Dalam pemasangan Ubuntu yang terjejas, bukti forensik telah diperhatikan, seperti rentetan versi kernel yang diubah kepada BoB13 (kelihatan dengan `uname -v`), pengubahsuaian pada sepanduk but (`dmesg`), dan kehadiran `LD_PRELOAD` dalam `/proc/1/environ` . Kernel mungkin ditanda sebagai tercemar, satu tingkah laku yang tidak berlaku tanpa bootkit.

Penyelesaian cepat apabila bootkit menggantikan GRUB adalah dengan memulihkan fail yang sah daripada /EFI/ubuntu/grubx64-real.efi ke lokasi asalnya di /EFI/ubuntu/grubx64.efi supaya bootkit but GRUB sebenar. Perlu diingat bahawa ini hanya terpakai kepada senario tertentu di mana penggunaan adalah seperti yang diterangkan.

BlackLotus: kes paradigmatik dalam Windows

BlackLotus dikenali kerana keupayaannya untuk menjalankan bootkit UEFI walaupun pada Windows 11 yang ditambal sepenuhnya dengan Secure Boot diaktifkan. Ia tersedia dengan harga $5.000 ($200 setiap naik taraf) bermula pada Oktober 2022, dengan geofencing untuk menghalang akses kepada sistem di Armenia, Belarus, Kazakhstan, Moldova, Romania, Rusia dan Ukraine.

Ia mengeksploitasi kerentanan CVE-2022-21894 (Baton Drop) , yang ditambal oleh Microsoft pada Januari 2022, tetapi masih boleh dieksploitasi selepas itu kerana binari yang ditandatangani dan terdedah masih belum ditambahkan ke senarai pembatalan UEFI (dbx). Pemasang memperkenalkan salinan pemuat but terdedah yang ditandatangani secara sah untuk mencapai kegigihan dan memintas But Selamat.

Antara keupayaannya, ia boleh melumpuhkan BitLocker, integriti memori (HVCI) dan Microsoft Defender; menggunakan pemacu kernel yang melindungi fail bootkit pada ESP; dan menjalankan pemuat turun HTTP mod pengguna dalam winlogon.exe , menggunakan teknik anti-VM, anti-penyahpepijatan dan pengaburan. Saiz bootkit adalah kecil (sekitar 80 KB), yang menyumbang kepada kebolehsembunyiannya.

Kod dalaman dan artifak yang aneh telah didokumenkan, seperti rujukan kepada siri Higurashi dalam nama komponen dan sijil yang ditandatangani sendiri, serta mesej yang dikaburkan yang tidak digunakan. Butiran ini tidak mengurangkan bahayanya, tetapi ia memberikan konteks tentang perkembangannya.

Cara Windows Melindungi But: But Secure, But Trusted, ELAM dan Measured Boot

Dalam Windows, rantaian kepercayaan but bergantung pada beberapa lapisan. Secure Boot mengesahkan tandatangan firmware dan bootloader; Trusted Boot mengesahkan integriti komponen kernel dan but; ELAM mengutamakan pemuatan pemacu antimalware berbanding pemacu but bukan Microsoft yang lain; dan Measured Boot merekodkan hash dalam TPM untuk pengesahan jarak jauh.

Secara lalai, peranti yang diperakui telah mendayakan But Selamat dan mempercayai sijil Microsoft dan pemuat but lain yang diluluskan. Walau bagaimanapun, memastikan UEFI CA pihak ketiga Microsoft didayakan meluaskan permukaan serangan dengan mempercayai pemuat but daripada berbilang pengedaran, termasuk yang mempunyai kerentanan yang diketahui. Banyak peranti kernel yang dilindungi memerlukan pelumpuhan kepercayaan dalam CA pihak ketiga ini untuk memperkukuhkan postur keselamatan lalai .

Untuk membenarkan Linux dalam persekitaran yang dilindungi, pendekatan yang disyorkan adalah dengan menambah tandatangan bootloader yang dikehendaki secara eksplisit ke pangkalan data UEFI atau, sebagai pilihan terakhir, melumpuhkan Secure Boot—langkah yang mengurangkan perlindungan terhadap bootkit dengan ketara . Dalam kedua-dua kes, perubahan ini memerlukan pengubahsuaian firmware manual dan tidak boleh diautomasikan oleh perisian hasad.

Pengesahan But Terukur membolehkan pelayan yang dipercayai menilai sama ada titik akhir mengekalkan rantaian but yang utuh. TPM menandatangani bukti dan, digabungkan dengan telemetri tambahan, membolehkan pengasingan peranti yang terjejas dalam rangkaian kuarantin sehingga pemulihan.

  Ruang nama dan kumpulan c dalam Linux: asas sebenar bekas

Peraturan pengesanan dan pengawasan proaktif

Selain instrumentasi natif Windows, komuniti ini telah menerbitkan peraturan Sigma yang berguna untuk mengesan aktiviti yang berkaitan dengan senario ini. Ini termasuk mencipta fail firmware di bawah System32 melalui proses bukan sistem dan melumpuhkan Integriti Memori VCI Tinggi menggunakan kekunci pendaftaran (teknik MITRE ATT&CK T1562 dan T1112). Pengesanan ini dipetakan kepada berbilang sistem SIEM/EDR/XDR.

Untuk Linux, adalah dinasihatkan untuk mengaitkan peristiwa but (journald/dmesg), perubahan pada pembolehubah persekitaran PID 1 menggunakan uname -vy, dan untuk menyemak beban modul yang tidak ditandatangani atau operasi ESP yang mencurigakan . Mengintegrasikan jejak ini dengan peraturan tingkah laku dalam EDR meningkatkan kemungkinan mengesan percubaan persistensi awal.

Gambaran yang lebih besar: LoJax, ESPecter, MoonBounce, MosaicRegressor dan isyarat baharu

Implan firmware UEFI pertama yang diperhatikan di alam liar ialah LoJax (2018), diikuti oleh kempen dengan MosaicRegressor dan MoonBounce, yang terakhir terkenal kerana meningkatkan piawaian untuk kecanggihan dalam rootkit UEFI . Pada tahun 2021, ESPecter dan bootkit FinSpy menunjukkan bahawa peringkat pra-OS kekal sebagai sasaran yang menarik untuk pelakon lanjutan.

Dalam arena Linux, Bootkitty merupakan ujian fungsian pertama seumpamanya, walaupun dengan skop yang terhad. Dan seawal tahun 2025, rujukan muncul kepada " HybridPetya " sebagai evolusi keluarga Petya dengan keupayaan bootkit UEFI, dengan sampel yang dimuat naik ke VirusTotal dari Poland . Walaupun analisisnya masih awal, ia berfungsi sebagai peringatan bahawa kategori ancaman ini terus berkembang.

Cadangan praktikal untuk mengurangkan risiko

Dalam persekitaran Linux, memastikan Secure Boot diaktifkan, menggunakan firmware (UEFI) dan kemas kini kernel, dan memastikan senarai pembatalan (dbx) dikemas kini adalah tonggak yang tidak boleh dirundingkan. Pantau sama ada `module.sig_enforce` ditetapkan kepada 1 atau `CONFIG_MODULE_SIG_FORCE` diaktifkan apabila sesuai, dan elakkan memuatkan modul daripada sumber yang tidak dipercayai.

Audit partisi ESP secara berkala untuk perubahan tanpa kebenaran pada laluan seperti /EFI/ubuntu/grubx64.efi dan sahkan bahawa tiada "salinan" yang mencurigakan (grubx64-real.efi) wujud. Sebarang perubahan dalam aliran pengesahan GRUB harus disiasat.

Dalam Windows, selain Secure Boot, ia menguatkan Trusted Boot, mendayakan HVCI apabila disokong oleh perkakasan dan menerima pakai pengesahan jarak jauh berasaskan TPM dengan dasar akses bersyarat . Ia meminimumkan pergantungan pada CA pihak ketiga jika tidak benar-benar diperlukan dan mempercepatkan penerimaan pembatalan apabila ia melaporkan kegagalan dalam komponen but.

Sesetengah penyelesaian komersial mengintegrasikan pengimbas UEFI yang mampu mengimbas perisian tegar untuk komponen berniat jahat . ESET mendakwa sebagai satu-satunya 20 vendor titik akhir teratas mengikut pendapatan yang menawarkan keupayaan bersepadu ini kepada pelanggannya, satu pendekatan yang boleh menambah nilai kepada pertahanan perkakasan yang mendalam.

Trajektori kempen baru-baru ini menjelaskan bahawa pautan but kekal sebagai sasaran utama. Dengan telemetri yang betul , pengerasan firmware/pemuat but dan pemeriksaan integriti yang sistematik, adalah mungkin untuk meningkatkan standard dengan ketara dan menjadikan hidup lebih sukar untuk musuh.

Kecanggihan bootkit UEFI mengesahkan bahawa sempadan antara Bukti Konsep (PoC) dan operasi dunia sebenar semakin pantas diatasi: Bootkitty menunjukkan bahawa Linux sudah berada dalam persaingan, BlackLotus mengukuhkan daya maju pada Windows dan ekosistem pertahanan mesti mengutamakan kebersihan but, kemas kini dbx, pemantauan IoC dan pengesahan jarak jauh untuk menghentikan sebarang percubaan persistensi pra-OS sejak awal.