Quanto è sicuro il sistema operativo host dal sistema operativo della macchina virtuale guest quando si utilizza passthrough GPU (utilizzando i metodi descritti qui )?
Se il guest è compromesso, può infettare permanentemente la GPU e il suo firmware? Se possibile, cosa potrebbe fare questa GPU compromessa?
- Anche se VT-d / IOMMU è progettato per contenere in modo sicuro i dispositivi nella macchina virtuale, il guest potrebbe utilizzare la GPU per compromettere lhost (sistema operativo o altri dispositivi)?
-
Se si sospetta che la GPU sia compromessa, quale dovrebbe essere la linea dazione ideale? Se il sistema operativo host del computer viene reinstallato, la GPU sarà in grado di attaccarlo e infettarlo?
(spostato in domanda separata )
Sto cercando una risposta generale, ma se pertinente, presumo che un host Linux con KVM e un guest Windows.
Commenti
- Esiste una medusa rootkit GPU su GitHub. Sopravvive al riavvio, ma non allo spegnimento.
Rispondi
-
Se lospite è compromesso, può infettare permanentemente la GPU e il relativo firmware?
Secondo OpenStack documentazione , sì .
Molti hypervisor offrono una funzionalità nota come passthrough PCI. Ciò consente a unistanza di avere accesso diretto a un componente hardware sul nodo. Ad esempio, th is potrebbe essere utilizzato per consentire alle istanze di accedere a schede video o GPU che offrono larchitettura CUDA (Unified Device Architecture) di elaborazione per calcoli ad alte prestazioni.
Questa funzione comporta due tipi di rischi per la sicurezza: accesso diretto alla memoria e infezione hardware .
Laccesso diretto alla memoria è rilevante solo per il passthrough del dispositivo che non utilizza IOMMU.
-
Anche se VT-d / IOMMU è progettato per contenere in modo sicuro i dispositivi nella macchina virtuale, il guest potrebbe utilizzare la GPU per compromettere lhost (sistema operativo o altri dispositivi)?
Possibilmente, se il dispositivo è utilizzato dallhost.
Uninfezione hardware si verifica quando unistanza apporta una modifica dannosa al firmware o a qualche altra parte di un dispositivo. Poiché questo dispositivo è utilizzato da altre istanze o dal sistema operativo host, il codice dannoso può diffondersi in tali sistemi. Il risultato finale è che unistanza può eseguire codice al di fuori del proprio dominio di sicurezza. Si tratta di una violazione significativa in quanto è più difficile ripristinare lo stato dellhardware fisico rispetto allhardware virtuale e può comportare unesposizione aggiuntiva, come laccesso alla rete di gestione.
Commenti
- Il dispositivo " utilizzato " dallhost dopo larresto della VM? O in qualsiasi altro momento?
- Per lo meno il dispositivo è " utilizzato " dal BIOS quando il la macchina host viene quindi riavviata e cerca di capire quali dispositivi ci sono nel sistema.
- Penso che linfezione hardware richieda laccesso allo spazio di configurazione PCI (per scrivere ROM opzionali). Non ' penso che CUDA sia sufficiente per " infettare " una GPU con persistente codice.