Uscita dell'emulatore QEMU 6.0

È stato rilasciato il progetto QEMU 6.0. Come emulatore, QEMU consente di eseguire programmi compilati per una piattaforma hardware su un sistema con un'architettura completamente diversa, ad esempio, eseguire un'applicazione per ARM su un PC compatibile con x86. In modalità virtualizzazione, le prestazioni del codice eseguito in un ambiente isolato si avvicinano a quelle di un sistema hardware grazie all'esecuzione diretta delle istruzioni sulla CPU e all'uso dell'iperparadigma Xen o del modulo KVM.

Il progetto è stato originariamente creato da Fabrice Bellard con l'obiettivo di consentire l'esecuzione di file eseguibili Linux compilati per la piattaforma x86 su architetture diverse da x86. Nel corso degli anni, è stato aggiunto il supporto per l'emulazione completa di 14 architetture hardware, e il numero di dispositivi hardware emulati ha superato i 400. Per la versione 6.0 sono state apportate oltre 3300 modifiche da 268 sviluppatori.

Miglioramenti chiave aggiunti in QEMU 6.0:

  • L'emulatore dei controller NVMe è stato adeguato alla specifica NVMe 1.4 e dotato di supporto sperimentale per spazi di nomi zonati, I/O multipath e crittografia end-to-end dei dati nel dispositivo di archiviazione.
  • Sono state aggiunte opzioni sperimentali «-machine x-remote» e «-device x-pci-proxy-dev» per esternalizzare l'emulazione dei dispositivi in processi esterni. In questa modalità, al momento viene supportata solo l'emulazione dell'adattatore SCSI lsi53c895.
  • Aggiunta supporto sperimentale per la creazione di snapshot del contenuto della RAM.
  • Aggiunto un modulo FUSE per l'esportazione di dispositivi a blocchi, che consente di montare uno stato di qualsiasi dispositivo a blocchi utilizzato nel sistema ospite. L'esportazione avviene tramite il comando QMP block-export-add o tramite l'opzione «—export» nell'utilità qemu-storage-daemon.
  • Nell'emulatore ARM è stato aggiunto supporto per l'architettura ARMv8.1-M ‘Helium’ e i processori Cortex-M55, oltre a istruzioni avanzate ARMv8.4 TTST, SEL2 e DIT. Aggiunto supporto per le schede ARM mps3-an524 e mps3-an547. Per le schede xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx e sabrelite è stata implementata un'emulazione aggiuntiva dei dispositivi.
  • Per ARM in modalità di emulazione a livello di sistema e di ambiente utente è implementato il supporto per l'estensione ARMv8.5 MTE (MemTag, Memory Tagging Extension), che consente di associare tag a ogni operazione di allocazione della memoria e di organizzare un controllo del puntatore durante l'accesso alla memoria, che deve essere associato al tag corretto. L'estensione può essere utilizzata per prevenire l'exploitation di vulnerabilità causate da accessi a blocchi di memoria già liberati, buffer overflow, accessi prima dell'inizializzazione e utilizzo al di fuori del contesto attuale.
  • Nell'emulatore dell'architettura 68k è stato aggiunto il supporto per un nuovo tipo di macchine emulate "virt", che utilizzano virtio per ottimizzare le prestazioni del dispositivo.
  • Nell'emulatore dell'architettura x86 è stata introdotta la possibilità di applicare la tecnologia AMD SEV-ES (Secure Encrypted Virtualization) per crittografare i registri del processore utilizzati nel sistema guest, rendendo il contenuto dei registri inaccessibile all'ambiente host, a meno che il sistema guest non fornisca esplicitamente l'accesso.
  • Nel generatore di codice classico TCG (Tiny Code Generator), durante l'emulazione dei sistemi x86, è stata implementata la supporto per il meccanismo PKS (Protection Keys Supervisor), utilizzabile per proteggere l'accesso a pagine di memoria privilegiate.
  • Nell'emulatore dell'architettura MIPS è stato aggiunto un nuovo tipo di macchine emulate 'virt' con supporto per i processori cinesi Loongson-3.
  • Nell'emulatore dell'architettura PowerPC per le macchine emulate 'powernv' è stato aggiunto il supporto per i controller BMC esterni. Per le macchine emulate pseries, è stato garantito un avviso di errore durante i tentativi di estrazione a caldo della memoria e della CPU.
  • È stato aggiunto il supporto per l'emulazione dei processori Qualcomm Hexagon con DSP.
  • Nel generatore di codice classico TCG (Tiny Code Generator) è stato implementato il supporto per gli ambienti host macOS su sistemi con il nuovo chip ARM Apple M1.
  • Nell'emulatore RISC-V per le schede Microchip PolarFire è stato implementato il supporto per il QSPI NOR flash.
  • Nell'emulatore Tricore è stato aggiunto il supporto per un nuovo modello di schede TriBoard, che emula il SoC Infineon TC27x.
  • Nell'emulatore ACPI è stata fornita la possibilità di assegnare nomi indipendenti dall'ordine di connessione ai bus PCI agli adattatori di rete nelle macchine guest.
  • In virtiofs è stata aggiunta la supporto per l'opzione FUSE_KILLPRIV_V2 per migliorare le prestazioni dei sistemi guest.
  • In VNC è stata introdotta la supporto per la trasparenza del cursore e per il ridimensionamento della risoluzione dello schermo in virtio-vga, in base alla dimensione della finestra.
  • In QMP (QEMU Machine Protocol) è stata aggiunta la supporto per l'accesso parallelo asincrono durante l'esecuzione di operazioni di backup.
  • Nell'emulatore USB è stata implementata la possibilità di salvare il traffico generato dall'interazione con i dispositivi USB in un file pcap separato per un successivo esame in Wireshark.
  • Sono stati aggiunti nuovi comandi QMP load-snapshot, save-snapshot e delete-snapshot per la gestione degli snapshot qcow2.
  • In virtiofs sono state risolte le vulnerabilità CVE-2020-35517 e CVE-2021-20263. Il primo problema consente l'accesso all'ambiente host dalla macchina guest attraverso la creazione, da parte di un utente privilegiato nella macchina guest, di un file dispositivo speciale in una directory condivisa con l'ambiente host. Il secondo problema è causato da un errore nella gestione degli attributi estesi nell'opzione ‘xattrmap’ e può portare all'ignoranza del ripristino dei diritti di scrittura e all'aumento dei privilegi all'interno della macchina guest.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster