Roma – L’ecosistema a supporto del protocollo Secure Boot integrato nei firmware UEFI di milioni di dispositivi potrebbe aver sofferto un corpo letale proprio ad opera del suo sponsor principale. Due hacker, nickname my123 e slipstream, hanno pubblicato in un formato non esattamente austero una scoperta dalle implicazioni invece molto serie. Microsoft ha accidentalmente inserito in alcuni dispositivi arrivati sul mercato un file passepartout che è stato identificato ed estratto dai due hacker e reso installabile su qualsiasi dispositivo, bypassandone la protezione Secure Boot. Microsoft sta cercando di metterci una pezza , ma una soluzione definitiva potrebbe essere impossibile .
I still believe Secure Boot is dead. Herès why. https://t.co/kIjPvY1IGo
– slipstream/RoL (@TheWack0lian) 9 agosto 2016
Secure Boot è una funzionalità obbligatoria dal 2012 per i produttori che vogliono da Microsoft una certificazione per il loro hardware. Consiste in una serie di chiavi crittografiche pre-installate nel firmware UEFI delle schede madri che vengono poi utilizzate per verificare l’autenticità del bootloader , del kernel, e potenzialmente di ogni binario caricato durante il processo di boot. Ogni sistema Windows include almeno la chiave di Microsoft, e sulle piattaforme PC Secure Boot può essere disabilitato dall’utente, oppure personalizzato rimuovendo o installando le proprie chiavi crittografiche. Su altre piattaforme invece, come il defunto ma ancora diffuso Surface RT, Secure Boot non è disattivabile ed è pertanto impossibile installare altri sistemi operativi.
Il problema identificato dai ricercatori non concerne però le chiavi Secure Boot ma le cosiddette policy , dei file binari che contengono regole ed eccezioni che integrano le impostazioni del Secure Boot. Durante lo sviluppo di Windows 10 Microsoft ha sviluppato una policy a scopo di test e debug che annulla i controlli Secure Boot anche quando è abilitato, per consentire ai propri programmatori di avviare rapidamente compilazioni aggiornate di Windows senza dover procedere alla firma digitale. Il problema per Microsoft è che questa policy è stata erroneamente lasciata su alcuni dispositivi finiti sul mercato, installata anche se non attiva. Gli hacker l’hanno scoperta e sono riusciti ad estrarla e reutilizzarla con successo (la policy è infatti originale e firmata da Microsoft) per annullare i controlli Secure Boot di un Surface RT. A peggiorare la situazione per Microsoft c’è il fatto che la policy su cui i ricercatori hanno messo la mani è universale , non linkata ad una specifica architettura.
Microsoft ha ignorato il problema per circa tre mesi dopo la segnalazione da parte dei due hacker, avvenuta a Marzo, ritornando poi sui suoi passi e pagando un bug bounty per la loro scoperta. A Luglio è arrivata la prima patch , sotto forma di una lista di chiavi revocate e installate da installare nel firmware della scheda madre. Un tentativo maldestro , poiché questa lista viene comunque consultata solo dopo che la policy incriminata è ormai caricata. In ogni caso i due hacker hanno ora aggiornato il loro script di installazione , adesso in grado di dotare qualsiasi sistema di questa backdoor, anche quelli con la patch di Luglio.
@never_released @TheWack0lian #rtchurch pic.twitter.com/qltdM2XKBm
– Neo Anderson (@neobiscuit) 11 agosto 2016
I ricercatori sono convinti che per Microsoft sarà impossibile rimediare al problema senza andare incontro ad un harakiri . “Gli attaccanti possono semplicemente effettuare il downgrade del boot manager a versioni che non effettuano il controllo della lista di revoca. Microsoft non può revocare questi bootloader precedenti, se lo facesse renderebbe inservibili milioni di CD d’installazione, partizioni di ripristino, backup di Windows, e altro ancora”, scrivono nel loro advisory. Gli utenti che volevano sbloccare il bootloader del proprio Surface RT hanno accolto questa novità con entusiasmo, così come gli utenti Windows Phone alla prospettiva di poter applicare questo bypass anche sui loro smartphone. Si tratta invece di una brutta notizia per chi faceva affidamento su Secure Boot per consentire l’avvio solo di un sistema digitalmente firmato in proprio. Matthew Garrett, il principale sviluppatore Linux del codice UEFI/Secure Boot, suggerisce di disinstallare le chiavi Microsoft se il proprio sistema deve avviare solo Linux.
Più di tutto, gli scopritori della vulnerabilità ci tengono a fare di questa un esempio eclatante di cosa accadrebbe se l’FBI ottenesse le backdoor per legge per le quali spinge da tempo : “questo è un perfetto esempio, da mondo reale, del perchè la vostra idea di una chiave passepartout tenuta al sicuro sia pessima! Persone più intelligenti di me ve lo ripetono da tempo, ancora non capite? Microsoft ha implementato esattamente questa chiave universale, ed è caduta in mani altrui per la stupidità di Microsoft stessa! Ora, cosa pensate che succederà se tutti dovranno produrre una chiave del genere?”
Stefano De Carlo