Vydání emulátoru QEMU 6.0

Je představeno vydání projektu QEMU 6.0. Jako emulátor vám QEMU umožňuje spouštět program vytvořený pro jednu hardwarovou platformu na systému se zcela odlišnou architekturou, například spouštět aplikaci ARM na počítači kompatibilním s x86. V režimu virtualizace v QEMU se výkon provádění kódu v izolovaném prostředí blíží hardwarovému systému díky přímému provádění instrukcí na CPU a použití hypervizoru Xen nebo KVM modulu.

Projekt původně vytvořil Fabrice Bellard, aby umožnil spustitelné soubory Linuxu vytvořené pro platformu x86 na architekturách jiných než x86. V průběhu let vývoje byla přidána plná podpora emulace pro 14 hardwarových architektur, počet emulovaných hardwarových zařízení přesáhl 400. V rámci přípravy na verzi 6.0 bylo provedeno více než 3300 změn od 268 vývojářů.

Klíčová vylepšení přidaná v QEMU 6.0:

  • Emulátor řadiče NVMe je uveden do souladu se specifikací NVMe 1.4 a je vybaven experimentální podporou zónovaných jmenných prostorů, vícecestných I/O a end-to-end šifrování dat na disku.
  • Přidány experimentální možnosti „-machine x-remote“ a „-device x-pci-proxy-dev“ pro přesun emulace zařízení na externí procesy. V tomto režimu je aktuálně podporována pouze emulace adaptéru lsi53c895 SCSI.
  • Přidána experimentální podpora pro vytváření snímků obsahu paměti RAM.
  • Přidán modul FUSE pro export blokových zařízení, který vám umožňuje připojit část stavu libovolného blokového zařízení používaného v hostujícím systému. Export se provádí pomocí příkazu QMP block-export-add nebo pomocí volby „--export“ v obslužném programu qemu-storage-daemon.
  • Emulátor ARM přidává podporu pro architekturu ARMv8.1-M 'Helium' a procesory Cortex-M55, stejně jako rozšířené instrukce ARMv8.4 TTST, SEL2 a DIT. Přidána podpora pro ARM desky mps3-an524 a mps3-an547. Další emulace zařízení byla implementována pro desky xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx a sabrelite.
  • Pro ARM byla v emulačních režimech na úrovni systému a uživatelského prostředí implementována podpora pro rozšíření ARMv8.5 MTE (MemTag, Memory Tagging Extension), které vám umožňuje vázat tagy na každou operaci alokace paměti a organizovat kontrolu ukazatele, když přístup k paměti, která musí být spojena se správnou značkou . Rozšíření lze použít k blokování zneužití zranitelností způsobených přístupem k již uvolněným blokům paměti, přetečením vyrovnávací paměti, přístupy před inicializací a použitím mimo aktuální kontext.
  • Emulátor architektury 68k přidal podporu pro nový typ emulovaného stroje „virt“, který využívá zařízení virtio k optimalizaci výkonu.
  • Emulátor x86 přidává možnost využívat technologii AMD SEV-ES (Secure Encrypted Virtualization) k šifrování registrů procesorů používaných v hostujícím systému, čímž se obsah registrů stává nepřístupným hostitelskému prostředí, pokud k nim hostující systém výslovně neudělí přístup.
  • Klasický generátor kódu TCG (Tiny Code Generator) při emulaci x86 systémů implementuje podporu mechanismu PKS (Protection Keys Supervisor), který lze použít k ochraně přístupu k privilegovaným stránkám paměti.
  • Do emulátoru architektury MIPS byl přidán nový typ emulovaných strojů „virt“ s podporou čínských procesorů Loongson-3.
  • V emulátoru architektury PowerPC pro emulované stroje „powernv“ byla přidána podpora pro externí řadiče BMC. U emulovaných počítačů pseries je k dispozici upozornění na selhání při pokusu o odebrání paměti a CPU za provozu.
  • Přidána podpora pro emulaci procesorů Qualcomm Hexagon s DSP.
  • Klasický generátor kódu TCG (Tiny Code Generator) podporuje hostitelská prostředí macOS na systémech s novým čipem Apple M1 ARM.
  • Emulátor architektury RISC-V pro desky Microchip PolarFire podporuje flash QSPI NOR.
  • Emulátor Tricore nyní podporuje nový model desky TriBoard, který emuluje SoC Infineon TC27x.
  • Emulátor ACPI poskytuje možnost přiřazovat jména síťovým adaptérům v hostovaných systémech, která jsou nezávislá na pořadí, ve kterém jsou připojeny ke sběrnici PCI.
  • virtiofs přidal podporu pro možnost FUSE_KILLPRIV_V2 pro zlepšení výkonu hostů.
  • VNC přidalo podporu pro průhlednost kurzoru a podporu pro změnu rozlišení obrazovky ve virtio-vga na základě velikosti okna.
  • QMP (QEMU Machine Protocol) přidal podporu pro asynchronní paralelní přístup při provádění úloh zálohování.
  • Emulátor USB přidal možnost uložit provoz generovaný při práci se zařízeními USB do samostatného souboru pcap pro následnou kontrolu ve Wiresharku.
  • Přidány nové příkazy QMP load-snapshot, save-snapshot a delete-snapshot pro správu snímků qcow2.
  • Chyby zabezpečení CVE-2020-35517 a CVE-2021-20263 byly opraveny ve virtiofech. První problém umožňuje přístup do hostitelského prostředí z hostujícího systému vytvořením speciálního souboru zařízení v hostujícím systému privilegovaným uživatelem v adresáři sdíleném s hostitelským prostředím. Druhý problém je způsoben chybou ve zpracování rozšířených atributů ve volbě 'xattrmap' a může způsobit ignorování oprávnění k zápisu a eskalaci oprávnění v rámci hostujícího systému.

Zdroj: opennet.ru

Přidat komentář