Efter et års udvikling er frigivelsen af den frie hypervisor Xen 4.17 offentliggjort. Virksomheder som Amazon, Arm, Bitdefender, Citrix, EPAM Systems og Xilinx (AMD) har været involveret i udviklingen af den nye version. Opdateringer til Xen 4.17-grenen vil fortsætte indtil den 12. juni 2024, og offentliggørelsen af sikkerhedsrettelser vil vare indtil den 12. december 2025.
Nøgleændringer i Xen 4.17:
- Der er sikret delvis overholdelse af kravene til udvikling af sikre og pålidelige programmer på C-sproget, som er formuleret i MISRA-C specifikationerne, der anvendes ved oprettelsen af kritiske systemer. Der er officielt implementeret 4 direktiver og 24 regler fra MISRA-C i Xen (ud af 143 regler og 16 direktiver), og der er sikret integration af den statiske analyser MISRA-C i byggeprocesserne, hvilket kontrollerer overholdelsen af specifikationen.
- Der er givet mulighed for at definere en statisk konfiguration af Xen til ARM-systemer, som på forhånd fastlægger alle de ressourcer, der er nødvendige for at starte gæstesystemerne. Alle ressourcer som delt hukommelse, kanaler til begivenhedsnotifikationer og plads i hypervisorens heap allokeres på forhånd ved opstart af hypervisoren, i stedet for at blive tildelt dynamisk, hvilket eliminerer mulige fejl på grund af ressourceknaphed under drift.
- Til indlejrede systemer baseret på ARM-arkitekturen er der implementeret en eksperimentel (tech preview) understøttelse af virtualisering af input/output ved brug af VirtIO-protokoller. Virtio-mmio transporten er brugt til dataudveksling med de virtuelle input/output-enheder, hvilket muliggør kompatibilitet med en bred vifte af VirtIO-enheder. Der er implementeret frontend-support til Linux, inklusive værktøjer (libxl/xl), dom0less-tilstand og backends, der kører i brugerrummet (backends som virtio-disk, virtio-net, i2c og gpio er blevet testet).
- Støtten til dom0less-tilstanden er forbedret, hvilket muliggør drift uden implementering af dom0-miljøet ved opstart virtual machines I den tidlige fase af serveropstarten er der mulighed for at definere CPU-pools (CPUPOOL) under opstart (via en enhedstræ), hvilket muliggør brug af pools i konfigurationer uden dom0, for eksempel til at binde forskellige typer CPU-kjerner på ARM-systemer baseret på big.LITTLE-arkitektur, der kombinerer kraftige, men energikrævende kerner, med mindre effektive, men mere energieffektive kerner. Desuden er der i dom0less muligheden for at binde frontend/backend para-virtualisering til gæstesystemer, hvilket gør det muligt at starte gæstesystemer med de nødvendige para-virtualiserede enheder.
- På ARM-systemer tildeles strukturene for hukommelsesvirtualisering (P2M, Physical to Machine) nu fra en hukommelsespool, der dannes ved oprettelsen af en domene, hvilket øger effektiviteten af isoleringen mellem gæstesystemerne ved hukommelsesrelaterede fejl.
- For ARM-systemer er der tilføjet beskyttelse mod Spectre-BHB sårbarheden i mikroarkitekturelle strukturer i processorerne.
- På ARM-systemer er det nu muligt at køre operativsystemet Zephyr i root-miljøet Dom0.
- Der er mulighed for separat (out-of-tree) bygning af hypervisoren.
- På x86-systemer er der sikret støtte til store IOMMU-sider (superpage) for alle typer gæstesystemer, hvilket øger båndbredden ved PCI-enhedspassthrough. Der er tilføjet støtte til værter med op til 12 TB RAM. Under opstart er det muligt at angive cpuid-parametre for dom0. Til beskyttelsesforanstaltninger mod CPU-angreb i gæstesystemerne, der er implementeret på hypervisorniveauet, foreslås parametrene VIRT_SSBD og MSR_SPEC_CTRL.
- VirtIO-Grant transporten udvikles separat og adskiller sig fra VirtIO-MMIO ved at have et højere sikkerhedsniveau og muligheden for at køre behandlere i et separat isoleret domæne for drivere. I VirtIO-Grant anvendes ikke direkte hukommelseskortlægning, men oversættelse af fysiske adresser fra gæstesystemet til grant-referencer, hvilket muliggør brugen af forudgodkendte områder af delt hukommelse til datadeling mellem gæstesystemet og VirtIO-backend, uden at backend får rettigheder til at foretage hukommelseskortlægning. Støtte til VirtIO-Grant er allerede implementeret i Linux-kernen, men er endnu ikke inkluderet i QEMU-backends, virtio-vhost og værktøjet (libxl/xl).
- Udviklingen af Hyperlaunch-initiativet fortsætter, som har til formål at give fleksible værktøjer til konfiguration af opstart af virtuelle maskiner under systemboot. I øjeblikket er det første sæt patches klar, som muliggør identificering af PV-domæner og overførsel af deres billeder til hypervisoren under boot. Alt nødvendigt for at starte sådanne para-virtualiserede systemer er også implementeret. domæner, herunder Xenstore-komponenter til PV-drivere. Efter godkendelse af patchene vil arbejdet begynde med at inkludere support til PVH- og HVM-enheder samt implementeringen af et separat domæne domB (builder domain), der er egnet til at organisere målt boot, som verificerer ægtheden af alle indlæste komponenter.
- Arbejdet med at oprette Xen-porten til RISC-V-arkitekturen fortsætter.
Kilde: opennet.ru
