vt-d Tecnologia di virtualizzazione e Trusted Execution

7

Essere da molto tempo VirtualBox utente e aver recentemente acquistato un nuovo laptop dotato di un intel i7 720QM Ho scoperto che supportava VT-d .

Nel frattempo ho scoperto che vt-d viene fornito con TXT che è un tipo di aggiunta di sicurezza hardware all'architettura i386. Ho due domande:

  • Perché vt-d è accoppiato con TXT?
  • In che modo TXT migliora la sicurezza?
posta Alain Pannetier 02.05.2011 - 16:12
fonte

3 risposte

9

La tecnologia Trusted Execution è abbinata a una serie di funzionalità di sicurezza disponibili sul moderno chipset Intel. Anche il Trusted Platform Module (TPM) e altre funzionalità simili a DRM sono inclusi in questo pacchetto. Il ragionamento alla base di questo è dovuto all'astrazione, che è più comunemente attribuita a un'architettura software. La comunanza dietro a tutte queste funzionalità sta limitando l'accesso che un software ha e là perché condividono la complessità e quindi diventano accoppiati.

Questo porta alla prossima domanda How does TXT enhance security? Una caratteristica molto importante di TXT è quella di isolare la memoria usata dai guest vm. Cosa accadrebbe se un vm ospite avesse un kernel malevolo che tentasse di accedere alla memoria di proprietà di un host o di un altro ospite? TXT è un metodo molto efficace per evitare che ciò accada. Anche le VM puramente software hanno questa importante caratteristica, ma c'è ancora un sovraccarico. TXT entra in gioco anche per controllare chi ha accesso alle periferiche hardware come mouse / tastiera e dispositivi di archiviazione di massa.

    
risposta data 02.05.2011 - 20:31
fonte
6

Da blog di Joanna Rutkowska : (e ammetto Sto pattinando ai margini della mia comprensione qui ...)

When you load a hypervisor using TXT, the SENTER instruction would first apply the VT-d protections around the hypervsior image, then do the measurements, and only then load it, with VT-d protections still in-place.

E la sua spiegazione più completa:

... let's make the following assumptions:
1) The OS/VMM properly uses IOMMU to isolate the network card(s)
2) Once the attacker got control over the NIC firmware, the attacker can also modify the persistent storage (EEPROM) where this firmware is kept. This has been confirmed by Loic in a private email exchange.
3) The system implements trusted boot via SRTM, i.e. using just BIOS and TPM, without Intel TXT.

Now, the attacker can modify the firmware in the EEPROM and this will allow the attacker to survive the platform reboot. The card's firmware will start executing early in the boot process, definitely before the OS/VMM gets loaded. Now, the compromised NIC, because it is capable of doing DMA to the host memory, can compromise the image of the VMM in a short time window between the time it got measured and loaded by the (trusted) OS loader, e.g. Trusted GRUB, but still before the time VMM had a chance to setup proper IOMMU/VT-d protections for itself.

    
risposta data 03.05.2011 - 12:26
fonte
6

Perché ha bisogno dell'isolamento per assicurarsi che le misure non possano essere manipolate ( TOCTOU stile di attacchi) di nulla (es. DMA abilitato).

Se vuoi, puoi vedere questo come un firewall per I / O e interrupt - ovviamente, non lo è, ma ottieni l'immagine. VT-d è semplicemente il termine di Intel per descrivere i loro IOMMU . AMD chiamalo AMD-Vi. Il ruolo di questa unità è controllare l'accesso alla memoria del dispositivo ( DMA ) e interrompere la rimappatura.

Il modo migliore per descriverlo è utilizzare un esempio di passthrough PCI. Ecco la mia spiegazione -semplice:

Se si dedica un dispositivo abilitato per DMA a una particolare macchina virtuale, diciamo la scheda di rete, quindi senza una protezione VT-d corretta, questa VM avrebbe accesso alla memoria host completa. La VM sarebbe in grado di uscire dal contenitore della VM attraverso la vista della scheda di rete DMA . Ricordiamo che DMA fornisce un accesso alla memoria diretto e completo (include la memoria host / vmm). Se VT-d è implementato correttamente, la scheda di rete avrà accesso solo alla memoria della macchina virtuale a cui è assegnata, nient'altro. Sì, una sorta di firewall I / O se questo aiuta.

TXT utilizzerà VT-d solo per costruire l'isolamento attorno a ciò che deve valutare: misurare il codice, inviare tali misure in alcuni registri protetti da TPM (PCR) per uso futuro, .eg, attestazioni remote, operazioni di unseal.

Vedi this per maggiori informazioni su VT-d.

La seconda domanda è molto complicata in quanto TXT offre nuove funzionalità di sicurezza (vedi sotto) non di sicurezza. La sicurezza può essere creata in modo diverso a seconda di come vengono utilizzate tali funzionalità: dipende dalla nostra immaginazione. PrivateCore vCage è un buon esempio

  • Esecuzione protetta - separazione del dominio basata su hardware
  • Pagine di memoria protette - che forniscono protezione contro i modi in cui è possibile accedere alla memoria - software, DMA, schede GPU - alcune avvertenze con SMM e AMT
  • Archiviazione sigillata: crittografare i dati in base all'ambiente in esecuzione o in altre parole, ciò che è stato misurato (in base ai valori della PCR memorizzati nel TPM)
  • Input protetto: crea un canale fidato tra l'utente e l'ambiente protetto - non implementato IFAIK
  • Grafica protetta - crea un canale fidato tra l'ambiente protetto e la scheda grafica - non implementato IFAIK
  • Attestazione - segnala in modo sicuro ad altre parti quali misure sono memorizzate nel TPM (valori PCR), ad es. Remote Attestation aka l'operazione di quotazione.

Vedi questo articolo per maggiori informazioni su TXT.

    
risposta data 04.04.2013 - 17:53
fonte