Rischio bootkit anche per UEFI e Windows 8

Rischio bootkit anche per UEFI e Windows 8

ITSEC ha realizzato un bootkit - proof-of-concept - in grado di funzionare anche con sistemi che utilizzano UEFI e sistema operativo Windows 8.

di Fabio Boneschi pubblicata il 20 Settembre 2012, alle 14:18 nel canale Sicurezza
 

Da alcuni decenni i PC utilizzano per lo start-up una soluzione basata su BIOS e MBR: il BIOS effettua e gestisce la procedura di boot dell'hardware e al termine delle operazioni cede il controllo del processo al Master Boot Record, che attiverà il loader per il sistema operativo. A partire da Windows Vista SP1 e Windows Server 2008 Microsoft ha aggiunto la possibilità di utilizzare il nuovo Unified Extensible Firmware Interface (UEFI), soluzione che dovrebbe garantire maggior sicurezza e flessibilità. In Windows 8 UEFI è presente e proprio alla coppia di elementi UEFI+Windows 8 dedichiamo ora la nostra attenzione.

Andrea Allievi - ricercatore di ITSEC - studiando le caratteristiche di UEFI e le varie modalità di interazione del processo nella fase di start-up sono arrivati a creare un bootkit, quindi del codice capace di aggirare le tecnologie di sicurezza e, potenzialmente, avviare azioni dannose per la sicurezza del sistema e dei dati. Si tratta di fatto di riportare anche in una soluzione basata su UEFI uno schema di attacco in tipico stile rootkit. Ricordiamo che la pericolosità di questi attacchi sta nel fatto che il malware viene attivato prima che il sistema operativo attivi le proprie soluzioni di sicurezza (antivirus, antimalware o simili software).

Andiamo per gradi e addentriamoci maggiormente nella questione sollevatra da ITSEC. I ricercatori hanno per ora realizzato un codice proof-of-concept in grado di intercettare la routine I/O di accesso al disco modificando così il caricamento del kernel di Windows 8. ITSEC afferma di aver poi disattivato attraverso il bootkit il controllo relativo alla certificazione dei driver caricati dal sistema operativo.

Al momento si tratta di un proof-of-concept ma la questione rimane rilevante, infatti uno degli aspetti che avrebbero dovuto spingere l'industria verso l'adozione di UEFI era proprio la sicurezza del nuovo processo e la difficoltà di realizzare in un sistema simile un attacco basato su rootkit. Marco Giuliani - direttore di ITSEC - riporta l'attenzione anche su un altro aspetto: mentre per la creazione di un rootkit nel precedente ecosistema basato su BIOS e MBR era necessario utilizzare codice assembly ora con UEFI si ha a propria disposizione un vero e proprio framework in linguaggio C.

Per ITSEC l'adozione di UEFI non deve essere vista come la risposta a ogni problema di sicurezza, e anche su soluzioni che utilizzano per il boot tale interfaccia è possibile prevedere attacchi malware attraverso bootkit. Con l'opzione Secure Boot che prevede certificazioni per l'hardware e per i sistemi operativi installabili sul sistema le cose potrebbero cambiare parecchio, ma come ben noto queste tecnologie tendono a limitare le opportunità a disposizione dell'utente lasciando agli OEM ampie possibilità di restrizione e controllo.

22 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Unrealizer20 Settembre 2012, 14:43 #1
Niente di strano, prima esistevano i virus che si installavano nell'MBR, ora fanno lo stesso tramite UEFI.

Secure Boot è nato per questo.
Mookas20 Settembre 2012, 14:47 #2
Microsoft si trova ad essere sempre più simile ad Apple per colpa della sicurezza, bloccando a destra e manca, non ci si può fare nulla finchè al mondo esistono i disonesti, solo con le chiavi si tengono fuori di casa (e a volte non bastano).
pabloski20 Settembre 2012, 14:49 #3
Originariamente inviato da: Unrealizer
Niente di strano, prima esistevano i virus che si installavano nell'MBR, ora fanno lo stesso tramite UEFI.

Secure Boot è nato per questo.


Il problema è che UEFI rende il tutto molto più semplice. Ad esempio non c'è più il limite dei 512 bytes imposto da MBR, c'è un bel framework a disposizione per scrivere malware pure complesso che gira senza os.

Insomma, un bel vantaggio per i cattivi.

