Il BIOS / UEFI può cambiare il codice del SO?

1

So che il sistema operativo è il capo dei programmi (una volta caricato il sistema operativo). BIOS / UEFI è il capo di tutto prima che venga caricato il sistema operativo? Un sistema operativo può essere un'anatra seduta per qualsiasi malware relativo a BIOS / UEFI?

In altre parole, il BIOS / UEFI può cancellare o modificare il SO e altro codice?

    
posta humble_wolf 21.08.2018 - 12:47
fonte

3 risposte

3

Tecnicamente, sì.

La risposta, in termini semplici, è "sì" a tutte le tue domande.

Il firmware (BIOS o UEFI) viene caricato prima del sistema operativo. In genere, cerca un settore di avvio sui dispositivi di archiviazione (HD interni, CD / DVD, unità USB, ecc.). Quindi carica il bootloader specificato nel settore di avvio in memoria e passa il controllo a quel caricatore di avvio, che farà funzionare il resto del sistema operativo.

Se il firmware è infetto da codice dannoso, può leggere / scrivere ovunque. I permessi dei file sono implementati dal kernel del sistema operativo o dal driver del file system, quindi non sono affatto un problema in questa situazione. Ciò significa che sei libero di manomettere anche i file del sistema operativo.

Ma anche, no.

Nei sistemi moderni, tuttavia, è molto difficile da realizzare.

Il firmware controlla l'accesso alla EEPROM, che è il luogo in cui è memorizzato il suo codice. Le schede madri moderne in genere accettano solo aggiornamenti del firmware che sono stati firmati digitalmente dal produttore. Dovresti prima sconfiggere questo meccanismo se vuoi manomettere il BIOS / UEFI.

I nuovi sistemi operativi possono convalidare le firme digitali sui loro file. Se si manomettono i file, la firma digitale non sarà più valida. Ad esempio, se abiliti SecureBoot su Windows 10 e cambi qualcosa, si rifiuterà di avviarsi.

Ovviamente, puoi modificare il sistema operativo per rimuovere i controlli della firma digitale se controlli il firmware, ma è molto difficile infettare il firmware per diversi motivi.

Oltre alle protezioni integrate, il firmware sulla maggior parte delle schede madri è personalizzato per quel singolo modello o, al massimo, per quella particolare linea di prodotti. Scrivere un hack del firmware che si applica a una vasta gamma di schede madri è estremamente difficile - e potrebbe essere praticamente impossibile.

Tutto considerato ...

È teoricamente possibile manomettere un sistema in questo modo. Il potenziale di abuso è ben compreso, tuttavia, il pericolo è affrontato con misure tecniche ragionevoli.

Le persone con accesso fisico alle tue macchine potrebbero far lampeggiare i chip EEPROM contenenti il codice BIOS con malware programmato su misura. Ci vuole un sacco di risorse per orchestrare questo, quindi l'utente medio del computer non è a rischio.

Questo tipo di attacco è facilmente alla portata di governi e grandi organizzazioni criminali. I governi e le grandi aziende sono a rischio e generalmente acquistano da fornitori di fiducia o rivenditori certificati per ridurre il rischio di acquistare attrezzature compromesse.

    
risposta data 21.08.2018 - 23:18
fonte
1

La risposta qui è fondamentalmente "no", in genere non dovrebbe. Chiama semplicemente il bootloader o l'immagine UEFI.

Dico di solito nel senso di: a seconda del produttore e del dispositivo, può fare alcune funzioni di scrittura utilizzate dal BIOS, come scrivere informazioni su un dischetto o in memoria.

È teoricamente possibile che sia possibile scrivere un BIOS che modifica le impostazioni in specifiche posizioni di memoria che sono parti conosciute del "sistema operativo" per ragioni specifiche, anche se non è l'implementazione standard e non conosco alcun dispositivo che fallo nello standard tipo "PC BIOS" impostato (dove firmware e bios si sovrappongono nei dispositivi embedded diventa molto più complicato, per esempio).

La pagina wiki è veramente buona, per favore guardala. link

    
risposta data 21.08.2018 - 18:53
fonte
0

Once the OS is loaded, the BIOS/UEFI is the boss of the OS.

Non proprio. Quando il sistema operativo è attivo, ogni programma richiama funzioni dal sistema operativo e il sistema operativo è in realtà quello che esegue codice importante. Un programma non può eseguire nulla che il sistema operativo non gli abbia dato il permesso di eseguire.

BIOS / UEFI è più un caricatore. Legge i dati dal disco, carica i dati sulla memoria ed esegue il codice nel Master Boot Record. In questo momento, qualunque codice si trovi nel record di avvio prende il controllo. Il BIOS non ha più controllo.

Anche se UEFI / BIOS cambia qualsiasi indirizzo di memoria usato dal sistema operativo, verrà ripristinato quando il sistema operativo si inizializza e si carica da disco, poiché il BIOS non sarà più in esecuzione.

    
risposta data 21.08.2018 - 19:54
fonte

Leggi altre domande sui tag