Un sacco di posti:
L'hardware moderno ha una vasta gamma di archivi di dati persistenti, solitamente usati per il firmware. È troppo costoso spedire un dispositivo complesso come una GPU o una scheda di rete e inserire il firmware in una maschera ROM dove può 'essere aggiornato, quindi avere un errore causa richiami di massa. In quanto tale, hai bisogno di due cose: una posizione scrivibile per quel firmware e un modo per mettere in atto il nuovo firmware. Ciò significa che il software del sistema operativo deve essere in grado di scrivere dove è memorizzato il firmware nell'hardware (in genere EEPROM).
Un buon esempio di questo è lo stato delle moderne utility di aggiornamento BIOS / UEFI. È possibile acquisire un'immagine UEFI e un eseguibile in esecuzione sul proprio sistema operativo (ad esempio Windows), fare clic su un pulsante e gli aggiornamenti UEFI. Semplice! Se si esegue il reverse engineer su come funzionano (cosa che ho fatto alcune volte) si tratta principalmente del caricamento di un driver in modalità kernel che preleva i dati della pagina dall'immagine UEFI e dialoga direttamente con il chip UEFI usando out
istruzioni, inviando i comandi corretti per sbloccare il flash e avviare il processo di aggiornamento.
Naturalmente ci sono alcune protezioni. La maggior parte delle immagini BIOS / UEFI non verrà caricata a meno che non siano firmate dal fornitore. Naturalmente, un attaccante abbastanza avanzato potrebbe semplicemente rubare la chiave di firma dal venditore, ma questo sta entrando nelle teorie cospirative e nei divini attori della minaccia, che non sono realistici da combattere in quasi nessuno scenario. I motori di gestione come IME sono pensati per avere certe protezioni che impediscono l'accesso alle sezioni di memoria anche da codice ring0, ma la ricerca ha dimostrato che ci sono molti errori là fuori e molte debolezze.
Quindi, tutto è fregato, giusto? Bene, sì e no. È possibile mettere rootkit nell'hardware, ma è anche incredibilmente difficile. Ogni singolo computer ha una tale variazione nelle versioni hardware e firmware che è impossibile creare un rootkit generico per la maggior parte delle cose. Non si può semplicemente ottenere un BIOS Asus generico e farlo lampeggiare su qualsiasi scheda; lo ucciderai. Dovresti creare un rootkit per ogni tipo di scheda separata, a volte fino all'intervallo di revisione corretto. È anche un'area di sicurezza che implica un'enorme quantità di conoscenza cross-domain, molto profonda per l'hardware e gli aspetti operativi a basso livello delle moderne piattaforme informatiche, oltre a una solida conoscenza di sicurezza e crittografia, quindi non sono in grado di farlo.
È probabile che tu venga preso di mira? No.
È probabile che ti infetti un rootkit BIOS / UEFI / SMM / GPU / NIC-residente? No.
Le complessità e le differenze coinvolte sono semplicemente troppo grandi perché l'utente medio possa mai realisticamente doversene preoccupare. Anche da un punto di vista economico, queste cose richiedono una quantità eccessiva di capacità, risorse e denaro per essere costruite, quindi bruciarle sul malware dei consumatori è un'idiota. Questi tipi di minacce sono così mirati che appartengono davvero solo al modello di minaccia dello stato nazionale.