Efter ett Ärs utveckling har lanseringen av den fria hypervisorn Xen 4.17 offentliggjorts. Företag som Amazon, Arm, Bitdefender, Citrix, EPAM Systems och Xilinx (AMD) deltog i utvecklingen av den nya versionen. Uppdateringar för Xen 4.17 kommer att fortsÀtta fram till den 12 juni 2024, medan publiceringen av sÄrbarhetsfixar kommer att pÄgÄ till den 12 december 2025.
NyckelförÀndringar i Xen 4.17:
- Delvis kompatibilitet med kraven för utveckling av sÀkra och pÄlitliga programvaror pÄ C, som formulerats i specifikationerna för MISRA-C, vilka anvÀnds vid skapandet av kritiska system, har sÀkerstÀllts. I Xen har officiellt 4 riktlinjer och 24 regler frÄn MISRA-C (av totalt 143 regler och 16 riktlinjer) införts, och integration av den statiska analysatorn MISRA-C i byggprocesserna har sÀkerstÀllts för att kontrollera efterlevnaden av specifikationskraven.
- Möjligheten att definiera en statisk konfiguration av Xen för ARM-system har tillhandahÄllits, vilket i förvÀg faststÀller alla resurser som krÀvs för att starta gÀstsystem. Alla resurser, sÄsom delad minne, kanaler för hÀndelseavisering och minnesutrymme för hypervisorn, fördelas i förvÀg vid uppstart av hypervisorn istÀllet för att tilldelas dynamiskt, vilket utesluter möjliga krascher pÄ grund av resursbrist under drift.
- För inbyggda system baserade pÄ ARM-arkitekturen har experimentellt (tech preview) stöd för virtualisering av in- och utdata implementerats med anvÀndning av VirtIO-protokoll. För dataöverföring med virtuella in- och utdata-enheter anvÀnds transporten virtio-mmio, vilket tillÄter kompatibilitet med ett brett spektrum av VirtIO-enheter. Stöd har implementerats för frontend för Linux, verktyg (libxl/xl), dom0less-lÀget och backend, som körs i anvÀndarutrymme (backends virtio-disk, virtio-net, i2c och gpio har testats).
- Stödet för dom0less-lÀget har förbÀttrats, vilket gör det möjligt att undvika distribution av dom0-miljön vid start virtuella maskiner vid starten av serverns laddning. En möjlighet att definiera CPU-pooler (CPUPOOL) under laddningen (genom en enhetsstruktur) har införts, vilket möjliggör anvÀndning av pooler i konfigurationer utan dom0, till exempel för att binda olika typer av CPU-kÀrnor pÄ ARM-system baserade pÄ big.LITTLE-arkitektur, som kombinerar kraftfulla, men energikrÀvande, kÀrnor med mindre kraftfulla, men mer energieffektiva kÀrnor pÄ en och samma chip. Dessutom har möjligheten att binda frontend/backend av paravirtualisering till gÀstsystem införts i dom0less, vilket gör det möjligt att ladda gÀstsystem med nödvÀndiga paravirtualiserade enheter.
- PÄ ARM-system allokeras nu strukturer för minnesvirtualisering (P2M, Physical to Machine) frÄn minnespoolen som skapas vid domÀnens skapande, vilket ökar effektiviteten i isoleringen mellan gÀstsystem vid minnesrelaterade krascher.
- För ARM-system har skydd mot sÄrbarheten Spectre-BHB lagts till i mikroarkitektoniska strukturer av processorer.
- PÄ ARM-system har möjligheten att köra operativsystemet Zephyr i root-miljön Dom0 införts.
- Möjlighet till separat (out-of-tree) kompilering av hypervisorn har införts.
- PÄ x86-system har stöd för stora IOMMU-sidor (superpage) för alla typer av gÀstsystem införts, vilket ökar bandbredden vid PCI-enhetsgavidning. Stöd har lagts till för vÀrdar med upp till 12 TB RAM. Under laddningen har möjlighet att ange cpuid-parametrar för dom0 implementerats. För att hantera skyddsmÄtt för gÀstsystem som implementerats pÄ hypervisor-nivÄ mot CPU-attacker har parametrarna VIRT_SSBD och MSR_SPEC_CTRL föreslagits.
- VirtIO-Grant-transportsystemet utvecklas separat och kÀnnetecknas av en högre sÀkerhetsnivÄ Àn VirtIO-MMIO och möjligheten att köra handlare i en separat isolerad domÀn för drivrutiner. I VirtIO-Grant anvÀnds översÀttning av fysiska adresser frÄn gÀstsystemet till grant-referenser istÀllet för direkt minnesmappning, vilket möjliggör anvÀndning av förhandsavtalade omrÄden av delat minne för datautbyte mellan gÀstsystemet och VirtIO-backend utan att ge backend rÀtt att göra minnesmappning. Stöd för VirtIO-Grant har redan implementerats i Linux-kÀrnan, men har Ànnu inte inkluderats i QEMU-backend, virtio-vhost och verktygssamlingen (libxl/xl).
- Arbetet med Hyperlaunch-initiativet fortsÀtter, som syftar till att tillhandahÄlla flexibla verktyg för att anpassa starten av virtuella maskiner under systemets uppstart. För nÀrvarande Àr den första uppsÀttningen patchar redan klar, vilket möjliggör identifiering av PV-domÀner och överföring av deras bilder under uppstart till hypervisorn. NödvÀndiga komponenter för att starta sÄdana para-virtualiserade har ocksÄ implementerats domÀner, inklusive Xenstore-komponenterna för PV-drivrutiner. NÀr patcharna har antagits kommer arbetet med att aktivera stöd för PVH- och HVM-enheter samt implementeringen av en separat domÀn domB (builder domain) att pÄbörjas, vilket Àr anvÀndbart för att organisera mÀtbar uppstart (measured boot), som bekrÀftar Àktheten hos alla laddade komponenter.
- Arbetet med att skapa Xen-porten för RISC-V-arkitekturen fortsÀtter.
KĂ€lla: opennet.ru
