Eseguo due sistemi operativi su due partizioni disco separate sulla stessa macchina fisica (un MacBook Pro moderno). Per isolarli gli uni dagli altri, ho seguito i seguenti passi:
-
Configurato / etc / fstab con ro, noauto (sola lettura, senza auto-mount)
-
Codifica completamente ogni partizione con una chiave di crittografia separata (impegnato nella memoria)
Supponiamo che un virus infetti la mia prima partizione all'insaputa di me. Esco dalla prima partizione (che crittografa il volume), quindi spengo la macchina per cancellare la RAM. Quindi disintegro e avvio nella seconda partizione. Posso essere ragionevolmente sicuro che il virus non ha / non può infettare entrambe le partizioni o sto giocando con il fuoco qui? Mi rendo conto che gli MBP non vengono forniti con un TPM, quindi l'infezione da boot loader che passa inosservata è ancora una possibilità teorica. Tuttavia, questo rischio sembra pari al rischio che l'hypervisor VMWare / VirtualBox venga sfruttato durante l'esecuzione di un sistema operativo guest, soprattutto perché la linea MBP utilizza UEFI anziché BIOS.
Questo porta alla mia domanda: l'approccio dual-partitioning delineato sopra più o meno sicuro rispetto all'utilizzo di una macchina virtuale per l'isolamento dei servizi? Questo cambierebbe se sul mio computer fosse installato un TPM?
Sfondo:
Nota che ovviamente sto prendendo tutte le solite precauzioni aggiuntive, come il controllo degli aggiornamenti del software del sistema ogni giorno, non l'accesso come utente amministratore a meno che non sia assolutamente necessario, eseguendo programmi antivirus in tempo reale su entrambe le partizioni, eseguendo un host- firewall basato, monitoraggio delle connessioni di rete in uscita, ecc. La mia domanda è in realtà un controllo pubblico per vedere se sto trascurando qualcosa qui e cercare di capire se il mio schema dual-boot è effettivamente più sicuro della rotta della Macchina Virtuale. Ancora più importante, sto solo cercando di saperne di più sui problemi di sicurezza.
EDIT # 1:
Come sottolineato nei commenti, lo scenario è un po 'paranoico per il mio caso particolare d'uso. Pensa alle persone che potrebbero trovarsi in contesti aziendali o governativi e stanno prendendo in considerazione l'idea di utilizzare una macchina virtuale per eseguire servizi o applicazioni considerati "ad alto rischio". Stanno meglio usando una VM o uno scenario dual-boot come ho delineato? Una risposta che pesa efficacemente tutti i pro / contro per quel trade-off è ciò che cerco davvero in una risposta a questo post.
EDIT # 2:
Questa domanda è stata parzialmente alimentata dal dibattito sul fatto che una macchina virtuale effettivamente protegga un sistema operativo host a tutti. Personalmente, penso di sì, ma considera questa citazione di Theo de Raadt sulla mailing list 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.
-http: //kerneltrap.org/OpenBSD/Virtualization_Security
Citando l'argomento di Theo, non lo approvo. Sto semplicemente sottolineando che ci sono molte prospettive qui, quindi sto cercando di saperne di più sul problema.