انتشار شبیه ساز QEMU 6.0

انتشار پروژه QEMU 6.0 ارائه شده است. به عنوان یک شبیه ساز، QEMU به شما این امکان را می دهد که برنامه ای را که برای یک پلتفرم سخت افزاری کامپایل شده روی سیستمی با معماری کاملاً متفاوت اجرا کنید، به عنوان مثال، یک برنامه ARM را روی رایانه شخصی سازگار با x86 اجرا کنید. در حالت مجازی سازی در QEMU، عملکرد اجرای کد در محیط ایزوله به دلیل اجرای مستقیم دستورالعمل ها بر روی CPU و استفاده از هایپروایزر Xen یا ماژول KVM، نزدیک به سیستم سخت افزاری است.

این پروژه در ابتدا توسط Fabrice Bellard ایجاد شد تا به فایل‌های اجرایی لینوکس که برای پلتفرم x86 ساخته شده‌اند اجازه دهند روی معماری‌های غیرx86 اجرا شوند. در طول سال های توسعه، پشتیبانی کامل شبیه سازی برای 14 معماری سخت افزاری اضافه شده است، تعداد دستگاه های سخت افزاری شبیه سازی شده از 400 فراتر رفته است. در آماده سازی برای نسخه 6.0، بیش از 3300 تغییر از 268 توسعه دهنده انجام شده است.

