Po roku vývoja bol zverejnený release voľného hypervízora Xen 4.17. Na vývoji novej verzie sa podieľali spoločnosti ako Amazon, Arm, Bitdefender, Citrix, EPAM Systems a Xilinx (AMD). Tvorba aktualizácií pre vetvu Xen 4.17 potrvá do 12. júna 2024, a publikovanie opráv zraniteľností do 12. decembra 2025.
Kľúčové zmeny v Xen 4.17:
- Bolo zabezpečené čiastočné dodržanie požiadaviek na vývoj bezpečných a spoľahlivých programov v jazyku C, formulovaných v špecifikáciách MISRA-C, ktoré sa používajú pri tvorbe kritických systémov. V Xen boli oficiálne zavedené 4 smernice a 24 pravidiel MISRA-C (z 143 pravidiel a 16 smerníc), a bola zabezpečená integrácia do procesov budovania statického analyzátora MISRA-C, ktorý kontroluje dodržiavanie požiadaviek špecifikácie.
- Bol poskytnutý nástroj na definovanie statickej konfigurácie Xen pre systémy ARM, ktorá vopred pevne určuje všetky zdroje potrebné na spustenie hostiteľských systémov. Všetky zdroje, ako sú zdieľaná pamäť, kanály na oznámenia o udalostiach a priestor v zásobníku hypervízora, sú prerozdelené už pri štarte hypervízora, a nie pridelené dynamicky, čím sa vylučujú možné zlyhania z nedostatku zdrojov počas prevádzky.
- Pre zabudované systémy založené na architektúre ARM bola implementovaná experimentálna (tech preview) podpora virtualizácie vstupu/výstupu s použitím protokolov VirtIO. Na výmenu dát s virtuálnym zariadením vstupu/výstupu bol využitý transport virtio-mmio, čo umožnilo zabezpečiť kompatibilitu s širokým spektrom zariadení VirtIO. Realizovaná podpora frontend pre Linux, nástrojového vybavenia (libxl/xl), režimu dom0less a backendov spúšťaných v užívateľskom priestore (testované sú backendy virtio-disk, virtio-net, i2c a gpio).
- Zlepšená podpora režimu dom0less, ktorý umožňuje obísť sa bez nasadenia prostredia dom0 pri spúšťaní virtuálních strojů V počiatočnej fáze zavádzania servera bola poskytnutá možnosť definície CPU poolov (CPUPOOL) v tejto fáze (cez zariadenie tree), čo umožňuje používať pooly v konfiguráciách bez dom0, napríklad na priradenie rôznych typov CPU jadier na systémoch ARM založených na architektúre big.LITTLE, kombinujúcich v jednom čipe výkonné, ale energeticky náročné jadrá, a menej výkonné, ale energeticky efektívne jadrá. Navyše, v režime dom0less bola poskytnutá možnosť priradenia front-endu/back-endu paravirtualizácie k hosťujúcim systémom, čo umožňuje zavádzať hosťujúce systémy s potrebnými paravirtualizovanými zariadeniami.
- Na systémoch ARM sú štruktúry paravirtualizácie pamäte (P2M, Physical to Machine) teraz prideľované z pamäťového poolu vytvoreného pri vytváraní domény, čo zvyšuje efektivitu izolácie medzi hosťujúcimi systémami v prípade výskytu porúch súvisiacich s pamäťou.
- Pre systémy ARM bola pridaná ochrana pred zraniteľnosťou Spectre-BHB v mikroarchitektonických štruktúrach procesorov.
- Na systémoch ARM bola poskytnutá možnosť spustiť operačný systém Zephyr v koreňovom prostredí Dom0.
- Bola poskytnutá možnosť samostatnej (out-of-tree) kompilácie hypervízora.
- Na systémoch x86 je zabezpečená podpora veľkých stránok IOMMU (superpage) pre všetky typy hosťujúcich systémov, čo zvyšuje priepustnosť pri prenosoch PCI zariadení. Bola pridaná podpora hostiteľov vybavených až 12 TB RAM. V priebehu zavádzania bola implementovaná možnosť nastaviť parametre cpuid pre dom0. Na správu ochranných opatrení proti útokom na CPU implementovaným na úrovni hypervízora sú navrhnuté parametre VIRT_SSBD a MSR_SPEC_CTRL.
- Samostatne sa vyvíja prenos VirtIO-Grant, ktorý sa od VirtIO-MMIO líši vyššou úrovňou bezpečnosti a možnosťou spúšťania spracovateľov v samostatnej izolovanej doméne pre ovládače. V VirtIO-Grant sa namiesto priameho mapovania pamäte používa translácia fyzických adries hosťujúceho systému na grant-odkazy, čo umožňuje využívať predtým dohodnuté oblasti zdieľanej pamäte na výmenu údajov medzi hosťujúcim systémom a backendom VirtIO, bez poskytnutia backendu práv na mapovanie pamäte. Podpora VirtIO-Grant je už implementovaná v jadre Linuxu, ale zatiaľ nebola zahrnutá do backendov QEMU, virtu-vhost a do nástrojov (libxl/xl).
- Pokračuje rozvoj iniciatívy Hyperlaunch, zameranej na poskytovanie flexibilných nástrojov na prispôsobenie spustenia virtuálnych strojov počas zavádzania systému. V súčasnosti je už pripravený prvý súbor opráv, ktoré umožňujú identifikovať PV domény a prenášať ich obrazy pri zavádzaní hypervízora. Implementované je tiež všetko potrebné na spustenie podobných paravirtualizovaných. domén, vrátane komponentov Xenstore pre PV ovládače. Po prijatí opráv sa začne práca na zapnutí podpory zariadení PVH a HVM, ako aj na implementácii samostatnej domény domB (builder domain), vhodnej na organizáciu meranej zavádzania (measured boot), ktorá potvrdzuje dôveryhodnosť všetkých nahrávaných komponentov.
- Pokračuje práca na vytváraní portu Xen pre architektúru RISC-V.
Zdroj: opennet.ru
