ESET ha individuato il primo bootkit UEFI progettato per sistemi Linux e l’ha chiamato Bootkitty. Considerato un proof of concept, non sembra essere stato distribuito attivamente, ma rappresenta una svolta significativa visto che da oggi i bootkit UEFI non sono più confinati ai sistemi Windows. L’obiettivo principale di Bootkitty è disabilitare la verifica della firma del kernel e precaricare due binari ELF sconosciuti tramite il processo “init” di Linux, il primo avviato dal kernel durante lo startup.

Il bootkit, denominato “bootkit.efi” e caricato su VirusTotal, utilizza un certificato auto-firmato, risultando incompatibile con sistemi in cui UEFI Secure Boot è abilitato di default. Tuttavia, Bootkitty può aggirare questa protezione patchando in memoria le funzioni responsabili della verifica dell’integrità e consentendo un avvio fluido del kernel.

Questo sofisticato rootkit è in grado di sostituire il boot loader e modificare il kernel prima della sua esecuzione, garantendo all’attaccante il controllo completo della macchina. Durante l’analisi, ESET ha individuato un modulo kernel non firmato, denominato BCDropper, che potrebbe essere opera dello stesso autore di Bootkitty. BCDropper distribuisce un ulteriore modulo kernel ancora non identificato.

bootkitty

Secondo Martin Smolár, ricercatore di ESET, Bootkitty presenta elementi tipici di un proof of concept e non rappresenta, al momento, una minaccia reale per la maggior parte dei sistemi Linux, essendo limitato a poche versioni di Ubuntu. Tuttavia, mette in evidenza la necessità di prepararsi a potenziali attacchi futuri. Smolár consiglia di mantenere abilitato UEFI Secure Boot, aggiornare firmware, software di sicurezza e sistema operativo e verificare l’elenco di revoca UEFI.

Nei test condotti da ESET, i sistemi compromessi da Bootkitty mostravano il kernel come “tainted” (macchiato), un’indicazione che non si verificava in assenza del bootkit. Un altro metodo per rilevare la presenza del bootkit consiste nel caricare un modulo kernel non firmato: se il bootkit è attivo, il modulo sarà accettato, altrimenti il kernel lo rifiuterà. Rimuovere Bootkitty è relativamente semplice: basta infatti ripristinare il file legittimo “/EFI/ubuntu/grubx64-real.efi” al suo percorso originale, sostituendo il file alterato “/EFI/ubuntu/grubx64.efi”.

La scoperta di Bootkitty rappresenta un’evoluzione delle minacce UEFI, che negli ultimi anni si sono intensificate. I primi proof of concept per Windows risalgono al 2012, seguiti dai primi bootkit UEFI attivi (come ESPecter nel 2021) e dal celebre BlackLotus nel 2023, capace di aggirare UEFI Secure Boot.