Запуск новая версия проекта QEMU 6.0 в который было внесено более 3300 изменений от 268 разработчиков, изменения включают улучшения драйверов, поддержку новых платформ и экспериментальные опции.
Тем, кто не знаком с QEMU, следует знать, что это программное обеспечение, которое позволяет запускать скомпилированную программу для аппаратной платформы в системе с совершенно другой архитектурой, например, для запуска приложения ARM на x86-совместимом ПК.
В режиме виртуализации в QEMU производительность выполнения кода в среде песочницы приближается к аппаратной системе за счет прямого выполнения инструкций на процессоре и использования гипервизора Xen или модуля KVM.
Основные нововведения QEMU 6.0
В этой новой версии Qemu 6.0 Эмулятор драйвера NVMe теперь соответствует спецификации NVMe 1.4. и включает экспериментальную поддержку зонированных пространств имен, многопутевого ввода-вывода и сквозного шифрования хранилища.
Эмулятор ARM добавляет поддержку архитектуры ARMv8.1-M 'Helium' и процессоры Cortex-M55, а также расширенные инструкции ARMv8.4 TTST, SEL2 и DIT. Также была добавлена поддержка плат ARM mps3-an524 и mps3-an547. Дополнительная эмуляция устройств реализована для плат xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx и sabrelite.
Для ARM в пользовательской среде и режимах эмуляции системного уровня, Реализована поддержка расширения ARMv8.5 MTE. (MemTag, расширение тегов памяти), который позволяет связывать теги с каждой операцией отображения памяти и организовывать проверку указателя при доступе к памяти, которая должна быть связана с правильным тегом. Расширение может использоваться для блокировки эксплуатации уязвимостей, вызванных доступом к уже освобожденным блокам памяти, переполнением буфера, вызовами предварительной инициализации и использованием вне текущего контекста.
Эмулятор 68k добавляет поддержку нового типа эмулируемой машины "virt". использование устройств virtio для оптимизации производительности, в то время как эмулятор архитектуры x86 добавляет возможность использования технологии AMD SEV-ES (безопасная зашифрованная виртуализация) для шифрования регистров процессора, используемых в гостевой системе, делая содержимое регистров недоступным для среды хоста, если гостевая система не предоставляет доступ к ним явным образом.
Также в Qemu 6.0 добавлены экспериментальные опции «-Machine x-remote» и «-device x-pci-proxy-dev» для переноса эмуляции устройства во внешние процессы. В этом режиме в настоящее время поддерживается только эмуляция адаптера lsi53c895 SCSI.
Так же как новый модуль FUSE для экспорта блочных устройств, позволяя монтировать часть состояния любого блочного устройства, используемого в гостевой системе. Экспорт выполняется с помощью команды QMP block-export-add или с помощью параметра «–export» в утилите qemu-storage-daemon.
С другой стороны, упоминается, что Virtualofs устраняет уязвимости:
- CVE-2020-35517 - разрешает доступ к среде хоста из гостевой системы путем создания специального файла устройства в гостевой системе привилегированным пользователем в каталоге, совместно используемом со средой хоста.
- CVE-2021-20263 - вызвано ошибкой при обработке расширенных атрибутов в опции «xattrmap» и может привести к игнорированию разрешений на запись и повышения привилегий в гостевой системе.
Из других изменений, которые выделяются в этой новой версии:
- Добавлена экспериментальная поддержка для создания снимков содержимого RAM.
- Добавлена поддержка эмуляции процессоров Qualcomm Hexagon с DSP.
- Классический генератор кода TCG (Tiny Code Generator) совместим с хост-средой macOS в системах с новым чипом Apple M1 ARM.
- Эмулятор RISC-V для плат Microchip PolarFire поддерживает QSPI NOR flash.
- Эмулятор Tricore теперь поддерживает новую модель плат TriBoard, которая эмулирует Infineon TC27x SoC.
- Эмулятор ACPI предлагает возможность присваивать имена сетевым адаптерам в гостевых системах независимо от порядка подключения к шине PCI.
- Virtiofs добавляет поддержку опции FUSE_KILLPRIV_V2 для повышения производительности гостевой системы.
- VNC добавляет поддержку прозрачности курсора и поддержку масштабирования разрешения экрана в virtio-vga в зависимости от размера окна.
- QMP (QEMU Machine Protocol) добавляет поддержку асинхронного параллельного доступа при выполнении задач резервного копирования.
- Эмулятор USB добавил возможность сохранять трафик, генерируемый при работе с USB-устройствами, в отдельном файле pcap для последующей проверки в Wireshark.
- Новые команды QMP load-snapshot, save-snapshot и delete-snapshot были добавлены для управления снимками qcow2.
Наконец, если вы хотите узнать об этом больше, вы можете проверить подробности По следующей ссылке.