Esiste un modo ragionevole per proteggere i dati sull'hardware virtuale? Ciò che intendo per "hardware virtuale" sono i vari sistemi ospitati che possono essere noleggiati da vari hoster online, che funzionano su XEN, KVM, VMWare ESXi e così via.
Con l'hardware dedicato reale si può in qualche modo presumere che il sistema stesso non sia stato compromesso se:
- il software può essere assunto come sicuro, cioè il software in esecuzione su quella macchina (ssh, webserver, ecc.) può essere considerato non essere stato sfruttato o forzato bruto
- l'hardware può essere assunto come non compromesso, ovvero la macchina non è andata offline in modo che un utente malintenzionato possa aver cambiato parti hardware essenziali come HDD / RAM / ecc con quelle compromesse. (Sì, so di hardware hot-swappable, ma supponiamo che lascerà tracce sufficienti, sia nei registri che nei malfunzionamenti del software, se non è fatto da un'autorità legittima.)
Ma con l'hardware virtuale l'ipotesi che l'hardware non sia stato compromesso non regge più, perché l'hoster può mettere in pausa, copiare e riavviare la macchina a proprio piacimento, senza che si riavvii o addirittura offline. Inoltre, l'hoster ha accesso diretto all'intera RAM e ai dischi di una macchina virtuale, mentre è ancora in esecuzione.
Con qualche sforzo l'hoster potrebbe persino essere in grado di cambiare il file authorized_keys o il file / etc / passwd sul sistema per ottenere l'accesso (root) ad esso e quindi possibilmente essere in grado di visualizzare il contenuto delle partizioni crittografate che sono attualmente montato.
Date queste vulnerabilità o possibili attacchi le mie domande ora sono:
-
Quanto sono realistiche queste vulnerabilità, sono una minaccia reale o solo una "fantascienza"? C'è qualcosa che li rende poco pratici nella realtà? I venditori di software VM (Citrix, VMWare, ecc.) Implementano meccanismi di sicurezza che rendono questi attacchi più difficili? (C'è ancora qualcosa che possono fare per rendere questo più difficile, oltre alla sicurezza per oscurità)? Oppure i venditori di macchine virtuali potrebbero persino fornire strumenti agli hosters (che in fin dei conti sono i loro clienti diretti) che rendono questi attacchi più facili?
-
Esiste un modo efficace in cui un sistema operativo guest può proteggere se stesso o i dati nella RAM e sui dischi da questo tipo di attacchi? Gli approcci informatici fidati (codice firmato, ecc.) Potrebbero essere di qualche aiuto? Conosco DEP e ASLR, ma ciò non impedirà all'host di leggere ancora ogni frammento di memoria disponibile. Suppongo anche che la crittografia RAM sia fuori questione con le convenzionali macchine hardware / VM x86, dal momento che non sarebbe più una memoria "ad accesso casuale".
-
Ci sono state ricerche su questo? Sono sorpreso di quanto poca discussione ci sia su questo argomento. È tutto così ovvio o irrisolvibile, o c'è ancora troppo poco interesse?