Veröffentlichung des Emulators QEMU 6.0.

Die Veröffentlichung von QEMU 6.0 ist da. Als Emulator ermöglicht QEMU das Ausführen von Programmen, die für eine bestimmte Hardware-Plattform erstellt wurden, auf einem System mit einer ganz anderen Architektur, beispielsweise eine ARM-Anwendung auf einem x86-kompatiblen PC. Im Virtualisierungsmodus erreicht QEMU eine nahezu hardwareähnliche Codeausführungsleistung in einer isolierten Umgebung, da es die CPU-Anweisungen direkt ausführt und dabei den Hypervisor Xen oder das KVM-Modul nutzt.

Ursprünglich wurde das Projekt von Fabrice Bellard ins Leben gerufen, um das Ausführen von für die x86-Plattform kompilierten Linux-Anwendungen auf anderen Architekturen zu ermöglichen. Im Laufe der Jahre wurde die Unterstützung für die vollständige Emulation von 14 Hardwarearchitekturen hinzugefügt, und die Zahl der emulierten Hardwaregeräte überstieg 400. Für die Version 6.0 wurden mehr als 3300 Änderungen von 268 Entwicklern vorgenommen.

Wichtige Verbesserungen in QEMU 6.0:

  • Der Emulator für NVMe-Controller wurde an die NVMe 1.4-Spezifikation angepasst und bietet experimentelle Unterstützung für zonierte Namensräume, Multipath-I/O und durchgängige Datenspeicherung.
  • Experimentelle Optionen «-machine x-remote» und «-device x-pci-proxy-dev» wurden hinzugefügt, um die Emulation von Geräten in externe Prozesse auszulagern. In diesem Modus wird derzeit nur die Emulation des SCSI-Adapters lsi53c895 unterstützt.
  • Eine experimentelle Unterstützung für das Erstellen von Snapshots des RAM-Inhalts wurde hinzugefügt.
  • Ein FUSE-Modul zum Export von Blockgeräten wurde hinzugefügt, das es ermöglicht, den Zustand eines beliebigen Blockgeräts, das im Gastsystem verwendet wird, zu mounten. Der Export erfolgt über den QMP-Befehl block-export-add oder über die Option «—export» in der qemu-storage-daemon-Utility.
  • Der ARM-Emulator unterstützt jetzt die Architektur ARMv8.1-M ‘Helium’ und die Prozessoren Cortex-M55 sowie die erweiterten Instruktionen ARMv8.4 TTST, SEL2 und DIT. Unterstützung für die ARM-Platinen mps3-an524 und mps3-an547 wurde hinzugefügt. Für die Platten xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx und sabrelite wurde zusätzliche Emulation von Geräten implementiert.
  • Für ARM wird in den System- und Benutzerumgebungs-Emulationsmodi die Unterstützung der ARMv8.5 MTE (Memory Tagging Extension) implementiert. Dieses ermöglicht es, Tags an jede Speicherzuweisungsoperation zu binden und bei Speicherzugriffen die Pointer-Überprüfung durchzuführen, die mit dem korrekten Tag verknüpft sein muss. Diese Erweiterung kann eingesetzt werden, um auszunutzen von Schwachstellen zu verhindern, die durch den Zugriff auf bereits freigegebene Speicherblöcke, Pufferüberläufe, Zugriffe vor der Initialisierung und die Nutzung außerhalb des aktuellen Kontexts verursacht werden.
  • Der 68k-Architektur-Emulator hat die Unterstützung für einen neuen Typ von emulierten Maschinen 'virt' hinzugefügt, die zur Leistungsoptimierung das Gerät virtio verwendet.
  • Im x86-Architektur-Emulator wurde die Möglichkeit integriert, die AMD SEV-ES (Secure Encrypted Virtualization) Technologie anzuwenden, um die im Gastbetriebssystem verwendeten CPU-Register zu verschlüsseln. Dadurch wird der Inhalt der Register für die Host-Umgebung unzugänglich, es sei denn, das Gastbetriebssystem gewährt ausdrücklich Zugriff darauf.
  • Im klassischen TCG-Codegenerator (Tiny Code Generator) wurde bei der Emulation von x86-Systemen die Unterstützung für den PKS-Mechanismus (Protection Keys Supervisor) implementiert, der zum Schutz des Zugriffs auf privilegierte Speicherseiten verwendet werden kann.
  • Im MIPS-Architekturemulator wurde ein neuer Typ der emulierten Maschinen „virt“ mit Unterstützung für die chinesischen Loongson-3-Prozessoren hinzugefügt.
  • Im PowerPC-Architektur-Emulator für die emulierten Maschinen „powernv“ wurde die Unterstützung für externe BMC-Controller hinzugefügt. Für die emulierten Maschinen pseries wird eine Benachrichtigung über Fehler beim Versuch eines Hot-Plugging von Speicher und CPU bereitgestellt.
  • Die Unterstützung für die Emulation von Qualcomm Hexagon-Prozessoren mit DSP wurde hinzugefügt.
  • Im klassischen TCG-Codegenerator (Tiny Code Generator) wurde die Unterstützung für macOS-Hostumgebungen auf Systemen mit dem neuen Apple M1 ARM-Chip implementiert.
  • Im RISC-V-Architektur-Emulator für Microchip PolarFire-Plattformen wurde die Unterstützung für QSPI NOR Flash implementiert.
  • Im Tricore-Emulator wurde die Unterstützung für ein neues Modell der TriBoard-Plattform hinzugefügt, das SoC Infineon TC27x emuliert.
  • Im ACPI-Emulator wurde die Möglichkeit hinzugefügt, Netzwerkanpassungen in Gastbetriebssystemen Namen zuzuweisen, die nicht von der Anschlussreihenfolge an den PCI-Bus abhängen.
  • In virtiofs wurde die Unterstützung für die Option FUSE_KILLPRIV_V2 hinzugefügt, um die Leistung von Gastbetriebssystemen zu steigern.
  • In VNC wurde die Unterstützung für die Transparenz des Cursors und das Skalieren der Bildschirmauflösung in virtio-vga hinzugefügt, basierend auf der Fenstergröße.
  • In QMP (QEMU Machine Protocol) wurde die Unterstützung für asynchronen parallelen Zugriff während der Durchführung von Backup-Aufgaben hinzugefügt.
  • Im USB-Emulator wurde die Möglichkeit hinzugefügt, den Datenverkehr, der beim Arbeiten mit USB-Geräten entsteht, in einer separaten pcap-Datei zu speichern, um ihn später in Wireshark zu analysieren.
  • Neue QMP-Befehle load-snapshot, save-snapshot und delete-snapshot wurden hinzugefügt, um Snapshots im qcow2-Format zu verwalten.
  • In virtiofs wurden die Schwachstellen CVE-2020-35517 und CVE-2021-20263 behoben. Das erste Problem erlaubt den Zugriff auf die Host-Umgebung aus dem Gastbetriebssystem durch die Erstellung einer speziellen Gerätedatei durch einen privilegierten Benutzer im Gastbetriebssystem in einem mit der Host-Umgebung gemeinsamen Verzeichnis. Das zweite Problem resultiert aus einem Fehler bei der Verarbeitung von erweiterten Attributen in der Option ‘xattrmap’ und kann dazu führen, dass das Zurücksetzen von Schreibrechten ignoriert wird und die Privilegien im Gastbetriebssystem angehoben werden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster