Elia Tufarolo

UEFI, aggirato l'Intel Boot Guard

Un'analisi della società Embedi getta ombre sulla sicurezza dell'implementazione di Boot Guard fornita da AMI, e da tutti i partner OEM che ne adottano il firmware nelle proprie schede madri

Roma - Il ricercatore russo Alexander Ermolov, dipendente della società di sicurezza Embedi, ha recentemente scoperto una vulnerabilità relativa all'implementazione dello standard Boot Guard di Intel, presente all'interno delle schede madri Gigabyte. Poiché il codice riguarda il BIOS prodotto da AMI (American Megatrends Inc.), è assai probabile che molti altri dispositivi, anche di altri produttori, soffrano dello stesso problema.

Boot Guard è un sistema che ha lo scopo di verificare che l'integrità del BIOS in esecuzione sulla macchina non sia stata compromessa; è stato rilasciato nel 2013 da Intel con l'uscita dell'architettura Haswell dei microprocessori. L'obiettivo sarebbe raggiunto attraverso una chain of trust creata tra componenti hardware e software: la CPU Intel carica, verifica ed esegue un modulo firmato, l'Authenticated Core Module (ACM), all'interno di una sua area di memoria protetta, l'Authenticated Core RAM (ACRAM). L'hash utilizzato per verificare l'autenticità dell'ACM si trova fuso direttamente all'interno del Platform Controller Hub (il chipset) della CPU.

catena di fiducia Boot Guard

L'ACM viene eseguito prima del BIOS, ed ha la finalità di verificare l'autenticità della sua parte iniziale, l'Initial Boot Block (IBB), il quale a sua volta autenticherà la parte residua del BIOS. Di solito, l'IBB comprende i volumi coincidenti con le fasi SEC (Security) e PEI (Pre-EFI Initialization) del BIOS, mentre la parte residua è la DXE (Driver eXecution Environment).
I problemi si presentano sulla scheda madre Gigabyte GA-H170-D3H e la versione F04 del suo firmware UEFI: essa, pur non avendo Boot Guard abilitato, possiede tutti i suoi componenti: il suo IBB, al termine della fase PEI, esegue la subroutine Start, la quale si occupa delle seguenti operazioni:

  • controlla la modalità di avvio del sistema, poiché il codice della componente DXE non viene mai verificato, nel caso in cui il computer riparta da una sospensione: questo avviene al fine di risparmiare tempo ed avere un guadagno prestazionale;

  • crea un Hand-Off Block (HOB) - una struttura di dati binaria - di un byte di grandezza, in cui scrivere il risultato di tutte le operazioni di autenticazione;

  • cerca all'interno dell'hash container gli indirizzi relativi ai primi due blocchi della componente DXE del BIOS e ne verifica l'autenticità.


Nel caso in cui i controlli di verifica falliscano, cioè la componente DXE del BIOS sia stata contraffatta, il valore 0 viene scritto all'interno dell'HOB, e viene avviata una procedura di spegnimento forzato del sistema, per mezzo del modulo BootGuardDXE. Tuttavia, a causa di un bug all'interno di questo modulo, nel caso in cui l'HOB non venga trovato, esso restituisce solo un errore, senza che il sistema venga spento, consentendo la successiva esecuzione della componente DXE contraffatta.

Inoltre, nel caso in cui un attaccante riuscisse ad eliminare completamente il modulo BootGuardDXE dalla componente DXE, il sistema non verrebbe spento nemmeno nel caso in cui a fallire sia uno dei controlli di autenticità precedenti, relativi alla fase PEI.

Stando a quanto dichiarato dal ricercatore, AMI è stata prontamente informata dell'esistenza della vulnerabilità, e avrebbe provveduto alla sua risoluzione e ad informare i propri clienti - gli OEM - affinché anche loro possano risolvere il problema. Tuttavia, analizzando una nuova versione del BIOS, si evince che, nel caso in cui il controllo di autenticità fallisca, viene scritto il valore 1 all'interno dell'HOB relativo ai controlli della fase PEI: in questo modo, Boot Guard viene bypassato ad un livello addirittura superiore, senza il bisogno di cancellare BootGuardDXE dalla componente DXE del BIOS.

non patch applicata da AMI

Elia Tufarolo

Fonte Immagini: 1, 2
Notizie collegate
15 Commenti alla Notizia UEFI, aggirato l'Intel Boot Guard
Ordina
  • parlar semplice no?
    non+autenticato
  • vieni sul nostro sito, noi non parliamo così complessi...
    non+autenticato
  • - Scritto da: PornHub
    > vieni sul nostro sito, noi non parliamo così
    > complessi...

    Vi abbiamo già mandati due dei 'nostri' campioni quali ... tre puntini(categoria pedo), e maxsix(categoria gay), e gli avete infettato le loro macchine, adesso e na disgrazia, come faranno per farsi le manine sui pornazzi?
    non+autenticato
  • - Scritto da: sono la morte
    > Vi abbiamo già mandati due dei 'nostri' campioni
    > quali ... tre puntini(categoria pedo), e
    > maxsix(categoria gay), e gli avete infettato le
    > loro macchine, adesso e na disgrazia, come
    > faranno per farsi le manine sui
    > pornazzi?

    Spiacenti, ma non abbiamo in elenco lo stupro dell'italiano, la tua categoria preferita.Triste
    Per le cagate a caso e l'ossessione tripuntinata, rivolgiti al tuo psichiatra: ti può aiutare.Sorride
    non+autenticato
  • < Field Programmable Fuses (FPFs) are the hardware one-time programmable non-volatile storage inside Intel ME so only it can program and read them (da Haswell in su) >

    quindi sulle board AMD cosa succede? c'e' un cugino di bootguard, o hanno lasciato in pace gli utenti?
    non+autenticato
  • - Scritto da: bubba
    > < Field Programmable Fuses (FPFs) are the
    > hardware one-time programmable non-volatile
    > storage inside Intel ME so only it can program
    > and read them (da Haswell in su)
    > >
    >
    > quindi sulle board AMD cosa succede? c'e' un
    > cugino di bootguard, o hanno lasciato in pace gli
    > utenti?

    E' la prima cosa che mi sono sempre chiesto, ma pare non sia dato saperlo.

    Ad ogni modo sono porcare che nascono dal'esimio consorzio Wintel.
    Da Intel sono sempre stato lontano (ed ho pure risparmiato), da Windows non potevo stare lontano ma mi sono sempre autoinstallato e addomensticato a dovere solo la parte necessaria per stare in piedi senza fronzoli e menate aintiutenza.
  • era sicuro mentre il uefi no, lo si sapeva già.
    non+autenticato
  • per esigenze particolari di sicurezza il bios lo potevi scrivere in eprom , anche se scritto in eeprom c'era il ponticello di protezione ;
    A cosa serva l'UEFI ( all'utente intendo ) se non a fare perdere tempo non l'ho ancora capito ( la mia piastra con UEFI ci mette 5 o 6 secondi prima del beep del segno di vita mentre il vecchio pc col bios ci metteva meno di 1 secondo )
    non+autenticato
  • - Scritto da: Lorenzo
    > per esigenze particolari di sicurezza il bios lo
    > potevi scrivere in eprom , anche se scritto in
    > eeprom c'era il ponticello di protezione ;
    >
    > A cosa serva l'UEFI ( all'utente intendo ) se
    > non a fare perdere tempo non l'ho ancora capito (
    > la mia piastra con UEFI ci mette 5 o 6 secondi
    > prima del beep del segno di vita mentre il
    > vecchio pc col bios ci metteva meno di 1 secondo
    > )

    L'uefi non e stato introdotto per 'dare' migliorie all'utente, ma e stato messo in commercio con il solo intento di avere un portone aperto perennemente da dove spingere una spingarda su per il culo degli utenti attraverso il pc. Triste

    E pace ai suonatori, ehm... pace hai suonatori. Rotola dal ridere
    non+autenticato
  • - Scritto da: sono la morte
    > - Scritto da: Lorenzo
    > > per esigenze particolari di sicurezza il bios lo
    > > potevi scrivere in eprom , anche se scritto in
    > > eeprom c'era il ponticello di protezione ;
    > >
    > > A cosa serva l'UEFI ( all'utente intendo ) se
    > > non a fare perdere tempo non l'ho ancora capito
    > (
    > > la mia piastra con UEFI ci mette 5 o 6 secondi
    > > prima del beep del segno di vita mentre il
    > > vecchio pc col bios ci metteva meno di 1 secondo
    > > )
    >
    > L'uefi non e stato introdotto per 'dare'
    > migliorie all'utente, ma e stato messo in
    > commercio con il solo intento di avere un portone
    > aperto perennemente da dove spingere una
    > spingarda su per il culo degli utenti attraverso
    > il pc.
    >Triste
    in realta' 2 spingarde.
    una e' quella di avere un "pre-OS" praticamente (uefi appunto)
    e l'altra e' favorire smaccatamente pacc8 e win10 e rompere le palle a tutti gli altri (ricordi i casini secureboot-like per tutti gli altri OS, no?)
    non+autenticato
  • > in realta' 2 spingarde.
    > una e' quella di avere un "pre-OS" praticamente
    > (uefi appunto)
    > e l'altra e' favorire smaccatamente pacc8 e win10
    > e rompere le palle a tutti gli altri (ricordi i
    > casini secureboot-like per tutti gli altri OS,
    > no?)

    Più che favorire Windows di per se è nato per favorire il bloatware preinstallato. Contemporaneamente all'introduzione di UEFI tutti i produttori hanno cambiato la sequenza di tasti di accesso al BIOS in sequenze esotiche e misteriose rendendo molto più difficile aggiungere sistemi in dual boot. In più apparecchi tipo Chromebook e qelli con le derivazioni mobili di Windows hanno iniziato ad usae UEFI per bloccare esplicitamente sistemi operativi alternativi.

    In questo caso Microsoft ha avuto il ruolo del fantoccio che attira l'attenzione prendendosi tutte la colpe per l'introduzione di UEFI, ma in realtà anche tutti gli altri produttori gradivano la porcata.
    non+autenticato
  • - Scritto da: 1e96f10b532
    > > in realta' 2 spingarde.
    > > una e' quella di avere un "pre-OS" praticamente
    > > (uefi appunto)
    > > e l'altra e' favorire smaccatamente pacc8 e
    > win10
    > > e rompere le palle a tutti gli altri (ricordi i
    > > casini secureboot-like per tutti gli altri OS,
    > > no?)
    >
    > Più che favorire Windows di per se è nato per
    > favorire il bloatware preinstallato.
    nono e' proprio per favorire windoze. si e' vero, esiste anche il chromebook, ma e' incidentale, banalmente perche' quella e' una macchina venduta "as-is" (anche se poi e' un x86)... mentre i bravi vendor piazzano il crapware su TUTTI i computer general-purpose (che teoricamente non nascerebbero per installare la robazza di Redmond).
    Per mantenere una chain-of-trust, ci vuole qualcosa di trusted all'inizio.. e "incidentalmente" erano le key di Winzoz. Ovviamente un bootloader compilato a casa non lo puoi signare "in prevendita" quindi e' untrusted e non parte una sega. Per far si che il gioco potesse funzionare lo stesso, si sono spesi indefessamente delle simpatiche iene come Garret (ex?-redhat e co) con tutto quel popo' di casino di skim, firma e distro cucinate apposta, inserimento di key ecc.

    il crapware della cha
    > Contemporaneamente all'introduzione di UEFI tutti
    > i produttori hanno cambiato la sequenza di tasti
    > di accesso al BIOS in sequenze esotiche e
    > misteriose rendendo molto più difficile
    > aggiungere sistemi in dual boot. In più
    > apparecchi tipo Chromebook e qelli con le
    > derivazioni mobili di Windows hanno iniziato ad
    > usae UEFI per bloccare esplicitamente sistemi
    > operativi
    > alternativi.
    beh non e' propriamente uefi che blocca.. e' secureboot (anche sui chromebook lo puoi cavare, pero' -per quel che ne so- non puoi inserire nuove key)

    >
    > In questo caso Microsoft ha avuto il ruolo del
    > fantoccio che attira l'attenzione prendendosi
    > tutte la colpe per l'introduzione di UEFI, ma in
    > realtà anche tutti gli altri produttori gradivano
    > la
    > porcata.
    si che google gradisse puo' essere... ma e' come lamentarsi della chain-of-trust dell'iPhone..
    non+autenticato
  • Stai negando l'evidenza. Nei fatti molti utenti hanno dovuto rinunciare al dual boot e in questa situazione non solo finiscono per tenersi il sistema operativo preinstallato, ma si tengono anche tutto il bloatware e lo spyware che viene preinstallato. Solo un caso? E la famosa domanda cui prodest?

    UEFI è uscito non solo per volontà di Microsoft, ma anche grazie al supporto di tutti gli altri, alla fine è proprio Google quella che ci guadagna di più.
    non+autenticato
  • - Scritto da: prova123
    > era sicuro mentre il uefi no, lo si sapeva già.

    Sono daccordo, ma vallo a spiegare ai sapienti difensori d'ufficio della combutta Wintel.