Po roce vývoje byl vydán nový svobodný hypervisor Xen 4.17. Na vývoji nové verze se podílely společnosti jako Amazon, Arm, Bitdefender, Citrix, EPAM Systems a Xilinx (AMD). Vytváření aktualizací pro větev Xen 4.17 bude pokračovat do 12. června 2024, a publikace oprav zranitelností do 12. prosince 2025.
Klíčové změny v Xen 4.17:
- Bylo zajištěno částečné dodržení požadavků na vývoj bezpečných a spolehlivých programů v jazyce C, formulovaných ve specifikacích MISRA-C, které se používají při vytváření kritických systémů. V Xen bylo oficiálně implementováno 4 směrnic a 24 pravidel MISRA-C (z 143 pravidel a 16 směrnic) a byla zajištěna integrace do vývojových procesů statického analyzátoru MISRA-C, který kontroluje dodržování požadavků specifikace.
- Byla poskytnuta možnost definice statické konfigurace Xen pro systémy ARM, která předem pevně určuje všechny zdroje potřebné pro spuštění virtuálních systémů. Všechny zdroje, jako je sdílená paměť, kanály pro oznámení o událostech a místo v haldě hypervisoru, jsou rozděleny před spuštěním hypervisoru, nikoli dynamicky, což vylučuje možné selhání z důvodu nedostatku zdrojů během provozu.
- Pro vestavěné systémy na bázi architektury ARM byla implementována experimentální (tech preview) podpora virtualizace vstupu/výstupu s využitím protokolů VirtIO. K výměně dat s virtuálním zařízením vstupu/výstupu byl použit přenos virtio-mmio, což umožnilo zajištění kompatibility s širokým spektrem zařízení VirtIO. Byla realizována podpora front-endu pro Linux, nástrojového vybavení (libxl/xl), režimu dom0less a backendů běžících v uživatelském prostoru (byly testovány backendy virtio-disk, virtio-net, i2c a gpio).
- Byla vylepšena podpora režimu dom0less, která umožňuje obejít se bez nasazení prostředí dom0 při spuštění. virtuálních strojů Ve fázi spuštění serveru byla zavedena možnost určení poolů CPU (CPUPOOL) během zavádění (přes strom zařízení), což umožňuje využití poolů v konfiguracích bez dom0, například pro přiřazení různých typů jader CPU na systémech ARM s architekturou big.LITTLE, kombinujících v jednom čipu výkonná, ale energeticky náročná jádra a méně výkonná, ale energeticky efektivní jádra. Kromě toho je v prostředí bez dom0 poskytována možnost přiřazení frontendu/back-endu paravirtualizace k hostitelským systémům, což umožňuje zavádět hostitelské systémy s potřebnými paravirtualizovanými zařízeními.
- Na systémech ARM jsou struktury virtualizace paměti (P2M, Physical to Machine) nyní alokovány z poolu paměti, vytvořeného při vytváření domény, což zvyšuje efektivnost izolace mezi hostitelskými systémy v případě paměťových problémů.
- Pro systémy ARM byla přidána ochrana proti zranitelnosti Spectre-BHB v mikroarchitektonických strukturách procesorů.
- Na systémech ARM byla umožněna možnost spuštění operačního systému Zephyr v kořenovém prostředí Dom0.
- Byla zavedena možnost separátní (out-of-tree) kompilace hypervizora.
- Na systémech x86 byla zajištěna podpora velkých stránek IOMMU (superpage) pro všechny typy hostitelských systémů, což zvyšuje propustnost při předávání PCI zařízení. Byla přidána podpora hostitelů s až 12 TB RAM. V průběhu zavádění byla implementována možnost nastavit parametry cpuid pro dom0. Pro ochranná opatření proti útokům na CPU v hostitelských systémech realizovaných na úrovni hypervizora byly navrženy parametry VIRT_SSBD a MSR_SPEC_CTRL.
- Samostatně se vyvíjí transport VirtIO-Grant, který se od VirtIO-MMIO liší vyšší úrovní bezpečnosti a možností spouštět zpracovatele v separátním izolovaném doméně pro ovladače. V VirtIO-Grant místo přímého mapování paměti se používá translace fyzických adres hostitelského systému na grant-odkazy, což umožňuje používat předem dohodnuté oblasti sdílené paměti pro výměnu dat mezi hostitelským systémem a backendem VirtIO, aniž by se backendu poskytly práva na provádění mapování paměti. Podpora VirtIO-Grant byla již implementována v jádru Linux, ale zatím není zahrnuta do backendů QEMU, v virtio-vhost a v nástrojích (libxl/xl).
- Pokračuje rozvoj iniciativy Hyperlaunch, která je zaměřena na poskytování flexibilních nástrojů pro konfiguraci spuštění virtuálních strojů během zavádění systému. V současné době je již k dispozici první sada patchů, které umožňují určovat PV domény a přenášet jejich obrazy během zavádění hypervizoru. Bylo také realizováno vše potřebné pro spuštění podobně paravirtualizovaných. domén., včetně komponentů Xenstore pro PV ovladače. Po přijetí patchů začne práce na zařazení podpory zařízení PVH a HVM, stejně jako implementace samostatné domény domB (builder domain), vhodné pro organizaci měřené zavádění (measured boot), které potvrzuje pravdivost všech zaváděných komponentů.
- Pokračuje práce na vytvoření portu Xen pro architekturu RISC-V.
Zdroj: opennet.ru