Riguardo il secure boot, nemmeno lo considero, visto che rubare 2 chiavi private è ormai cosa semplicissima per la criminalità organizzata.
Thehacker6620 Settembre 2012, 15:15 #4
Se il fine ultimo è quello di avere accesso ai dati, basta usare BitLocker e si può stare tranquilli. Zero impatto sulle prestazioni durante l'uso quotidiano (di qualsiasi tipo) e massima sicurezza. Anche con i mezzi della criminalità mi faccio quattro risate a pensare quanto ci metterebbero a decriptare la chiave a 128 bit AES.
pabloski20 Settembre 2012, 15:19 #5
Originariamente inviato da: Thehacker66
Se il fine ultimo è quello di avere accesso ai dati, basta usare BitLocker e si può stare tranquilli. Zero impatto sulle prestazioni durante l'uso quotidiano (di qualsiasi tipo) e massima sicurezza. Anche con i mezzi della criminalità mi faccio quattro risate a pensare quanto ci metterebbero a decriptare la chiave a 128 bit AES.


Bitlocker non ti può proteggere da un malware che parte prima del sistema operativo, poi carica il sistema operativo con tanto di richiesta d'inserimento della chiave d'accesso.

Qui non si parla di un programma che analizza offline il disco, ma di un programma che fa parte della sequenza di bootstrap.
DooM120 Settembre 2012, 15:54 #6
Secondo me certe cose base, come BIOS, MBR, ecc., devono rimanere più semplici possibile.
Più sono complesse e facilitate, e più sono "bucabili".
Altrimenti ci vuole qualcosa tipo una soluzione hardware per poter lockare e unlockare quella parte del disco, in modo che ci si possa scrivere solo quando lo dico io, per il resto del tempo, la maggior parte, quando non devo installare nessun sistema operativo, rimane a sola lettura.
Thehacker6620 Settembre 2012, 16:03 #7
Originariamente inviato da: pabloski
Bitlocker non ti può proteggere da un malware che parte prima del sistema operativo, poi carica il sistema operativo con tanto di richiesta d'inserimento della chiave d'accesso.

Qui non si parla di un programma che analizza offline il disco, ma di un programma che fa parte della sequenza di bootstrap.


Non cambia nulla per me che uso una chiavetta usb per sbloccare BitLocker ancora prima che parta il sistema operativo. Quindi anche se dopo questo passaggio mi intercettassero la password di windows, mi farei lo stesso quelle quattro risate di prima.
AlexSwitch20 Settembre 2012, 16:22 #8
Invece cambia perché i sistemi EFI/UEFI sono molto diversi dal BIOS....
Come ha scritto pabloski, UEFI è un microOS, con tanto di framework, che si occupa dell'inizializzazione dell'hardware e del boot dell'OS. Inserire un malware all'interno del codice UEFI anticiperebbe le protezioni di BitLocker visto che potrebbe accedere alla chiave indipendentemente dal supporto ove questa risieda, dalle modalità con cui viene usata ed in maniera diretta ( soprattutto se l'hardware è fornito di chip TPM che dovrebbe essere riconosciuto ed inizializzato da UEFI ).
pabloski20 Settembre 2012, 16:50 #9
Originariamente inviato da: Thehacker66
Non cambia nulla per me che uso una chiavetta usb per sbloccare BitLocker ancora prima che parta il sistema operativo. Quindi anche se dopo questo passaggio mi intercettassero la password di windows, mi farei lo stesso quelle quattro risate di prima.


La chiavetta usb fornisce solo il keyfile al sistema operativo, ma è sempre quest'ultimo ad occuparsi di tutto lo sblocco del filesystem.

Un rootkit EFI ti patcha il sistema operativo al volo, durante il bootstrap e in questo modo può leggere pure la chiave memorizzata nella chiavetta usb.

Il punto è che il malware sta lì, in ram, e puoi spiare tutto quello che succede. Quindi o tu semplicemente non accedi ai volumi criptati oppure sei fregato in ogni caso.

I volumi criptati hanno valore solo quando l'attaccante ne analizza il contenuto offline ( ad esempio sfilando l'hard disk dal computer e cercando di leggerlo ).
Spectrum7glr20 Settembre 2012, 17:54 #10
a parte il proof of concept come si potrebbe iniettare il codice malevolo dall'esterno? un conto è aveer il pc in mano, un altro è cercare di farlo dall'esterno...

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.