Microsoft ha da poco annunciato che il nuovo OpenHCL, ovvero una libreria per macchine virtuali private di tipo Confidential Compute Intel e AMD, è ora disponibile in formato open source. Si tratta di una libreria scritta nel linguaggio Rust, sviluppata dall’azienda di Redmond in 5 anni, che ora può essere sviluppata anche con il contributo di altri collaboratori.
Microsoft: la libreria OpenHCL per macchine virtuali è ora open source
OpenHCL di Microsoft è un ambiente virtuale pensato per funzionare da “paravisore” per le macchine virtuali confidenziali, dotate delle protezioni hardware Intel TDX e AMD SEV-SNP. La libreria può essere eseguita sulle piattaforme X86-64 e ARM64, anche se attualmente il supporto è solo presente per gli ambienti di computing confidenziale Intel e AMD, mentre presto verrà aggiunto quello per Arm CCA (Confidential Compute Architecture). Oltre a Windows, è anche supportato Linux e la libreria è già in uso sulla piattaforma Azure.
Riguardo la libreria, Microsoft spiega nel dettaglio il funzionamento, specificando che:
“Oggi, OpenHCL può essere eseguito su piattaforme x86-64 e ARM64 e supporta le piattaforme di elaborazione confidenziale Intel TDX e AMD SEV-SNP. OpenHCL viene eseguito nella VMM L1 di una VM confidenziale TDX e nella VMPL0 di una VM confidenziale SEV-SNP.”
“..offre un ricco set di potenti servizi sia per le VM confidenziali che per quelle non confidenziali:
- Emulazione del dispositivo tramite interfacce di dispositivo standard, che essenzialmente offre un set di dispositivi emulati, come vTPM e seriale.
- Traduzione del dispositivo tramite interfacce di dispositivo standard, come NVMe in SCSI paravirtualizzato, che consente l’assegnazione di dispositivi hardware direttamente alle VM (IO accelerato) senza richiedere modifiche al sistema operativo guest, consentendo alle VM di sfruttare le prestazioni dei dispositivi all’avanguardia.
- Supporto diagnostico, particolarmente utile per consentire il debug delle VM confidenziali in cui è difficile utilizzare metodi di debug tradizionali. (In particolare per le VM riservate)
- Supporto per gli ospiti che non sono completamente illuminati, come Windows e vecchie versioni di Linux, per l’esecuzione su piattaforme di elaborazione riservate tramite interfacce architettoniche standard.
Per le VM riservate, anche se OpenHCL è un software già molto intuitivo per quegli utenti che si affacciano per la prima volta alle macchine virtuali, in futuro potrebbe anche fornire ulteriori novità anche per gli utenti più esperti, fornendo loro uno o tutti gli altri servizi a seconda dei diversi scenari richiesti.”
…
OpenHCL è composto da diversi componenti open source, il più importante dei quali è OpenVMM, il progetto multipiattaforma di monitoraggio delle macchine virtuali (VMM) scritto in Rust. Questo VMM esegue diversi processi in modalità utente per alimentare OpenHCL. L’esecuzione di un VMM all’interno di OpenHCL ci consente di supportare gli ospiti con dispositivi assegnati e fornire supporto per la traduzione dei dispositivi. Inoltre, ci consente di condividere l’architettura riservata e non riservata. Eseguiamo lo stesso VMM nello stesso ambiente sia per gli ospiti riservati che per quelli non riservati e il VMM fornisce gli stessi servizi su misura per le loro esigenze. In questo modo si evitano soluzioni di virtualizzazione frammentate tra VM riservate e non riservate, colmando così le lacune di funzionalità delle VM riservate.”
È possibile consultare più dettagli nel blog Microsoft della comunità, dedicato alla libreria. Il codice è invece disponibile nella pagina dedicata su GitHub.