Microsoft huet d'Open Source vun der Layer fir Paravirtualiséierung vum OpenHCL an de virtuelle Maschinnmonitor OpenVMM ugekënnegt, speziell entwéckelt fir d'Aarbecht vun OpenHCL ze organiséieren. Den OpenVMM an OpenHCL Code ass a Rust geschriwwen a gëtt ënner der MIT Lizenz verdeelt. OpenVMM bezitt sech op Hypervisoren op zweeter Niveau déi am selwechte Sécherheetsring mam Betribssystemkär schaffen, ähnlech wéi Produkter wéi VirtualBox an VMware Workstation. Et ënnerstëtzt Operatioun uewen op Hostsystemer baséiert op Linux (x86_64), Windows (x86_64, Aarch64) a macOS (x86_64, Aarch64), mat der KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Plattform) an Hypervisor Virtualiséierung APIen zur Verfügung gestallt. vum OS-Daten.
Ënnert de Funktiounen, déi am OpenVMM ënnerstëtzt ginn:
- Boot an UEFI a BIOS Modi, direkten Boot vum Linux Kernel;
- Paravirtualiséierung Ënnerstëtzung baséiert op Virtio Chauffeuren (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
- VMBus-baséiert paravirtualization Ënnerstëtzung (storvsp, netvsp, vpci, framebuffer);
- Emulatioun vun vTPM, NVMe, UART, i440BX + PIIX4 chipset, IDE HDD, PCI an VGA;
- Backends fir Forward Grafiken, Input Geräter, Konsolen, Späicheren an Netzzougang;
- Gestioun iwwer Kommando Linn Interface, interaktiv Konsol, gRPC an ttrpc.
OpenHCL ass positionéiert als Ëmfeld mat Paravirtualiséierungskomponenten (Paravisor) déi uewen um OpenVMM Hypervisor lafen. Eng Schlëssel Feature vu Virtualiséierungssystemer baséiert op OpenVMM an OpenHCL ass datt d'Komponente fir Paravirtualiséierung net op der Hostsystem Säit ausgefouert ginn, awer an der selwechter virtueller Maschinn mam Gaaschtsystem. D'Isolatioun vun der Paravirtualiséierungsschicht vum Gaaschtbetribssystem gëtt vum zweete Niveau Hypervisor OpenVMM gesuergt. Wann se op dës Manéier benotzt gëtt, kann OpenHCL als virtuell Firmware ugesi ginn, déi op engem méi héije Privilegniveau leeft wéi de Betribssystem, deen am Gaaschtëmfeld leeft.
D'Trennung vum Gaaschtsystem an OpenHCL Komponenten gëtt duerch d'Konzept vu virtuelle Vertrauensniveauen (VTL, Virtual Trust Level) duerchgefouert, fir d'Ëmsetzung vun deenen souwuel Software Mechanismen wéi Hardware Technologien benotzt kënne ginn, wéi Intel TDX (Trust Domain Extensions) ), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) an ARM CCA (Confidential Compute Architecture). Fir OpenHCL Komponenten auszeféieren, gëtt e gesträiften Build vum Linux Kernel benotzt, deen nëmmen déi minimale Komponenten enthält déi néideg sinn fir OpenVMM ze lafen.

OpenHCL kann op x86-64 an ARM64 Plattformen lafen, an ënnerstëtzt Intel TDX, AMD SEV-SNP an ARM CCA Extensiounen fir zousätzlech Isolatioun. OpenHCL enthält eng Rei vu Servicer, Chauffeuren an Emulatoren, déi benotzt gi fir Zougang zu Ausrüstung z'organiséieren, d'Operatioun vu virtuellen Apparater op der Säit vum Gaaschtsystem ze garantéieren an Hardware-Geräter ze emuléieren (zum Beispill e Chip fir Kryptografesch Schlësselen ze späicheren - vTPM) kann emuléiert ginn .
Fir den Zougang zu Hardware op der Säit vum Gaaschtsystem ze iwwersetzen, ginn existent paravirtualiséierungsaktivéiert Treiber benotzt, oder Apparater kënnen direkt un déi virtuell Maschinn gebonnen ginn, sou datt existent Gaaschtsystemer ouni Modifikatioun an eng OpenHCL-baséiert Ëmfeld migréiert kënne ginn. OpenHCL enthält och diagnostesch a Debugging-Komponenten. virtuell Maschinnen, duerchgefouert mat Hëllef vun Extensiounen fir vertraulech Informatik ze garantéieren.
Am Géigesaz zum bestehenden Open-Source-Projet COCONUT-SVSM (Secure VM Service Module), deen Servicer an emuléiert Geräter fir Gaaschtsystemer ubitt, déi a vertraulechen Ëmfeld lafen, virtuell Maschinnen (CVM, Confidential Virtual Machine), erlaabt OpenHCL d'Benotzung vu Standard-Interfaces a Gaaschtsystemer, während COCONUT-SVSM d'Organisatioun vun enger spezieller Interaktioun mat SVSM erfuerdert, Ännerungen um Gaaschtsystem an d'Benotzung vun separaten Treiber.
Ënner den Uwendungen vum OpenHCL Paravisor ginn esou Szenarie wéi den Iwwergank vun existente Systemer fir Azure Boost Hardware Beschleuniger ze benotzen ouni d'Notzung fir Ännerungen am Gaaschtsystem Disk Image ze maachen; Laf bestehend Gäscht an virtuell Maschinnen déi vertraulech Rechenzäit (zum Beispill, baséiert op Intel TDX an AMD SEV-SNP); Organisatioun vum verifizéierte Boot vu virtuelle Maschinnen mat UEFI Secure Boot a vTPM Modus.
Et gëtt separat bemierkt datt den OpenVMM Projet op d'Benotzung mat OpenHCL fokusséiert ass an nach net prett ass fir Stand-alone Notzung op Hostsystemer fir Produktiounsimplementatiounen vun Endbenotzer. Ënner de Probleemer vun OpenVMM, déi hir Notzung an Host-Ëmfeld an engem traditionelle Kontext verhënneren, ausserhalb vun OpenHCL, ginn déi folgend ernimmt: schlecht Dokumentatioun vun der Kontrollinterface; Mangel u korrekt Optimiséierung vun der Backend-Performance fir Lagerung, Netzwierk a Grafiken; Mangel un Ënnerstëtzung fir e puer Chauffeuren (zum Beispill, IDE fiert an PS / 2 Mais); et gëtt keng Garantie vun API Stabilitéit a Funktionalitéit. Zur selwechter Zäit huet d'Kombinatioun vun OpenVMM an OpenHCL schonn den Niveau vun der industrieller Implementatioun erreecht a gëtt vu Microsoft an der Azure Plattform (Azure Boost SKU) benotzt fir d'Operatioun vu méi wéi 1.5 Millioune virtuelle Maschinnen z'ënnerstëtzen.
Source: opennet.ru
