Quali sono i percorsi di escalation da una VM all'host?

4

Se voglio dare un'occhiata a un link non sicuro di un amico, ho iniziato ad aprirlo in una macchina virtuale. Suppongo che se la VM viene hackerata, l'host su cui faccio internet banking ecc starà comunque bene. In quali circostanze questa affermazione è valida?

es. Posso immaginare cartelle condivise e un appunto condiviso potrebbe potenzialmente essere utilizzato per attaccare un host una volta che un utente malintenzionato ha il controllo di una VM. Un possibile accesso condiviso alle porte USB potrebbe essere un'altra vulnerabilità. È realistico e ci sono altre cose di cui essere consapevole? Quanto dovrei essere paranoico prima di preoccuparmi di questo tipo di modello di minaccia?

La mia domanda riguarda principalmente le VM installate sugli host desktop, ma anche le informazioni sulle potenziali minacce ai servizi di hosting cloud sarebbero interessanti.

    
posta craq 09.09.2017 - 11:32
fonte

1 risposta

3

Un utente malintenzionato avanzato potrebbe compromettere un hypervisor tramite i driver di dispositivo emulati più facilmente che tramite la gestione degli appunti. Il modo in cui funziona un hypervisor consiste nel fornire un nuovo ambiente di esecuzione per un guest e nell'esporre l'hardware emulato. Quando un driver nel guest tenta di accedere all'hardware virtuale, ad esempio leggendo e scrivendo su PCI per interagire con dispositivi PCI, il software del dispositivo emulato dell'hypervisor sentirà la richiesta, interromperà temporaneamente il guest in esecuzione ed emulerà nel software cosa l'hardware effettivo avrebbe fatto prima di smettere di fumare l'ospite e permettergli di vedere i risultati. Ciò consente all'ospite di essere effettivamente inconsapevole del suo ambiente virtuale sottostante. Quando si pensa che i dispositivi emulati agiscano semplicemente come proxy, implementando un protocollo complesso e spesso scarsamente documentato tra il software guest (progettato per comunicare con l'hardware reale) e l'hardware host (che è in grado di ascoltare il software), è più facile vedere come un bug nell'analisi di strutture di dati così complesse potrebbe causare una violazione della sicurezza.

Questo è uno sguardo ad alcuni dei problemi di sicurezza di un hypervisor, in particolare QEMU con KVM, anche se i concetti generali dovrebbero applicarsi a quasi tutti i software hypervisor.

Nota che la maggior parte delle volte, sfruttando un bug nei dispositivi emulati, l'utente malintenzionato deve avere un accesso privilegiato al guest. Devono compromettere completamente l'ospite prima che sia loro permesso di interagire con l'hardware emulato. Se l'ospite stesso è sufficientemente sicuro, probabilmente lo sarà anche l'hypervisor.

La versione completa della famosa citazione di Theo de Raadt, fondatore di OpenBSD:

x86 virtualization is about basically placing another nearly full kernel, full of new bugs, on top of a nasty x86 architecture which barely has correct page protection. Then running your operating system on the other side of this brand new pile of shit.

You are absolutely deluded, if not stupid, if you think that a worldwide collection of software engineers who can't write operating systems or applications without security holes, can then turn around and suddenly write virtualization layers without security holes.

You've seen something on the shelf, and it has all sorts of pretty colours, and you've bought it.

That's all x86 virtualization is.

Alla fine, tuttavia, le probabilità che un "dodgy link" contenga uno 0day di rottura dell'hypervisor sono piuttosto remote. Se mai, avrà un exploit per una vecchia versione di Flash, utilizzata per scaricare software botnet.

    
risposta data 10.09.2017 - 10:24
fonte

Leggi altre domande sui tag