Llançament de l'emulador QEMU 6.0

S'ha presentat el llançament del projecte QEMU 6.0. Com a emulador, QEMU us permet executar un programa compilat per a una plataforma de maquinari en un sistema amb una arquitectura completament diferent, per exemple, executar una aplicació ARM en un PC compatible amb x86. En el mode de virtualització a QEMU, el rendiment de l'execució de codi en un entorn aïllat és proper al d'un sistema de maquinari a causa de l'execució directa d'instruccions a la CPU i l'ús de l'hipervisor Xen o mòdul KVM.

El projecte va ser creat originalment per Fabrice Bellard per oferir la possibilitat d'executar executables Linux compilats per a la plataforma x86 en arquitectures que no són x86. Al llarg dels anys de desenvolupament, es va afegir suport per a l'emulació completa per a 14 arquitectures de maquinari, el nombre de dispositius de maquinari emulats va superar els 400. En preparar la versió 6.0, es van fer més de 3300 canvis de 268 desenvolupadors.

Millores clau afegides a QEMU 6.0:

  • L'emulador del controlador NVMe compleix amb l'especificació NVMe 1.4 i està equipat amb suport experimental per a espais de noms zonats, E/S de múltiples camins i xifratge de dades d'extrem a extrem a la unitat.
  • S'han afegit opcions experimentals "-machine x-remote" i "-device x-pci-proxy-dev" per moure l'emulació del dispositiu a processos externs. En aquest mode, actualment només s'admet l'emulació de l'adaptador SCSI lsi53c895.
  • S'ha afegit suport experimental per crear instantànies de contingut RAM.
  • S'ha afegit un mòdul FUSE per exportar dispositius de bloc, que us permet muntar una part de l'estat de qualsevol dispositiu de bloc utilitzat al sistema convidat. L'exportació es realitza mitjançant l'ordre QMP block-export-add o mitjançant l'opció "--export" de la utilitat qemu-storage-daemon.
  • L'emulador ARM afegeix suport per a l'arquitectura ARMv8.1-M 'Helium' i els processadors Cortex-M55, així com les instruccions ampliades ARMv8.4 TTST, SEL2 i DIT. També s'ha afegit suport per a les plaques ARM mps3-an524 i mps3-an547. S'ha implementat una emulació de dispositiu addicional per a taulers xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx i sabrelite.
  • Per a ARM, en els modes d'emulació a nivell de sistema i entorn d'usuari, s'ha implementat el suport per a l'extensió ARMv8.5 MTE (MemTag, Memory Tagging Extension), que us permet vincular etiquetes a cada operació d'assignació de memòria i organitzar una comprovació del punter quan accedint a la memòria, que ha d'estar associada amb l'etiqueta correcta . L'extensió es pot utilitzar per bloquejar l'explotació de vulnerabilitats causades per l'accés a blocs de memòria ja alliberats, desbordaments de memòria intermèdia, accessos abans de la inicialització i ús fora del context actual.
  • L'emulador d'arquitectura 68k ha afegit suport per a un nou tipus de màquina emulada "virt", que utilitza dispositius virtio per optimitzar el rendiment.
  • L'emulador x86 afegeix la possibilitat d'utilitzar la tecnologia AMD SEV-ES (Secure Encrypted Virtualization) per xifrar els registres del processador utilitzats al sistema convidat, fent que els continguts dels registres siguin inaccessibles per a l'entorn amfitrió tret que el sistema convidat hi concedeixi accés explícitament.
  • El clàssic generador de codi TCG (Tiny Code Generator), quan emula sistemes x86, implementa suport per al mecanisme PKS (Protection Keys Supervisor), que es pot utilitzar per protegir l'accés a pàgines de memòria privilegiades.
  • S'ha afegit un nou tipus de màquines emulades "virt" a l'emulador d'arquitectura MIPS amb suport per als processadors xinesos Loongson-3.
  • A l'emulador d'arquitectura PowerPC per a màquines emulades "powernv", s'ha afegit suport per a controladors BMC externs. Per a les màquines pseries emulades, es proporciona una notificació d'errors quan s'intenta eliminar la memòria i la CPU en calent.
  • S'ha afegit suport per emular processadors Qualcomm Hexagon amb DSP.
  • El clàssic generador de codi TCG (Tiny Code Generator) admet entorns host macOS en sistemes amb el nou xip Apple M1 ARM.
  • L'emulador d'arquitectura RISC-V per a plaques Microchip PolarFire admet QSPI NOR flash.
  • L'emulador Tricore ara admet el nou model de placa TriBoard, que emula el SoC Infineon TC27x.
  • L'emulador ACPI ofereix la possibilitat d'assignar noms als adaptadors de xarxa en sistemes convidats que són independents de l'ordre en què estan connectats al bus PCI.
  • virtiofs ha afegit suport per a l'opció FUSE_KILLPRIV_V2 per millorar el rendiment dels convidats.
  • VNC ha afegit suport per a la transparència del cursor i suport per escalar la resolució de la pantalla en virtio-vga, en funció de la mida de la finestra.
  • QMP (QEMU Machine Protocol) ha afegit suport per a l'accés paral·lel asíncron quan es realitzen tasques de còpia de seguretat.
  • L'emulador USB ha afegit la possibilitat d'estalviar el trànsit generat quan es treballa amb dispositius USB en un fitxer pcap separat per a la seva inspecció posterior a Wireshark.
  • S'han afegit noves ordres QMP load-snapshot, save-snapshot i delete-snapshot per gestionar les instantànies qcow2.
  • Les vulnerabilitats CVE-2020-35517 i CVE-2021-20263 s'han corregit en virtuts. El primer problema permet l'accés a l'entorn amfitrió des del sistema convidat mitjançant la creació d'un fitxer de dispositius especials al sistema convidat per un usuari privilegiat en un directori compartit amb l'entorn amfitrió. El segon problema és causat per un error en el maneig d'atributs ampliats a l'opció 'xattrmap' i pot provocar que s'ignorin els permisos d'escriptura i l'escalada de privilegis dins del sistema convidat.

Font: opennet.ru

Afegeix comentari