Rilis emulator QEMU 6.0

Rilis proyek QEMU 6.0 disajikan. Sebagai emulator, QEMU memungkinkan Anda menjalankan program yang dibuat untuk satu platform perangkat keras pada sistem dengan arsitektur yang sama sekali berbeda, misalnya, menjalankan aplikasi ARM pada PC yang kompatibel dengan x86. Dalam mode virtualisasi di QEMU, kinerja eksekusi kode di lingkungan yang terisolasi mirip dengan sistem perangkat keras karena eksekusi langsung instruksi pada CPU dan penggunaan modul Xen hypervisor atau KVM.

Proyek ini awalnya dibuat oleh Fabrice Bellard untuk memungkinkan executable Linux yang dibuat untuk platform x86 agar berjalan pada arsitektur non-x86. Selama bertahun-tahun pengembangan, dukungan emulasi penuh telah ditambahkan untuk 14 arsitektur perangkat keras, jumlah perangkat keras yang ditiru telah melebihi 400. Dalam persiapan untuk versi 6.0, lebih dari 3300 perubahan telah dilakukan dari 268 pengembang.

Perbaikan utama ditambahkan di QEMU 6.0:

  • Emulator pengontrol NVMe disesuaikan dengan spesifikasi NVMe 1.4 dan dilengkapi dengan dukungan eksperimental untuk namespace yang dikategorikan, I/O multipath, dan enkripsi data ujung ke ujung pada drive.
  • Menambahkan opsi eksperimental “-machine x-remote” dan “-device x-pci-proxy-dev” untuk memindahkan emulasi perangkat ke proses eksternal. Dalam mode ini, saat ini hanya emulasi adaptor lsi53c895 SCSI yang didukung.
  • Menambahkan dukungan eksperimental untuk membuat snapshot konten RAM.
  • Menambahkan modul FUSE untuk mengekspor perangkat blok, memungkinkan Anda memasang bagian status perangkat blok apa pun yang digunakan dalam sistem tamu. Ekspor dilakukan melalui perintah QMP block-export-add atau melalui opsi “--export” di utilitas qemu-storage-daemon.
  • Emulator ARM telah menambahkan dukungan untuk arsitektur ARMv8.1-M 'Helium' dan prosesor Cortex-M55, serta instruksi ARMv8.4 TTST, SEL2 dan DIT yang diperluas. Menambahkan dukungan untuk papan ARM mps3-an524 dan mps3-an547 juga. Emulasi perangkat tambahan telah diterapkan untuk papan xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx dan sabrelite.
  • Untuk ARM, dalam mode emulasi di tingkat sistem dan lingkungan pengguna, dukungan untuk ekstensi ARMv8.5 MTE (MemTag, Memory Tagging Extension) telah diterapkan, yang memungkinkan Anda untuk mengikat tag ke setiap operasi alokasi memori dan mengatur pemeriksaan pointer ketika mengakses memori, yang harus dikaitkan dengan tag yang benar. Ekstensi ini dapat digunakan untuk memblokir eksploitasi kerentanan yang disebabkan oleh pengaksesan blok memori yang sudah dibebaskan, buffer overflows, akses sebelum inisialisasi, dan penggunaan di luar konteks saat ini.
  • Emulator arsitektur 68k telah menambahkan dukungan untuk jenis mesin emulasi baru “virt”, yang menggunakan perangkat virtio untuk mengoptimalkan kinerja.
  • Emulator x86 menambahkan kemampuan untuk menggunakan teknologi AMD SEV-ES (Secure Encrypted Virtualization) untuk mengenkripsi register prosesor yang digunakan dalam sistem tamu, membuat konten register tidak dapat diakses oleh lingkungan host kecuali sistem tamu secara eksplisit memberikan akses ke register tersebut.
  • Generator kode TCG (Tiny Code Generator) klasik, ketika meniru sistem x86, mengimplementasikan dukungan untuk mekanisme PKS (Protection Keys Supervisor), yang dapat digunakan untuk melindungi akses ke halaman memori yang memiliki hak istimewa.
  • Jenis baru mesin emulasi “virt” telah ditambahkan ke emulator arsitektur MIPS dengan dukungan untuk prosesor China Loongson-3.
  • Dalam emulator arsitektur PowerPC untuk mesin emulasi “powernv”, dukungan untuk pengontrol BMC eksternal telah ditambahkan. Untuk mesin pseries yang ditiru, pemberitahuan kegagalan saat mencoba menghilangkan memori dan CPU secara panas disediakan.
  • Menambahkan dukungan untuk meniru prosesor Qualcomm Hexagon dengan DSP.
  • Generator kode TCG (Tiny Code Generator) klasik mendukung lingkungan host macOS pada sistem dengan chip Apple M1 ARM baru.
  • Emulator arsitektur RISC-V untuk papan Microchip PolarFire mendukung flash QSPI NOR.
  • Emulator Tricore kini mendukung model papan TriBoard baru, yang mengemulasi SoC Infineon TC27x.
  • Emulator ACPI menyediakan kemampuan untuk menetapkan nama ke adaptor jaringan di sistem tamu yang tidak tergantung pada urutan koneksinya ke bus PCI.
  • virtiofs telah menambahkan dukungan untuk opsi FUSE_KILLPRIV_V2 untuk meningkatkan kinerja tamu.
  • VNC telah menambahkan dukungan untuk transparansi kursor dan dukungan untuk menskalakan resolusi layar di virtio-vga, berdasarkan ukuran jendela.
  • QMP (QEMU Machine Protocol) telah menambahkan dukungan untuk akses paralel asinkron saat melakukan tugas pencadangan.
  • Emulator USB telah menambahkan kemampuan untuk menyimpan lalu lintas yang dihasilkan saat bekerja dengan perangkat USB ke dalam file pcap terpisah untuk pemeriksaan selanjutnya di Wireshark.
  • Menambahkan perintah QMP baru memuat-snapshot, menyimpan-snapshot dan menghapus-snapshot untuk mengelola snapshot qcow2.
  • Kerentanan CVE-2020-35517 dan CVE-2021-20263 telah diperbaiki secara baik. Masalah pertama memungkinkan akses ke lingkungan host dari sistem tamu dengan membuat file perangkat khusus di sistem tamu oleh pengguna yang memiliki hak istimewa di direktori yang dibagikan dengan lingkungan host. Masalah kedua disebabkan oleh bug dalam penanganan atribut yang diperluas pada opsi 'xattrmap' dan dapat menyebabkan izin menulis diabaikan dan peningkatan hak istimewa dalam sistem tamu.

Sumber: opennet.ru

Tambah komentar