Microsoft ir paziÅojis par OpenHCL paravirtualizÄcijas slÄÅa atvÄrto avotu un virtuÄlÄs maŔīnas monitoru OpenVMM, kas Ä«paÅ”i izstrÄdÄts OpenHCL darba organizÄÅ”anai. OpenVMM un OpenHCL kods ir rakstÄ«ts Rust un tiek izplatÄ«ts saskaÅÄ ar MIT licenci. OpenVMM attiecas uz otrÄ lÄ«meÅa hipervizoriem, kas darbojas vienÄ droŔības lokÄ ar operÄtÄjsistÄmas kodolu, lÄ«dzÄ«gi produktiem, piemÄram, VirtualBox un VMware Workstation. TÄ atbalsta darbÄ«bu virs resursdatora sistÄmÄm, kuru pamatÄ ir Linux (x86_64), Windows (x86_64, Aarch64) un macOS (x86_64, Aarch64), izmantojot nodroÅ”inÄtÄs KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor platforma) un Hypervisor virtualizÄcijas API. pÄc OS datiem.
Starp OpenVMM atbalstÄ«tajÄm funkcijÄm:
- SÄknÄÅ”ana UEFI un BIOS režīmos, tieÅ”a Linux kodola sÄknÄÅ”ana;
- ParavirtualizÄcijas atbalsts, kas balstÄ«ts uz Virtio draiveriem (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
- Atbalsts paravirtualizÄcijai, kuras pamatÄ ir VMBus (storvsp, netvsp, vpci, framebuffer);
- vTPM, NVMe, UART, i440BX + PIIX4 mikroshÄmojuma, IDE HDD, PCI un VGA emulÄcija;
- AizmugursistÄmas grafikas pÄrsÅ«tīŔanai, ievades ierÄ«ces, konsoles, krÄtuve un piekļuve tÄ«klam;
- PÄrvaldÄ«ba, izmantojot komandrindas interfeisu, interaktÄ«vo konsoli, gRPC un ttrpc.
OpenHCL ir novietots kÄ vide ar paravirtualizÄcijas komponentiem (paravisor), kas darbojas virs OpenVMM hipervizora. GalvenÄ virtualizÄcijas sistÄmu iezÄ«me, kuras pamatÄ ir OpenVMM un OpenHCL, ir tÄda, ka paravirtualizÄcijas komponenti darbojas nevis resursdatora sistÄmas pusÄ, bet gan vienÄ virtuÄlajÄ maŔīnÄ ar viesu sistÄmu. ParavirtualizÄcijas slÄÅa izolÄciju no viesu operÄtÄjsistÄmas nodroÅ”ina otrÄ lÄ«meÅa hipervizors OpenVMM. Å ÄdÄ veidÄ OpenHCL var uzskatÄ«t par virtuÄlu programmaparatÅ«ru, kas darbojas augstÄkÄ privilÄÄ£iju lÄ«menÄ« nekÄ operÄtÄjsistÄma, kas darbojas viesa vidÄ.
Viesu sistÄmas un OpenHCL komponentu atdalīŔana tiek veikta, izmantojot virtuÄlo uzticÄ«bas lÄ«meÅu (VTL, Virtual Trust Level) koncepciju, kuras ievieÅ”anai var izmantot gan programmatÅ«ras mehÄnismus, gan aparatÅ«ras tehnoloÄ£ijas, piemÄram, Intel TDX (Trust Domain Extensions). ), AMD SEV-SNP (DroÅ”a Å”ifrÄta virtualizÄcija-DroÅ”a ligzdoto peidžeru) un ARM CCA (konfidenciÄlÄ skaitļoÅ”anas arhitektÅ«ra). Lai palaistu OpenHCL komponentus, tiek izmantots atdalÄ«ts Linux kodola bÅ«vÄjums, kas ietver tikai minimÄlos komponentus, kas nepiecieÅ”ami OpenVMM palaiÅ”anai.

