2014-08-20 9 views
11

La virtualizzazione assistita da hardware offre un ottimo percorso per eseguire in modo efficiente e sicuro i sistemi operativi guest su un hypervisor.I set di istruzioni di virtualizzazione x86 (VT-x, AMD-V) hanno usi alternativi?

Questi set di istruzioni (come Intel VT-x, AMD-AMD di AMD e l'estensione Tabelle estese) forniscono valore per gli scenari altro rispetto all'esecuzione di un SO guest all'ingrosso? Ad esempio, potrebbero essere utilizzati per i processi sandbox o impedire che parti del codice in modalità kernel eseguano cose che non dovrebbero fare?

risposta

8

Passando attraverso la pagina stessa della Intel su "Hardware assisted virtualization", accennano un paio di interessanti applicazioni:

1. Sistemi industriali: La virtualizzazione consente ai sistemi di eseguire simultaneamente sistemi operativi general purpose in tempo reale e , ciascuno su core di processore dedicati di un processore multi-core Intel®.

Questo è diverso dall'esecuzione di un sistema operativo guest. Qui le funzionalità VT-x possono essere utilizzate per eseguire due diversi sistemi operativi in ​​parallelo, in modo da poter combinare il meglio di entrambi per raggiungere i nostri obiettivi. Ad esempio, uno scenario in cui era necessario un monitoraggio dei dati in tempo reale ad altissima precisione, e elaborazione ad altissima velocità: in questo caso, l'acquisizione dei dati poteva essere interamente delegata a un RTOS in esecuzione su uno dei core, mentre l'altro funzionava un GPOS per elaborare i dati.

2. Dispositivi medici: applicazioni in sicurezza e dati del paziente sono essenziale per apparecchiature di diagnostica medicale. Le applicazioni che richiedono un livello maggiore di sicurezza possono essere isolate utilizzando Intel VT, che protegge lo spazio di memoria nell'hardware e aiuta a prevenire gli attacchi dal software dannoso . Pertanto, il software in esecuzione in una partizione protetta ha accesso solo al proprio codice e alle aree dati, impossibilitato a pagina al di fuori del limite di memoria perché l'hardware preclude l'accesso non autorizzato a .

Come menzionano, la protezione dello spazio di memoria implementata in VT consente al software di eseguire solo il proprio codice e accedere solo ai propri spazi di memoria. Questo ha un grande potenziale nell'e-security.

+0

Queste applicazioni sono casi particolari di esecuzione di più SO sullo stesso processore. – Gilles

+0

No, questi sono esempi di applicazioni in esecuzione su core differenti sullo stesso processore ... Soprattutto nel primo scenario. – Stark07

+0

Sì, sono casi particolari di esecuzione di più SO sullo stesso processore (un RTOS e un GPOS nell'esempio 1, un SO per applicazioni ad alta sicurezza e un SO per applicazioni a bassa sicurezza nell'esempio 2). Naturalmente, ogni sistema operativo esegue le proprie applicazioni. – Gilles

5

Questi set di istruzioni (come Intel VT-x, AMD-AMD di AMD e l'estensione Extended Page Tables) forniscono valore per scenari diversi dall'esecuzione di un SO guest all'ingrosso?

Un caso uso aggiuntivo per estensioni di virtualizzazione è quello di eseguire una bare metal hypervisor (chiamato anche hypervisor di tipo 1). Oltre ad essere in grado di eseguire più SO, è anche possibile eseguire applicazioni bare metal direttamente sopra l'hypervisor (non all'interno di un'istanza del SO guest) insieme a sistemi operativi virtuali virtualizzati. L'hypervisor può garantire la sicurezza in modo che queste applicazioni possano eseguire sistemi critici come le apparecchiature mediche. Se un sistema operativo ospite si arresta in modo anomalo, l'hypervisor garantisce che le applicazioni bare metal non siano interessate.

Ad esempio, potrebbero essere utilizzati per i processi sandbox?

Possono essere utilizzati per i processi sandbox, ma è quello che fanno anche i normali sistemi operativi.

o impedire che parti del codice in modalità kernel eseguano cose che non dovrebbero fare?

Questo è in realtà ciò che sta accadendo quando i sistemi operativi guest virtualizzati stanno cercando di eseguire sensitive instructions, che sono istruzioni che possono alterare l'esecuzione della macchina che può essere eseguito in modalità non privilegiato dell'architettura.

Problemi correlati