Secure Boot è una funzione di sicurezza presente, anche quando non abilitata, in molti computer moderni: evita l’esecuzione di software potenzialmente dannoso prima del caricamento del sistema operativo. I programmi sprovvisti di una firma digitale autorizzata e memorizzata a livello di firmware, vengono bloccati prima del caricamento.
Per lungo tempo Secure Boot ha reso difficoltoso l’utilizzo di Linux e di altri software caricati al boot del sistema, ad esempio tramite un’unità di memorizzazione esterna. Microsoft ha poi iniziato a firmare gli shim ossia i bootloader di primo grado utilizzati per l’avvio di molte distribuzioni.
Usando lo stesso sistema, anche programmi di terze parti come Rufus sono diventati compatibili con Secure Boot.
Quando il computer viene avviato, Secure Boot verifica la firma digitale di ogni componente del firmware e del software di avvio, inclusi i driver e il kernel del sistema operativo. La funzione di protezione fa parte della specifica UEFI, Unified Extensible Firmware Interface, e com’è noto il suo utilizzo è diventato obbligatorio con Windows 11 anche se è comunque possibile installare Windows 11 su un PC non compatibile.
I ricercatori di ESET hanno pubblicato un’interessante analisi che mette ai raggi X il malware noto con il nome BlackLotus, venduto sul mercato nero a 5.000 dollari per cliente almeno dal mese di ottobre 2022. BlackLotus appartiene alla categoria dei temibili bootkit. Ma cosa sono e come funzionano?
Cosa sono i bootkit. Le differenze rispetto ai rootkit
Secure Boot è particolarmente utile per prevenire gli attacchi all’avvio del sistema, quando cioè il malware tenta di infettare il firmware del computer per acquisire un controllo persistente.
Rootkit e bootkit sono due tipi di malware avanzati che puntano proprio a guadagnare il controllo del sistema a ogni avvio dello stesso, con la massima priorità rispetto a tutti gli altri software in esecuzione.
Un rootkit è un malware che infetta il sistema operativo del computer utilizzando tecniche avanzate per nascondere la sua presenza. Può essere utilizzato per accedere in modo non autorizzato ai dati personali dell’utente, monitorare le sue attività, installare altro malware e modificare il comportamento del sistema.
Un bootkit è una tipologia di malware ancora più evoluta che infetta il firmware del computer, ad esempio UEFI. Minacce di questo genere integrano le abilità dei rootkit ma sono ad esempio in grado di resistere anche a una completa reinstallazione del sistema operativo.
Nel complesso, quindi, un bootkit è molto più difficile da rilevare e rimuovere poiché aggredisce il sistema a un livello più profondo rispetto a un rootkit.
Il primo malware che riesce a scavalcare Secure Boot si chiama BlackLotus
BlackLotus è un esempio di bootkit avanzato che supera la protezione Secure Boot anche sui sistemi Windows 11 completamente aggiornati.
Come fa? Sfruttando una vulnerabilità vecchia di più di un anno (CVE-2022-21894) che permette di aggirare la funzionalità Secure Boot a livello di BIOS UEFI e che ancora oggi Microsoft indica come “poco sfruttabile” (l’etichetta Exploitation Less Likely è eloquente). Al momento della stesura di questo articolo, Microsoft riporta inoltre che il problema di sicurezza non è attualmente sfruttato né di pubblico dominio. Gli autori di BlackLotus ringraziano.
Ma se la patch fosse già stata installata su un sistema (e ci sono buone probabilità perché Microsoft l’ha pubblicata a gennaio 2022…), come fa BlackLotus ad andare comunque in esecuzione e caricarsi come bootkit a ogni avvio del sistema?
ESET spiega che lo sfruttamento della falla CVE-2022-21894 (nota come Baton Drop) è ancora possibile perché i file binari interessati dal problema di sicurezza e firmati in modo valido non sono ancora stati correttamente aggiunti all’elenco di revoche lato UEFI.
Gli sviluppatori di BlackLotus ne hanno quindi approfittato attivando il caricamento del codice dannoso prima di Windows. Agendo in fase di pre-boot, BlackLotus può disattivare i meccanismi di sicurezza del sistema operativo come BitLocker, HVCI (Hypervisor Enforced Code Integrity) e Windows Defender.
Una volta installatosi, l’obiettivo principale del bootkit è insediare sul sistema della vittima un driver che opera a livello kernel (tra le altre cose, protegge il bootkit dalla rimozione) e un downloader HTTP responsabile della comunicazione con il server C&C (command and control) attraverso il quale i criminali informatici possono disporre il caricamento di ulteriori payload nocivi in modalità utente o kernel.
Se Secure Boot è abilitato, il malware procede con l’inserimento di più file nelle directory \EFI\Microsoft\Boot\
e \system32\
nella partizione di sistema (ESP, EFI System Partition). Mentre la prima è una cartella standard utilizzata da Windows, la seconda è una directory personalizzata appositamente creata da BlackLotus.
Nei casi in cui la vittima eseguisse una versione di Windows che non supporta Secure Boot o allorquando la funzione non risultasse abilitata, la distribuzione del malware risulta ancora più semplice. In questo caso BlackLotus si limita a sostituire il file del Windows Boot Manager (bootmgfw.efi
) nella cartella \EFI\Microsoft\Boot\
con un’applicazione dannosa autofirmata dagli aggressori.
Come proteggersi da BlackLotus e da altri bootkit
Il primo consiglio consiste nel mantenere costantemente aggiornati il sistema operativo, il browser, le applicazioni (soprattutto quelle che scambiano dati in rete) e i software di sicurezza. Alcuni antimalware possono infatti essere in grado di rilevare la minaccia prima che abbia la possibilità di infettare il sistema e guadagnarsi il caricamento automatico a ogni avvio della macchina.
La vera soluzione consiste però nella revoca dei file binari Microsoft sfruttati dal malware. Gli aggiornamenti Secure Boot Forbidden Signature Database (DBX) distribuiti da Microsoft attraverso Windows Update permettono di bloccare ulteriori tentativi di infezione.
L’azienda di Redmond ha provveduto in tal senso ad agosto 2022, peraltro causando alcuni problemi con BitLocker e unità RAID ma a questo punto è auspicabile un intervento del genere per mettersi al riparo da BlackLotus e minacce simili.
ESET ricorda comunque che la revoca dei file a livello UEFI potrebbe portare a diverse tipologie di problemi: si pensi, ad esempio, alle immagini di backup del sistema. Provando a ripristinarle, Windows potrebbe non risultare più avviabile.
L’uso del buon senso, come sempre, può aiutare a prevenire l’infezione dei sistemi: servirsi di sistemi di sandboxing, macchine virtuali e strumenti di sicurezza che svolgono una costante analisi comportamentale basandosi anche sull’intelligenza proveniente dal cloud, possono contribuire a ridurre significativamente i rischi.
ESET ha inoltre pubblicato firme, certificati e domini utilizzati da BlackLotus: si trovano nella sezione IoCs dell’analisi tecnica pubblicata dalla software house.