OpenHCL var darboties x86-64 un ARM64 platformÄs, kÄ arÄ« atbalsta Intel TDX, AMD SEV-SNP un ARM CCA paplaÅ”inÄjumus papildu izolÄcijai. OpenHCL ietver pakalpojumu komplektu, draiverus un emulatorus, ko izmanto, lai organizÄtu piekļuvi aprÄ«kojumam, nodroÅ”inÄtu virtuÄlo ierÄ«Äu darbÄ«bu viesu sistÄmas pusÄ un emulÄtu aparatÅ«ras ierÄ«ces (piemÄram, mikroshÄmu kriptogrÄfisko atslÄgu glabÄÅ”anai - vTPM).
Lai piekļuvi aparatÅ«rai viessistÄmas pusÄ pÄrveidotu, tiek izmantoti esoÅ”ie paravirtualizÄciju atbalstoÅ”ie draiveri vai arÄ« ierÄ«ces var tieÅ”i saistÄ«t ar virtuÄlo maŔīnu, ļaujot esoÅ”Äs viessistÄmas migrÄt uz OpenHCL balstÄ«tu vidi bez modifikÄcijÄm. OpenHCL ietver arÄ« diagnostikas un atkļūdoÅ”anas komponentus. virtuÄlÄs maŔīnas, kas tiek veikta, izmantojot paplaÅ”inÄjumus, lai nodroÅ”inÄtu konfidenciÄlu skaitļoÅ”anu.
AtŔķirÄ«bÄ no esoÅ”Ä atvÄrtÄ pirmkoda projekta COCONUT-SVSM (Secure VM Service Module), kas nodroÅ”ina pakalpojumus un emulÄtas ierÄ«ces viesu sistÄmÄm, kas darbojas konfidenciÄlÄ vidÄ virtuÄlÄs maŔīnas (CVM, KonfidenciÄla virtuÄlÄ maŔīna), OpenHCL ļauj viesu sistÄmÄs izmantot standarta saskarnes, savukÄrt COCONUT-SVSM prasa Ä«paÅ”as mijiedarbÄ«bas organizÄÅ”anu ar SVSM, veicot izmaiÅas viesu sistÄmÄ un izmantojot atseviŔķus draiverus.
Starp OpenHCL paravisor lietojumprogrammÄm ir minÄti tÄdi scenÄriji kÄ esoÅ”o sistÄmu pÄreja uz Azure Boost aparatÅ«ras paÄtrinÄtÄju izmantoÅ”anu bez nepiecieÅ”amÄ«bas veikt izmaiÅas viesu sistÄmas diska attÄlÄ; Palaist esoÅ”os viesus virtuÄlajÄs maŔīnÄs, kas nodroÅ”ina konfidenciÄlu skaitļoÅ”anu (piemÄram, pamatojoties uz Intel TDX un AMD SEV-SNP); verificÄtas virtuÄlo maŔīnu sÄknÄÅ”anas organizÄÅ”ana, izmantojot UEFI Secure Boot un vTPM režīmu.
AtseviŔķi jÄatzÄ«mÄ, ka OpenVMM projekts ir vÄrsts uz lietoÅ”anu kopÄ ar OpenHCL un vÄl nav gatavs atseviŔķai lietoÅ”anai resursdatoros galalietotÄju produkcijas ievieÅ”anai. Starp OpenVMM problÄmÄm, kas neļauj to izmantot resursdatora vidÄs tradicionÄlÄ kontekstÄ Ärpus OpenHCL, tiek minÄtas: slikta vadÄ«bas saskarnes dokumentÄcija; nepietiekamas aizmugursistÄmas veiktspÄjas optimizÄcijas trÅ«kums krÄtuvei, tÄ«klam un grafikai; atbalsta trÅ«kums dažiem draiveriem (piemÄram, IDE diskdziÅiem un PS/2 pelÄm); API stabilitÄte un funkcionalitÄte netiek garantÄta. TajÄ paÅ”Ä laikÄ OpenVMM un OpenHCL kombinÄcija jau ir sasniegusi rÅ«pnieciskÄs ievieÅ”anas lÄ«meni, un Microsoft to izmanto Azure platformÄ (Azure Boost SKU), lai atbalstÄ«tu vairÄk nekÄ 1.5 miljonu virtuÄlo maŔīnu darbÄ«bu.
Avots: opennet.ru
