Microsoft publikoi kodin e hipervizorit OpenVMM dhe platformën e paravirtualizimit OpenHCL

Kompania Microsoft shpalli hapjen e kodit burimor të shtresës për sigurimin e paravirtualizimit OpenHCL dhe monitorit të makinave virtuale OpenVMM, të zhvilluar veçanërisht për organizimin e funksionimit të OpenHCL. Kodi OpenVMM dhe OpenHCL është shkruar në gjuhën Rust dhe shpërndahet nën licencën MIT. OpenVMM i përket hipervizorëve të nivelit të dytë, që funksionojnë në një rreth mbrojtjeje me bërthamën e sistemit operativ, duke u përngjitur me produkte si VirtualBox dhe VMware Workstation. Mbështetet funksionimi mbi sisteme host të bazuara në Linux (x86_64), Windows (x86_64, Aarch64) dhe macOS (x86_64, Aarch64), duke përdorur API-të e virtualizimit KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) dhe Hypervisor.framework që ofrohen nga këto OS.

Midis mundësive që mbështeten në OpenVMM:

  • Ngarkesa nĂ« modalitetet UEFI dhe BIOS, ngarkesa direkte e bĂ«rthamĂ«s Linux;
  • MbĂ«shtetje pĂ«r paravirtualizimin e bazuar nĂ« drejtorĂ«t Virtio (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • MbĂ«shtetje pĂ«r paravirtualizimin e bazuar nĂ« VMBus (storvsp, netvsp, vpci, framebuffer);
  • Emulimi i vTPM, NVMe, UART, chipset-it i440BX + PIIX4, IDE HDD, PCI dhe VGA;
  • Backend pĂ«r kalimin e grafikĂ«s, pajisjeve tĂ« inputit, konsolĂ«s, depozita dhe aksesin nĂ« rrjet;
  • Menaxhimi pĂ«rmes ndĂ«rfaqes sĂ« komandave, konsolĂ«s interaktive, gRPC dhe ttrpc.

OpenHCL pozicionohet si një ambient me komponente paravirtualizimi (paravizor), që funksionon mbi hipervizorin OpenVMM. Karakteristika kryesore e sistemeve të virtualizimit të bazuara në OpenVMM dhe OpenHCL është se komponentët për paravirtualizimin ekzekutohen jo në anën e sistemit host, por në një makinë virtuale me sistemin mikpritës. Izolimi i shtresës së paravirtualizimit nga sistemi operativ mikpritës sigurohet nga forcat e hipervizorit të nivelit të dytë OpenVMM. OpenHCL në këtë përdorim mund të konsiderohet si një firmware virtual, që ekzekutohet në një nivel më të lartë privilegjesh se sa sistemi operativ që ekzekutohet në ambientin mikpritës.

Ndarja e sistemit mikpritës dhe komponenteve të OpenHCL kryhet duke përdorur konceptin e niveleve virtuale të besimit (VTL, Virtual Trust Level), për realizimin e të cilave mund të përdoren mekanizma software, si dhe teknologji harduerike, të tilla si Intel TDX (Trust Domain Extensions), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) dhe ARM CCA (Confidential Compute Architecture). Për ekzekutimin e komponenteve OpenHCL përdoret një version i prerë i bërthamës Linux, që përfshin vetëm komponentët minimalisht të nevojshëm për funksionimin e OpenVMM.

Microsoft publikoi kodin e hipervizorit OpenVMM dhe platformën e paravirtualizimit OpenHCL

OpenHCL mund tĂ« funksionojĂ« nĂ« platformat x86-64 dhe ARM64, dhe mbĂ«shtet zgjerimet Intel TDX, AMD SEV-SNP dhe ARM CCA pĂ«r izolim tĂ« shtuar. NĂ« pĂ«rbĂ«rje tĂ« OpenHCL pĂ«rfshihet njĂ« grup shĂ«rbimesh, drejtuesish dhe emuluesish tĂ« pĂ«rdorur pĂ«r organizimin e aksesit nĂ« pajisje, pĂ«r sigurimin e funksionimit tĂ« pajisjeve virtuale nĂ« anĂ«n e sistemit mikpritĂ«s dhe pĂ«r emulimin e pajisjeve harduerike (pĂ«r shembull, mund tĂ« emulohet njĂ« çip pĂ«r ruajtjen e çelĂ«save kriptografikĂ« — vTPM).

Për translacionin e aksesit në pajisje në anën e sistemit mikpritës, përdoren drejtuesit ekzistues me mbështetje për paravirtualizimin ose mund të kryhet mbërthimi i drejtpërdrejtë i pajisjeve në makinën virtuale, çka lejon kalimin në ambientin mbi të cilin bazohet OpenHCL të sistemeve mikpritëse ekzistuese pa bërë ndryshime në to. Për më tepër, OpenHCL përfshin komponente për diagnostikimin dhe debugging, që kryhen duke përdorur zgjerime për sigurimin e llogarive të konfidencialeve. makinave virtuale, që realizohen duke përdorur zgjerime për sigurimin e llogarive konfidenciale.

Nga projekti ekzistues i hapur COCONUT-SVSM (Secure VM Service Module), i cili ofron shërbime dhe pajisje të emuluara për sistemet mikpritëse, që realizohen në llogari konfidenciale makinat virtuale (CVM, Confidential Virtual Machine), OpenHCL lejon përdorimin në sistemet mikpritëse të ndërfaqeve standarde, ndërsa COCONUT-SVSM kërkon organizimin e një ndërveprimi të veçantë me SVSM, duke bërë ndryshime në sistemin mikpritës dhe duke përdorur drejtues të veçantë.

Nga aplikimet e paravizorit OpenHCL përmenden skenarë të tillë si kalimi i sistemeve ekzistuese në përdorimin e akceleratorëve harduerikë Azure Boost pa nevojën e ndryshimeve në imazhin disk të sistemit mikpritës; ekzekutimi i sistemeve mikpritëse ekzistuese në makina virtuale që sigurojnë llogari konfidenciale (për shembull, mbi bazën e Intel TDX dhe AMD SEV-SNP); organizimi i ngarkesës së verifikuar të makinave virtuale, duke përdorur modalitetin UEFI Secure Boot dhe vTPM.

Vlen të theksohet se projekti OpenVMM është fokusuar në përdorimin me OpenHCL dhe ende nuk është i gatshëm për përdorim të veçantë në sistemet host për implementime të fundit nga përdoruesit. Problemet e OpenVMM që pengojnë përdorimin e tij në mjediset host në kontekstin tradicional, jashtë lidhjes me OpenHCL, përfshijnë: dokumentimin e dobët të ndërfaqes menaxhuese; mungesën e optimizimit të duhur të performancës së backend-eve për ruajtjet, rrjetin dhe grafikën; mungesën e mbështetjes për disa drejtuese (p.sh., disqet IDE dhe mice PS/2); nuk ka garanci për stabilitetin e API-së dhe funksionalitetit. Megjithatë, lidhja midis OpenVMM dhe OpenHCL ka arritur tashmë nivelin e implementimit industrial dhe është përdorur nga Microsoft në platformën Azure (Azure Boost SKU) për të garantuar funksionimin e mbi 1.5 milion makinave virtuale.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster