Ho imparato a conoscere UEFI Secure Boot . È progettato per impedire al malware di infettare il processo di avvio e sovrascrivere il bootloader. Dispone di protezioni a livello hardware per garantire che solo all'avvio sia caricato un bootloader firmato e affidabile e un kernel del sistema operativo.
Oggi il malware può sovrascrivere il Master Boot Record (MBR) con una versione malevola, in modo che ogni avvio successivo si trasformi in una versione malvagia del sistema operativo. UEFI Secure Boot lo impedirebbe, poiché la macchina eseguirà il bootloader solo se è stato firmato e il bootloader modificato dell'attaccante non avrà una firma valida. In altre parole, con UEFI Secure Boot, dovresti essere sicuro che, una volta riavviato, ora stai utilizzando un boot loader e un kernel del sistema operativo validi e affidabili. A volte le persone riassumono ciò dicendo che UEFI Secure Boot previene i "bootkit". OK, il concetto di base ha un senso.
Voglio capire cosa ferma il seguente tipo di attacco. Supponiamo che tu stia utilizzando Windows (ad esempio). Supponiamo che l'autore dell'attacco, che ha rilevato malware sul computer e voglia assicurarsi di rimanere residente dopo il riavvio, modifichi la configurazione di avvio di Windows per avviare una macchina virtuale (VM). All'interno della VM c'è un'immagine Windows modificata, proprio come un kernel e un sistema operativo Windows standard e un'immagine, fondamentalmente una copia completa di ciò che è sulla tua macchina, tranne che il kernel è stato modificato per inserirvi del malware. Quando si avvia, questa VM viene avviata automaticamente e (supponiamo) si avvia automaticamente in modalità a schermo intero.
Sembra che questo attacco sovverti gli obiettivi previsti di UEFI Secure Boot. Dal punto di vista dell'utente, sembra che stiano utilizzando Windows, nel loro ambiente desktop completo. Quello di cui non si rendono conto è che tutto il loro ambiente è stato infettato da malware. Certo, il sistema operativo host è affidabile (grazie a UEFI Secure Boot), ma il sistema operativo guest (all'interno della VM) è malevolo, e l'utente non ha modo ovvio di dire che sta interagendo con un ospite malvagio piuttosto che con il ospite. Quindi, l'utente penserà che tutto vada bene, quando in realtà vengono neutralizzati. Gli intenditori dei concetti di sicurezza lo riconosceranno come un attacco al "percorso fidato": il computer ha avviato un kernel affidabile, ma l'utente non ha modo di verificare che stiano interagendo con un kernel affidabile piuttosto che un "gemello cattivo" del tutto inaffidabile.
Qualcosa impedisce questo attacco? Oppure, questo attacco è tecnicamente fattibile? Se è fattibile, viola gli obiettivi di sicurezza o il modello di minaccia alla base di UEFI Secure Boot? (Più in generale, qualcuno ha una dichiarazione precisa degli obiettivi di sicurezza e del modello di minaccia alla base di UEFI Secure Boot, e esattamente cosa fa e non garantisce?)