Microsoft avas koodi hüperviisor OpenVMM ja paravirtuaalide platvorm OpenHCL

Microsoft teatas, et avab OpenHCL-i paravirtuaal keessatti jaohtilatiivi malli jaohtumallin OpenVMM allotoor, mis on spetsiifiliselt välja töötatud OpenHCL-i töökorraldamiseks. OpenVMM ja OpenHCL kood on kirjutatud Rust keeles ja levitatakse MIT litsentsi alusel. OpenVMM kuulub teise taseme hypervisoreisse, mis töötavad sama kaitseringi tasemega kui operatsioonisüsteemi kernal, sarnaselt selliste toodetega nagu VirtualBox ja VMware Workstation. See toetab töötamist Linuxi (x86_64), Windowsi (x86_64, Aarch64) ja macOS-i (x86_64, Aarch64) perhhissüsteemide kohal, kasutades nendelt TSR-i API-d virtuaalivõimekuse KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) ja Hypervisor.framework.

OpenVMM-i toetatavad omadused on järgmised:

  • Ühenduvus UEFI ja BIOS režiimides, Linux iardi laadimine;
  • Paravirtuaalsuse toetamine Virtio draiverite (virtio-fs, virtio-9p, virtio-net, virtio-pmem) alusel;
  • Paravirtuaalsuse toetamine VMBus (storvsp, netvsp, vpci, framebuffer) alusel;
  • vTPM, NVMe, UART, i440BX + PIIX4, IDE HDD, PCI ja VGA emulatsioon;
  • Tagasiviida graafika, sisendseadmestik, konsool, salvestused ja võrguühenduse jaoks;
  • Haldamine käskude rea, interaktiivse konsooli, gRPC ja ttrpc kaudu.

OpenHCL on paigutatud kui paravirtuaalsuse keskkond (paravirtuaalne), mis töötab OpenVMM hypervisori kohal. OpenVMM-i ja OpenHCL-i virtuaalsetes süsteemides on peamine omadus see, et paravirtuaalsuse komponendid töötavad mitte perhhissüsteemi, vaid külgmise süsteemi virtuaalmasinas. Paravirtuaalsuse kaitseb OpenVMM-i teine taseme hypervisor. Sellisel rakendamisel saab OpenHCL-d käsitleda kui virtuaalset tarkvara, mis töötab kõrgemal privileegitasemel kui külgmise süsteemi operatsioonisüsteem.

Külgmise süsteemi ja OpenHCL-i komponentide eristamine teostatakse virtuaalsete usaldustasemete (VTL, Virtual Trust Level) kontseptsiooni abil, mille rakendamiseks võivad kasutada nii tarkvara mehhanismid kui ka riistvaratehnoloogiad, näiteks Intel TDX (Trust Domain Extensions), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) ja ARM CCA (Confidential Compute Architecture). OpenHCL-i komponentide rakendamiseks kasutatakse kärbitud Linuxi kernelit, mis sisaldab ainult minimaalset vajalikku sisu OpenVMM-i töö tagamiseks.

Microsoft avas koodi hüperviisor OpenVMM ja paravirtuaalide platvorm OpenHCL

OpenHCL saab töötada x86-64 ja ARM64 platvormidel ning toetab Intel TDX, AMD SEV-SNP ja ARM CCA laiendusi täiendava isoleerimise tagamiseks. OpenHCL sisaldab teenuste, draiverite ja emulaatorite kogumit, mida kasutatakse riistvarale juurdepääsu korraldamiseks, külg süsteemi virtuaalsete seadmete töötamise tagamiseks ja riistvaraseadmete emuleerimiseks (näiteks võib emuleerida krüptograafiliste võtmete salvestamiseks mõeldud kiipi — vTPM).

Külgsüsteemi riistvarale juurdepääsu edastamiseks kasutatakse olemasolevaid draivereid, mis toetavad paravirtualiseerimist, või võib teostada seadmete otse sidumist virtuaalmasinaga, mis võimaldab olemasolevate külgsüsteemide viimist OpenHCL baasil keskkonda ilma nendesse muudatusi tegemata. Lisaks sisaldab OpenHCL komponente diagnoosimiseks ja tõrkeotsinguks virtuaalmasinate, mis toimub konfidentsiaalsete arvutuste tagamiseks mõeldud laienduste kasutamisel.

Erinevalt juba olemasolevast avatud projektist COCONUT-SVSM (Secure VM Service Module), mis pakub teenuseid ja emuleeritud seadmeid konfidentsiaalsetes külgsüsteemides, virtuaalmasinaid (CVM, Confidental Virtual Machine), võimaldab OpenHCL kasutada külgsüsteemides standardseid liideseid, samas kui COCONUT-SVSM nõuab SVSM-iga spetsiaalsete sidemete korraldamist, külgsüsteemi muudatusi ja eraldi draiverite kasutamist.

OpenHCL paravirtualisaatori rakenduste hulka kuuluvad sellised stsenaariumid nagu olemasolevate süsteemide viimine Azure Boost riistvarakiirendite kasutamisele ilma külgsüsteemi diskipildi muutmiseta; olemasolevate külgsüsteemide käitamine virtuaalmasinates, mis tagavad konfidentsiaalsed arvutused (näiteks Intel TDX ja AMD SEV-SNP baasil); virtuaalmasinate kontrollitud alglaadimise korraldamine, kasutades UEFI Secure Boot ja vTPM režiimi.

Erakordselt märgitakse, et OpenVMM projekt keskendub OpenHCL kasutamisele ja ei ole veel valmis iseseisvaks rakendamiseks host-süsteemides lõppkasutajate tööde jaoks. OpenVMM-ga seotud probleemide seas, mis takistavad selle kasutamist traditsioonilistes hostikeskkondades, ilma OpenHCL-i seotuse kasutamiseta, on: juhtimise liidese kehv dokumentatsioon; tagapoolde jõudluse optimeerimise puudumine salvestusruumide, võrkude ja graafika jaoks; teatavate juhtide (nt IDE-kettad ja PS/2 hiired) toe puudumine; pole garantiid API stabiilsusele ja funktsionaalsusele. Siiski on OpenVMM ja OpenHCL seos juba saavutanud tööstusliku rakenduse taseme ning Microsoft kasutab seda Azure platvormil (Azure Boost SKU) enam kui 1,5 miljoni virtuaalse masina töö tagamiseks.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster