Per ora si tratta di un proof of concept, ma Bootkitty è una minaccia seria che merita grande attenzione e un monitoraggio attento delle evoluzioni future.
Si chiama Bootkitty ed è stato identificato dai ricercatori di ESET il primo bootkit UEFI progettato per sistemi Linux. Attualmente non costituisce una grave minaccia in quanto sembra trattarsi solo di un proof of concept non impiegato in attacchi reali, ma la sua sola esistenza sottolinea un'importante evoluzione nel panorama delle minacce UEFI e dimostra che i bootkit non sono più circoscritti ai sistemi Windows.
Sono questi ultimi i motivi per i quali, pur in assenza di un allarme imminente, vale la pena spendere del tempo ad analizzare Bootkitty, il cui obiettivo principale è disabilitare la funzione di verifica della firma del kernel Linux e precaricare due binari ELF sconosciuti tramite il processo init di Linux, ossia il primo processo eseguito dal kernel durante l'avvio del sistema.
Un attacco reale con questo presupposto potrebbe rappresentare una minaccia significativa perché consentirebbe agli attaccanti di prendere il controllo del sistema fin dall'avvio bypassando i meccanismi di sicurezza del kernel, e di installare malware persistente. La compromissione di un sistema a questo livello rende difficile la detection e la rimozione della minaccia, dato che il malware potrebbe operare con i massimi privilegi e passare indenne ai tradizionali strumenti di sicurezza.
I ricercatori hanno scoperto che Bootkitty prende di mira specificamente alcune versioni di Ubuntu, e che potrebbe essere parte di un attacco più ampio e sofisticato, dato che esiste un modulo del kernel non firmato correlato a Bootkitty.
Lo schema di esecuzione di Bootkitty
C’è poi una serie di caratteristiche tecniche che rivelano il funzionamento della minaccia in oggetto e le intenzioni degli autori. Prima di tutto, il bootkit contiene funzioni non utilizzate in grado di visualizzare sullo schermo stringhe speciali durante la sua esecuzione o di stampare un elenco di possibili autori o persone coinvolte nello sviluppo del bootkit. Inoltre, a ogni avvio Bootkitty visualizza un messaggio di benvenuto che include il nome BlackCat, anche se i ricercatori ritengono che non ci sia alcun nesso fra questa minaccia e il gruppo ransomware ALPHV/BlackCat.
In secondo luogo, Bootkitty utilizza pattern di byte predefiniti per individuare le funzioni da modificare in memoria. Si tratta di una tecnica comune nei bootkit, ma che limita il funzionamento di Bootkitty a un numero limitato di configurazioni di sistema, dato che i pattern utilizzati non sono ottimizzati per diverse versioni del kernel. Dopo la decompressione dell'immagine del kernel, Bootkitty copia le patch dannose in offset predefiniti all'interno dell'immagine, senza condurre verifiche: è un modo di procedere che può portare a crash del sistema qualora Bootkitty tentasse di applicare le patch in posizioni di memoria errate, ed è la prova più evidente del fatto che i ricercatori hanno di fronte un PoC.
Fra le peculiarità più interessanti troviamo il fatto che Bootkitty intercetta e modifica diverse funzioni critiche, tra cui quelle di autenticazione UEFI per bypassare UEFI Secure Boot, in modo che restituiscano sempre un risultato positivo, simulando una verifica dell'integrità riuscita. Inoltre il bootkit carica una copia di GRUB legittima da un percorso predefinito e ne modifica il codice in memoria per disabilitare le verifiche delle firme e consentire il caricamento di moduli del kernel non firmati.
Ultimo ma non meno importante, i ricercatori hanno reperito su VirusTotal un modulo del kernel non firmato denominato BCDropper probabilmente correlato a Bootkitty, che contiene elementi di collegamento con il bootkit quali ad esempio stringhe di debug e funzioni di occultamento file.
Nel blog ufficiale di ESET sono pubblicati gli Indicatori di Compromissione e l’elenco delle tecniche MITRE ATT&CK rivelate.