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.