بهبودهای کلیدی اضافه شده در QEMU 6.0:

  • شبیه ساز کنترلر NVMe با مشخصات NVMe 1.4 مطابقت دارد و مجهز به پشتیبانی آزمایشی از فضاهای نام منطقه بندی شده، ورودی/خروجی چند مسیره و رمزگذاری داده های انتها به انتها در درایو است.
  • گزینه های آزمایشی "-machine x-remote" و "-device x-pci-proxy-dev" برای انتقال شبیه سازی دستگاه به فرآیندهای خارجی اضافه شده است. در این حالت، در حال حاضر فقط شبیه سازی آداپتور SCSI lsi53c895 پشتیبانی می شود.
  • اضافه شدن پشتیبانی آزمایشی برای ایجاد عکس های فوری از محتویات RAM.
  • یک ماژول FUSE برای صادرات دستگاه‌های بلوک اضافه شده است که به شما امکان می‌دهد تکه‌ای از وضعیت هر دستگاه بلوکی مورد استفاده در سیستم مهمان را نصب کنید. صادرات از طریق دستور QMP block-export-add یا از طریق گزینه "--export" در ابزار qemu-storage-daemon انجام می شود.
  • شبیه ساز ARM پشتیبانی از معماری ARMv8.1-M 'Helium' و پردازنده های Cortex-M55، و همچنین دستورالعمل های توسعه یافته TTST، SEL8.4 و DIT ARMv2 را اضافه می کند. پشتیبانی از بردهای ARM mps3-an524 و mps3-an547 نیز اضافه شده است. شبیه سازی دستگاه اضافی برای بردهای xlnx-zynqmp، xlnx-versal، sbsa-ref، npcm7xx و sabrelite پیاده سازی شده است.
  • برای ARM، در حالت‌های شبیه‌سازی در سطوح سیستم و محیط کاربر، پشتیبانی از پسوند ARMv8.5 MTE (MemTag، Memory Tagging Extension) پیاده‌سازی شده است که به شما امکان می‌دهد برچسب‌ها را به هر عملیات تخصیص حافظه متصل کنید و زمانی که یک بررسی اشاره‌گر را سازماندهی کنید. دسترسی به حافظه، که باید با برچسب صحیح مرتبط باشد. این برنامه افزودنی می تواند برای جلوگیری از بهره برداری از آسیب پذیری های ناشی از دسترسی به بلوک های حافظه آزاد شده، سرریزهای بافر، دسترسی های قبل از مقداردهی اولیه و استفاده در خارج از زمینه فعلی استفاده شود.
  • شبیه ساز معماری 68k پشتیبانی از نوع جدیدی از ماشین شبیه سازی شده "virt" را اضافه کرده است که از دستگاه های virtio برای بهینه سازی عملکرد استفاده می کند.
  • شبیه‌ساز x86 توانایی استفاده از فناوری AMD SEV-ES (مجازی‌سازی رمزگذاری شده امن) را برای رمزگذاری رجیسترهای پردازشگر مورد استفاده در سیستم مهمان اضافه می‌کند و محتوای رجیسترها را برای محیط میزبان غیرقابل دسترس می‌سازد، مگر اینکه سیستم مهمان به صراحت به آنها دسترسی داشته باشد.
  • مولد کد کلاسیک TCG (Tiny Code Generator)، هنگام شبیه سازی سیستم های x86، از مکانیزم PKS (سرپرست کلیدهای حفاظتی) پشتیبانی می کند، که می تواند برای محافظت از دسترسی به صفحات حافظه ممتاز استفاده شود.
  • نوع جدیدی از ماشین های شبیه سازی شده "virt" با پشتیبانی از پردازنده های چینی Loongson-3 به شبیه ساز معماری MIPS اضافه شده است.
  • در شبیه ساز معماری PowerPC برای ماشین های شبیه سازی شده "powernv"، پشتیبانی از کنترل کننده های خارجی BMC اضافه شده است. برای ماشین‌های pseries شبیه‌سازی‌شده، اعلان خرابی هنگام تلاش برای حذف حافظه و CPU ارائه می‌شود.
  • پشتیبانی از شبیه سازی پردازنده های Qualcomm Hexagon با DSP اضافه شده است.
  • مولد کد کلاسیک TCG (Tiny Code Generator) از محیط های میزبان macOS در سیستم هایی با تراشه جدید Apple M1 ARM پشتیبانی می کند.
  • شبیه ساز معماری RISC-V برای بردهای Microchip PolarFire از فلش QSPI NOR پشتیبانی می کند.
  • شبیه ساز Tricore اکنون از مدل جدید برد TriBoard که از SoC Infineon TC27x شبیه سازی می کند، پشتیبانی می کند.
  • شبیه ساز ACPI امکان اختصاص نام به آداپتورهای شبکه در سیستم های مهمان را فراهم می کند که مستقل از ترتیب اتصال آنها به گذرگاه PCI است.
  • virtiofs پشتیبانی از گزینه FUSE_KILLPRIV_V2 را برای بهبود عملکرد مهمان اضافه کرده است.
  • VNC پشتیبانی از شفافیت مکان نما و پشتیبانی از مقیاس بندی وضوح صفحه در virtio-vga، بر اساس اندازه پنجره را اضافه کرده است.
  • QMP (پروتکل ماشین QEMU) پشتیبانی از دسترسی موازی ناهمزمان را هنگام انجام کارهای پشتیبان اضافه کرده است.
  • شبیه ساز USB توانایی ذخیره ترافیک ایجاد شده هنگام کار با دستگاه های USB را به یک فایل pcap جداگانه برای بازرسی بعدی در Wireshark اضافه کرده است.
  • دستورات QMP جدید load-snapshot، save-snapshot و delete-snapshot برای مدیریت عکس های فوری qcow2 اضافه شده است.
  • آسیب‌پذیری‌های CVE-2020-35517 و CVE-2021-20263 در نسخه‌های مختلف برطرف شده‌اند. اولین مشکل امکان دسترسی به محیط میزبان را از سیستم مهمان با ایجاد یک فایل دستگاه های ویژه در سیستم مهمان توسط یک کاربر ممتاز در یک فهرست مشترک با محیط میزبان فراهم می کند. مشکل دوم ناشی از یک اشکال در مدیریت ویژگی های توسعه یافته در گزینه 'xattrmap' است و می تواند باعث نادیده گرفتن مجوزهای نوشتن و افزایش امتیاز در سیستم مهمان شود.

منبع: opennet.ru

اضافه کردن نظر